Unobtrusive JavaScript

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. August 2011 um 16:56 Uhr durch Saibo (Diskussion | Beiträge) (typo Javascript → JavaScript). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Unobtrusive JavaScript (wörtl. unaufdringliches JavaScript, auch: barrierefreies JavaScript) ist ein Konzept für eine zeitgemäße Verwendung von JavaScript in Webseiten.

Grundprinzipien

  • Aufteilung von Inhalt, Verhalten und Präsentation von Webseiten (Model View Controller)[1]
  • Verwendung von Best Practices, um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden (unterschiedliche Anzeige in verschiedenen Webbrowsern, fehlende Skalierbarkeit)
  • JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung[2]

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 DOM in unterschiedlichen Browsern, sowie die weitläufige Verwendung von Copy Paste-Quelltext 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-Bibliotheken und besserer 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 (u. U. 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

  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.