Unobtrusive JavaScript

Programmiersprache

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
  • 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]

Motivation

Bearbeiten

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.

Bearbeiten

Einzelnachweise

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.