molily: ist das "unobstrusive"?

Beitrag lesen

Hallo,

Ist es dann nicht eine moderne, saubere Verwendung von Stylesheets und Javascript (gesetzt den Fall, das es "valides" Javascript/css ist)?

Nein! Bei Unobtrusive JavaScript geht es um Zugänglichkeit, Funktionalität und Nützlichkeit. Unobtrusive JavaScript geht von einem autonom funktionierenden HTML-Dokument aus und fügt dem - ohne dass JavaScript-Code selbst ins Dokument verwoben wird - nützliche Zusatzfunktionalität hinzu. Die Schichten für Inhalt/Struktur, Präsentation und Interaktivität sind also codemäßig getrennt und alles ist abwärtskompatibel bzw. schrittweise reduzierbar.

Was du machst, ist anscheinend eine Anwendung, die ohne JavaScript nicht funktioniert - dein HTML-Dokument hat keinen Inhalt. Also kannst du schon mal gar nicht mit dem Konzept »Unobtrusive JavaScript« arbeiten. Natürlich kann es in dem Fall trotzdem sinnvoll sein, HTML- und JavaScript-Code möglichst zu trennen und die Event-Handler mit JavaScript zu vergeben. Aber diese Trennung entfaltet in dem Fall nicht seine Vorteile und barrierefrei ist das Ergebnis auch nicht.

Dir geht es höchstens bloß um die Auslagerung des JavaScriptes. Zu deinem Code daher noch die Anmerkung: Event-Handler registrieren durch ein einfaches element.onevent = handlerfunktion;. Kein Attribut, schon gar nicht ein Attributknoten! Überhaupt keine Strings in den on..-Eigenschaften speichern, sondern nur Funktionsobjekte. Wenn tuwas("a1") aufgerufen werden soll, schreibst du z.B. element.onclick = function () { tuwas("a1"); };

Mathias