Rolf B: Wohin mit <nav>?

Beitrag lesen

Hallo Marco,

grundsätzlich: da, wo Du es brauchst und nicht da, wo nur noch Text erlaubt ist.

Formal: Es gibt recht strenge Regeln zu Inhaltskategorien. Die sind mit HTML5 eingeführt worden. Für jedes Element ist festgelegt:

  • welche Art von Inhalt stellt es dar
  • welche Art von Inhalt darf es enthalten

nav ist ein Fluss-Element (=es stellt fließenden Inhalt (flow content) dar). Das ist die allgemeinste Kategorie - was aber andersrum heißt, dass es nur dort erscheinen darf, wo diese allgemeine Kategorie auch zulässig ist.

Frag mich nicht, warum die HTML Spezifikation dazu "fließender Inhalt" sagt. Unter Fließtext verstehen wir im deutschen genau das Gegenteil, nämlich das, was die Spec "phrasing content" nennt. Und "phrasing content" ist einer der heißesten Begriffe überhaupt, weil alle Übersetzungen, die man dafür findet, scheußlich sind. "phrasenbildender Inhalt", "phrasierender Inhalt" - brrr. Wir schwimmen im Wiki zwischen "Stil"- und "Aussagen"-Elementen.

Letztlich muss man es nachgucken. In unserem Wiki findest Du:

  • eine Übersicht über die Kategorien

    • welche Kategorien gibt es und welche ist eine Teilmenge welcher anderen
    • welche Elemente sind in welcher Elternkategorie erlaubt
  • Bei den Elementreferenzen steht, welches Element welche Kategorie enthalten darf. Zum Beispiel:

    • h1 - darf Text und Stil-Elemente („phrasing content“), enthalten, also kein nav.
    • main - darf Fluss-Elemente enthalten, also nav

Es ist leider nicht trivial und mit Übersichten kaum lösbar.

Rolf

--
sumpsi - posui - obstruxi