Zum Inhalt springen

„Unobtrusive JavaScript“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Änderung 103782202 von Gorlingor wurde rückgängig gemacht. Keine Verbesserung.
K catfix
 
(18 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Unobtrusive JavaScript''' (wörtl. ''unaufdringliches JavaScript'', auch: ''[[Barrierefreiheit|barrierefreies]] JavaScript'') ist ein Konzept für eine zeitgemäße Verwendung von [[JavaScript]] in [[Webseite]]n. Javascript soll demnach eine Erweiterung des Funktionsumfangs bieten anstatt einer Voraussetzung. Das Konzept gewinnt insbesondere in Verbindung mit dem [[Barrierefreies Internet|barrierefreien]] und [[mobiles Internet|mobilen Internet]] zunehmend an Bedeutung.
'''Unobtrusive JavaScript''' (wörtl. ''unaufdringliches JavaScript'', auch: ''[[Barrierefreiheit|barrierefreies]] JavaScript'') ist eine bestimmten Prinzipien verpflichtete Form, wie [[JavaScript]] in [[Webseite]]n eingesetzt wird. Eine einheitliche Definition des Begriffs gibt es nicht und es handelt sich insbesondere nicht um eine offizielle Norm.

JavaScript soll demnach nicht Voraussetzung für die Funktionen einer Webseite sein, sondern den Funktionsumfang nur erweitern. Die Ansätze des ''unobtrusive JavaScript'' spielen vor allem für [[Barrierefreies Internet|barrierefreies]] und [[mobiles Internet]] eine Rolle.


== Grundprinzipien ==
== Grundprinzipien ==
* Abgrenzung von Inhalt, Verhalten und Präsentation von Webseiten ([[Model View Controller]])<ref>{{cite web
* Abgrenzung von Inhalt, Präsentation und Verhalten von Webseiten ''([[Model View Controller]])''<ref>{{cite web
|last=Keith
|last=Keith
|first=Jeremy
|first=Jeremy
Zeile 8: Zeile 10:
|date=2006-06-20
|date=2006-06-20
|url=http://www.alistapart.com/articles/behavioralseparation
|url=http://www.alistapart.com/articles/behavioralseparation
| accessdate=2011-03-06
|accessdate=2011-03-06
}}</ref>
}}</ref>
* Verwendung von ''[[Best Practice]]s'', um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden
* Verwendung von ''[[Best Practice]]s,'' um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden
* JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung<ref>{{cite web
* JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung<ref>{{cite web
|last=Olsson
|last=Olsson
Zeile 21: Zeile 23:


== Motivation ==
== Motivation ==
Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des [[Document Object Model|DOM]] in unterschiedlichen Browsern, sowie die weitläufige Verwendung [[Copy Paste|Copy-Paste]]-Quelltexts zurückzuführen. [[Laufzeitfehler]] waren dermaßen üblich und schwer auszubessern, dass viele Programmierer auf Verbesserungen verzichteten, solange das Skript ungefähr das gewünschte Verhalten aufwies. In manchen Browsern war ein solches Skript gänzlich nicht lauffähig.


Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des [[Document Object Model|DOM]] in unterschiedlichen Browsern, sowie die weitläufige Verwendung von [[Kopieren und Einfügen|Copy-&-Paste]] bei der Programmentwicklung zurückzuführen. [[Laufzeitfehler]] waren dermaßen üblich und schwer auszubessern, dass viele Programmierer auf Verbesserungen verzichteten, solange das Skript ungefähr das gewünschte Verhalten aufwies. In manchen Browsern war ein solches Skript gänzlich nicht lauffähig.
Das Aufkommen von Standard-kompatiblen Browsern, [[JavaScript#JavaScript-Bibliotheken|JavaScript-Bibliotheken]] und besserer [[Debugger|Debugging-Werkzeugen]] machte organisierten und skalierbaren JavaScript-Code möglich und [[AJAX]]-basierte Benutzeroberflächen machten dies sogar notwendig.


Das Aufkommen von standardkompatiblen Browsern, [[JavaScript#JavaScript-Bibliotheken|JavaScript-Bibliotheken]] und besseren [[Debugger|Debugging-Werkzeugen]] machte organisierten und skalierbaren JavaScript-Code möglich und [[Ajax (Programmierung)|Ajax]]-basierte Benutzeroberflächen machten dies sogar notwendig.
Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. [[Laufzeitfehler]] sind damit keine Unschönheiten, sondern (u.&nbsp;U. fatale) Ausfälle.

Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. Laufzeitfehler sind damit keine Unschönheiten, sondern (unter Umständen fatale) Ausfälle.


Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel ''Unobtrusive DHTML, and the power of unordered lists''<ref>{{cite web
Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel ''Unobtrusive DHTML, and the power of unordered lists''<ref>{{cite web
Zeile 31: Zeile 34:
|title=Unobtrusive DHTML, and the power of unordered lists
|title=Unobtrusive DHTML, and the power of unordered lists
|last=Langridge
|last=Langridge
|first=Stuart
|first=Stuart
|date=2002-11
|date=2002-11
|accessdate=2008-08-07
|accessdate=2008-08-07
Zeile 42: Zeile 45:


== Weblinks ==
== Weblinks ==
* [https://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScript The principles of unobtrusive JavaScript (EN)] auf den Seiten des [[World Wide Web Consortium]]
*[http://ichwill.net/ Barrierefreies JavaScript]
*[http://aktuell.de.selfhtml.org/weblog/javascript-einsatz Der sinnvolle Einsatz von JavaScript] (Artikel auf SelfHTML.org)


== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />


[[Kategorie:ECMAScript]]
[[Kategorie:JavaScript]]

[[ar:جافا سكريبت المخفية]]
[[en:Unobtrusive JavaScript]]
[[es:JavaScript no obstructivo]]
[[fa:جاوااسکریپت محجوب]]
[[fr:Javascript discret]]
[[ru:Ненавязчивый JavaScript]]
[[zh:Unobtrusive JavaScript]]

Aktuelle Version vom 11. Mai 2025, 19:58 Uhr

Unobtrusive JavaScript (wörtl. unaufdringliches JavaScript, auch: barrierefreies JavaScript) ist eine bestimmten Prinzipien verpflichtete Form, wie JavaScript in Webseiten eingesetzt wird. Eine einheitliche Definition des Begriffs gibt es nicht und es handelt sich insbesondere nicht um eine offizielle Norm.

JavaScript soll demnach nicht Voraussetzung für die Funktionen einer Webseite sein, sondern den Funktionsumfang nur erweitern. Die Ansätze des unobtrusive JavaScript spielen vor allem für barrierefreies und mobiles Internet eine Rolle.

Grundprinzipien

[Bearbeiten | Quelltext bearbeiten]
  • Abgrenzung von Inhalt, Präsentation und Verhalten von Webseiten (Model View Controller)[1]
  • Verwendung von Best Practices, um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden
  • JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung[2]

Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des DOM in unterschiedlichen Browsern, sowie die weitläufige Verwendung von Copy-&-Paste bei der Programmentwicklung zurückzuführen. Laufzeitfehler waren dermaßen üblich und schwer auszubessern, dass viele Programmierer auf Verbesserungen verzichteten, solange das Skript ungefähr das gewünschte Verhalten aufwies. In manchen Browsern war ein solches Skript gänzlich nicht lauffähig.

Das Aufkommen von standardkompatiblen Browsern, JavaScript-Bibliotheken und besseren Debugging-Werkzeugen machte organisierten und skalierbaren JavaScript-Code möglich und Ajax-basierte Benutzeroberflächen machten dies sogar notwendig.

Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. Laufzeitfehler sind damit keine Unschönheiten, sondern (unter Umständen fatale) Ausfälle.

Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel Unobtrusive DHTML, and the power of unordered lists[3] von Stuart Langridge[4] geprägt. In diesem Artikel erörtert Langridge das Konzept, JavaScript strikt von HTML zu trennen. Seitdem hat er dieses Konzept in diversen Artikeln und einem Buch ausführlich dargestellt.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Jeremy Keith: Behavioral Separation. 20. Juni 2006, abgerufen am 6. März 2011.
  2. Tommy Olsson: Graceful Degradation & Progressive Enhancement. 6. Februar 2007, abgerufen am 6. März 2011.
  3. Stuart Langridge: Unobtrusive DHTML, and the power of unordered lists. November 2002, abgerufen am 7. August 2008.
  4. Building dynamic websites. 9. August 2006, abgerufen am 18. Mai 2010.