Gutes Markup ist die Basis
Vor Kurzem habe ich erklärt, warum ich denke, dass es kein semantisches CSS gibt. Wir dürfen deshalb nicht aufhören, uns Gedanken über die sinnvolle Semantik einer Webseite zu machen. Das kann leider in kleinliche Diskussionen und Gedankengänge führen. Doch es ist sinnvoll und hilfreich, sich über die Basis einer Webseite Gedanken zu machen. Und diese Basis ist und bleibt natürlich das HTML. CSS und JavaScript können ausgeschaltet oder von einer Firewall blockiert werden. Ohne HTML gibt es keine Webseite.
Deshalb sind Artikel, wie “Semantic CSS With Intelligent Selectors” von Heydon Pickering so wichtig. Heydon hinterfragt ganz bewusst den so extrem gehypten objektorientierten Ansatz. Nicht nur der Artikel, auch die teilweise recht langen Kommentare sind absolut lesenswert. An ihrer Profession wirklich interessierte Frontendentwickler sollten sich die notwendige Zeit dafür nehmen.
Ich möchte nicht die diversen objektorientierten Ansätze in Bausch und Bogen verdammen. Sie lenken den Fokus auf wichtige Eigenarten von Frontendcode. Sie gehen in meinen Augen aber einen Schritt zu weit, indem sie helfen, CSS und HTML zu entkoppeln. Ein besonders krasses Beispiel präsentiert hierbei ein passenderweise “Semantic-UI” genannte Projekt. Die diversen Klassen zur Gestaltung von Buttons werden in einem Beispiel auf DIV
-Container angewendet.
Mein Eindruck ist, dass solche Beispiele nicht von echten Frontendentwicklern kommen können. Und ebenso ist es für mich sehr wahrscheinlich, dass der Ansatz der Entkoppelung von CSS und HTML für Backendentwickler geschaffen worden ist. Die dafür bekannten Systeme OOCSS, SMACSS und BEM entstammen schliesslich sehr grossen Firmen mit sehr komplexen Projekten. Es ist sehr wahrscheinlich, dass dort selbst die Frontendentwickler eigentlich umgeschulte Backendentwickler sind. Deren Interesse an und Verständnis für Semantik dürfte sich in sehr engen Grenzen halten.
Es ist deshalb viel einfacher, ein paar Klassen an Zielobjekte zu verteilen, als sich Gedanken über die Art dieser Zielobjekte zu machen. Das ist legitim, aber nicht wirklich gut und professionell. Deshalb plädiere ich ja schon immer dafür, dass Backend-Entwickler zwar mit Frontendcode beschäftigen sollten (wie umgekehrt auch), sie ihn aber nicht unbedingt schreiben sollten.
Gegen eine Verlagerung der meisten Gestaltungsregeln auf Klassen ist prinzipiell nichts zu sagen. Es sollte aber nicht dazu führen, dass die Semantik einer Webseite unwichtig wird. Wir würden so alles negieren, was wir seit der Ablösung der Layouttabellen durch semantisches HTML gelernt und praktiziert haben. Wir wären wieder in einer “Malen nach Zahlen”-Phase, diesmal nicht mit WSYSIWYG-Editoren oder aus Phtosohop exportiertem HTML. Aber genauso sinnlos.
- ← Previous
Das geringere Übel - Next →
Endlich besseres Nutzerprofil bei jsFiddle