HTMLHell - „Da brauchst du kein JavaScript für!“
Auch HTMLHell von Manuel Matuzović hat dieses Jahr einen Adventskalender, der sich - anders als der Name vermuten lässt - für semantisches HTML und ein barrierefreies, benutzerfreundliches Web einsetzt.
Am 02. Dezember fand ich dort den empfehlenswerten Artikel „You don't need JavaScript for that“ von Kilian Valkhof, von dem ich hier die Kernaussage übersetzt wiedergeben möchte:
Das Prinzip der geringsten Leistung
(the rule of least power) [1]
„Dies ist eines der Grundprinzipien der Webentwicklung und bedeutet, dass Sie die am wenigsten leistungsfähige Sprache für einen bestimmten Zweck wählen sollten.
Im Web bedeutet dies, dass man HTML gegenüber CSS und dann CSS gegenüber JS vorzieht. JS ist die vielseitigste der drei Sprachen, weil man damit beschreibt, wie der Browser reagieren soll, aber es kann auch kaputt gehen, es kann nicht geladen werden und es braucht zusätzliche Ressourcen zum Herunterladen, Parsen und Ausführen. Außerdem ist es sehr einfach, Tastaturbenutzer und Menschen, die unterstützende Technologien verwenden, auszuschließen.
Im Gegensatz zu JS, das imperativ ist, sind HTML und CSS deklarativ. Man sagt dem Browser, was er tun soll, nicht wie er es tun soll. Das bedeutet, dass der Browser selbst entscheiden kann, wie er es macht, und zwar auf die effizienteste Art und Weise.
Da HTML- und CSS-Funktionen vom Browser gehandhabt werden, sind sie leistungsfähiger, nativer, anpassungsfähiger an Benutzerpräferenzen und allgemein zugänglicher. Das bedeutet nicht, dass dies immer der Fall sein wird (vor allem, wenn es um die Zugänglichkeit geht), aber wenn der Browser die schwere Arbeit für Sie erledigt, werden Ihre Endbenutzer im Allgemeinen eine bessere Erfahrung haben.“
Beispiele
Kilian demonstriert dies an Beispielen, die wir ähnlich auch im Wiki haben.Flip-Flop-Schalter
Ein FlipFlop-Schalter oder toggle-Switch ist ein Software-Feature, das zwischen zwei Zuständen hin- und her schaltet.
Wie Sie im Beispiel sehen, funktioniert so etwas ohne Javascript.
Ich habe zwei Empfehlungen:
- Nutzen Sie das Standardverhalten der HTML-Elemente!
- Lesen Sie den Artikel von Kilian Valkhof!
Er demonstriert noch weitere Anwendungsfälle, in denen auf JavaScript verzichtet werden kann!
(Auch die anderen Artikel des Adventskalenders sind lesenswert!)
Rule of least power (wikipedia.en.org) ↩︎