Meine Herren!
Ich war eigentlich schon immer ein Freund der Idee des semantischen Markups. Wichtig ist nunmal der Inhalt, und nicht, wie dieser nun genau präsentiert wird.
Das hast du unglücklich formuliert. Die Präsentation spielt auch weiterhin eine große Rolle, nur ist sie im CSS besser aufgehoben als im HTML.
Genaugenommen erscheint mir alles viel zu „schwammig“, so als habe man einfach ein paar Tags erstellt und dann der Welt hingeworfen mit den Worten „hier, guckt mal ob ihr es /irgendwie/ gebrauchen könnt”, anstatt von vorneherein klare Definitionen zu treffen.
Die Wahl der Elemente basiert soweit ich weiß (teilweise) auf empirischen Methoden, man hat Stichproben genommen geschaut, welche IDs und Klassennamen sind beliebt und dann diskutiert, ob die Elemente gut mit den gesetzten HTML5-Zielen harmonisieren.
Das Sektionen aus Artikel und Artikel wiederum aus Sektionen bestehen können, sowie dass jeder Artikel/Sektion wieder eigene Header und Footer enthalten kann, ist ja nicht unsinnig, wenn man eine Weile darüber nachdenkt. Aber dadurch, dass irgendwie alles optional ist, wirkt es so nichtssagend.
Naja, man muss ja nicht alles machen, was technisch möglich ist. artcile-Elemente ineinander zu verschachteln ist wohl in den seltensten Fällen zweckdienlich, aber für die wenigen Fälle, wo es dann doch angebracht ist, ist es gut, dass uns das nicht von HTML5 als Restriktion auferlegt wurde. Es schadet immerhin nicht.
Wirklich fragwürdig finde ich den Entschluss, dass man einige präsentationsbezogene Elemente (z.B. <i> oder <b>) mitschleift und dass man versucht hat für eben diese eine Semantik mit der Brechstange herbei zu führen, anstatt sie aussterben zu lassen. Da hat der Wunsch nach Abwärtskompatibilität eine zu große Rolle beigemessen bekommen.
Warum hat man denn zum Beispiel eine Konstruktion wie folgende erdacht:
<section>
<h1>Überschrift der Sektion</h1>
<p>…Text…</p>
<p>… und so weiter</p> …
</section>
> Anstatt das man einfach festgelegt hätte, dass das Universalattribut title für section und article eben verflichtend wäre und von den Browsern eben entsprechend einer Überschrift angezeigt wird:
> ~~~html
<section title="Überschrift der Sektion">
> <p>…Text…</p>
> <p>… und so weiter</p> …
> </section>
Das wäre m.E. deutlich logischer gewesen, da der Titel (=die Überschrift) ja eigentlich ein Meta-Datum ist, welches sich auf die Sektion/ den Artikel als ganzes bezieht.
Dadurch, dass man ein eigenes Element für Überschriften verwendet, kann deren Inhalt wiederum durch Markup ausgezeichnet werden, bei Attributen geht das nicht. Man sehe sich dazu die Diskussion um das alt-Attribut bei Bildern an.
Die Rückbesinnung auf Semantik ist meiner Meinung nach ein geglücktes Ziel, weitere Stärken liegen zudem noch in der Öffnung des Standards für Erweiterungen (siehe WAI-ARIA oder WebComponents) und in der Trennung von einem dtd-basierten Format.
“All right, then, I'll go to hell.” – Huck Finn