molily: Outlining

Beitrag lesen

Hallo,

Die Frage ist: Warum benutzt man h1 statt eines Hierarchieebenen-neutralen h-Elements?

Die Antwort: Weil Hixie unter dem NIH-Syndrom leidet (not invented here).

Du solltest Ad-Hominem-Argumente nicht mit der Erklärung technischer (Fehl-)Entscheidungen verwechseln.

Die Antwort ist eher: Abwärtskompatibilität. h1 hat eine existierende Semantik als Überschrift (erster Ordnung). h hätte für Prä-HTML5-Browser keinerlei Bedeutung. Es wäre fatal, ein Element wie h einzuführen und alle hX dadurch zu ersetzen. Niemand würde es benutzen, weil es die UX für unzählige Benutzer zerstören würde. Von SEO und anderer maschineller Auswertung ganz zu schweigen. Ein h-Element wäre tatsächlich »dangerous fiction.«

Natürlich ist es aus Sicht der Abwärtskompatibilität ebenfalls schlimm, nur h1-Elemente zu haben, die in Prä-HTML5-Browsern wörtlich als Überschriften erster Ordnung genommen werden. Aber nicht so katastrophal wie gar keine vom User-Agent verstandenen Überschriften. Das ist halt ein Kompromiss.

Diesen Kompromiss kann man als faul ansehen. Aber wenn man Sections einführen will, von der expliziten Nennung der Heading-Ebene weg will, zudem die Sprache evolutionär und ohne Kompatibilitätsbrüche erweitern will, dann ist das eine der besseren denkbaren Möglichkeiten. XHTML 2 operierte unter ganz anderen Voraussetzungen, hat die genannten Einschränkungen nicht. Wollte nicht abwärtskompatibel sein, brauchte keine Kompromisse eingehen.

Daher ist es nicht hilfreich, einen solchen Vergleich anzustellen und zu sagen, Hixie habe XHTML 2 nicht verstanden. Das hat er und das haben dutzende andere HTML-WG-Mitglieder bestimmt. Da werden sie keine Antwort auf die Frage gefunden haben, wie man nachträglich und abwärtskompatibel Sectioning in HTML einführt.

Mathias