<h1>–<h6>: Die HTML-Abschnittsüberschriftselemente

Die <h1> bis <h6> HTML Elemente repräsentieren sechs Ebenen von Abschnittsüberschriften. <h1> ist die höchste Abschnittsebene und <h6> die niedrigste. Standardmäßig erstellen alle Überschriftselemente einen Block-Level Box im Layout, die auf einer neuen Zeile beginnt und die volle Breite ihres umgebenden Blocks einnimmt.

Probieren Sie es aus

<h1>Beetles</h1>
<h2>External morphology</h2>
<h3>Head</h3>
<h4>Mouthparts</h4>
<h3>Thorax</h3>
<h4>Prothorax</h4>
<h4>Pterothorax</h4>
h1,
h2,
h3,
h4 {
  margin: 0.1rem 0;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
  padding-left: 20px;
}

h3 {
  font-size: 1.2rem;
  padding-left: 40px;
}

h4 {
  font-size: 1rem;
  font-style: italic;
  padding-left: 60px;
}

Attribute

Diese Elemente beinhalten nur die globalen Attribute.

Verwendungshinweise

  • Überschriftinformationen können von Benutzeragenten verwendet werden, um automatisch ein Inhaltsverzeichnis für ein Dokument zu erstellen.
  • Verwenden Sie keine Überschriftselemente, um Text zu vergrößern. Verwenden Sie stattdessen die CSS font-size Eigenschaft.
  • Überspringen Sie keine Überschriftsebenen: Beginnen Sie immer mit <h1>, gefolgt von <h2> und so weiter.

Vermeiden Sie die Verwendung mehrerer <h1>-Elemente auf einer Seite

Obwohl die Verwendung mehrerer <h1>-Elemente auf einer Seite durch den HTML-Standard erlaubt ist (sofern sie nicht verschachtelt sind), wird dies nicht als Best Practice angesehen. Eine Seite sollte im Allgemeinen ein einzelnes <h1>-Element haben, das den Inhalt der Seite beschreibt (ähnlich dem <title> Element des Dokuments).

Hinweis: Das Verschachteln mehrerer <h1>-Elemente in verschachtelten Abschnittselementen war in älteren Versionen des HTML-Standards erlaubt. Dies wurde jedoch nie als Best Practice angesehen und ist nun nicht konform. Lesen Sie mehr unter There Is No Document Outline Algorithm.

Bevorzugen Sie die Verwendung von nur einem <h1> pro Seite und verschachteln Sie Überschriften ohne Ebenen zu überspringen.

Einheitliche Schriftgröße für <h1> angeben

Der HTML-Standard spezifiziert, dass <h1>-Elemente in einem <section>, <article>, <aside> oder <nav>-Element als <h2> gerendert werden sollten (kleinere font-size mit einem angepassten margin-block), oder als <h3>, wenn sie eine weitere Ebene verschachtelt sind, und so weiter.

Hinweis: Es gibt einen Vorschlag, diesen speziellen Standardstil zu entfernen, so dass <h1> immer den gleichen Standardstil hat. Dieser Vorschlag ist derzeit in Firefox Nightly implementiert.

Um ein konsistentes <h1>-Rendering sicherzustellen, verwenden Sie die folgende Stilregel:

css
h1 {
  margin-block: 0.67em;
  font-size: 2em;
}

Alternativ, um andere Stilregeln, die auf <h1> abzielen, nicht zu überschreiben, können Sie :where() verwenden, was keine Spezifität hat:

css
:where(h1) {
  margin-block: 0.67em;
  font-size: 2em;
}

Barrierefreiheit

Eine häufige Navigationstechnik für Benutzer von Bildschirmlesesoftware ist das schnelle Springen von Überschrift zu Überschrift, um den Inhalt der Seite zu bestimmen. Aus diesem Grund ist es wichtig, keine Überschriftsebenen zu überspringen. Andernfalls kann Verwirrung entstehen, da die Person, die auf diese Weise navigiert, sich fragen könnte, wo die fehlende Überschrift ist.

Tun Sie dies nicht:

html
<h1>Heading level 1</h1>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>

Bevorzugen Sie dies:

html
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>

Verschachtelung

Überschriften können als Unterabschnitte verschachtelt werden, um die Struktur des Seiteninhalts widerzuspiegeln. Die meisten Bildschirmleser können auch eine geordnete Liste aller Überschriften auf einer Seite erstellen, was einer Person helfen kann, die Inhaltsstruktur schnell zu erkennen und zu verschiedenen Überschriften zu navigieren.

Angenommen, folgende Seitenstruktur liegt vor:

html
<h1>Beetles</h1>

<h2>Etymology</h2>

<h2>Distribution and Diversity</h2>

<h2>Evolution</h2>
<h3>Late Paleozoic</h3>
<h3>Jurassic</h3>
<h3>Cretaceous</h3>
<h3>Cenozoic</h3>

<h2>External Morphology</h2>
<h3>Head</h3>
<h4>Mouthparts</h4>
<h3>Thorax</h3>
<h4>Prothorax</h4>
<h4>Pterothorax</h4>
<h3>Legs</h3>
<h3>Wings</h3>
<h3>Abdomen</h3>

Bildschirmleser würden eine Liste wie diese erzeugen:

  1. h1 Käfer

    1. h2 Etymologie

    2. h2 Verteilung und Vielfalt

    3. h2 Evolution

      1. h3 Spätpaläozoikum
      2. h3 Jura
      3. h3 Kreidezeit
      4. h3 Känozoikum
    4. h2 Äußere Morphologie

      1. h3 Kopf

        1. h4 Mundwerkzeuge
      2. h3 Thorax

        1. h4 Prothorax
        2. h4 Pterothorax
      3. h3 Beine

      4. h3 Flügel

      5. h3 Abdomen

Wenn Überschriften verschachtelt sind, können Überschriftsebenen beim Schließen eines Unterabschnitts "übersprungen" werden.

Beschriftung von Abschnittsinhalt

Eine weitere gängige Navigationstechnik für Benutzer von Bildschirmlesesoftware ist das Erzeugen einer Liste von Abschnittsinhalten und deren Verwendung, um das Layout der Seite zu bestimmen.

Abschnittsinhalte können mit einer Kombination der Attribute aria-labelledby und id beschriftet werden, wobei das Label den Zweck des Abschnitts präzise beschreibt. Diese Technik ist nützlich für Situationen, in denen sich mehr als ein Abschnittselement auf derselben Seite befindet.

Beispiele für Abschnittsinhalte

html
<header>
  <nav aria-labelledby="primary-navigation">
    <h2 id="primary-navigation">Primary navigation</h2>
    <!-- navigation items -->
  </nav>
</header>

<!-- page content -->

<footer>
  <nav aria-labelledby="footer-navigation">
    <h2 id="footer-navigation">Footer navigation</h2>
    <!-- navigation items -->
  </nav>
</footer>

In diesem Beispiel würde die Bildschirmlesetechnologie ankündigen, dass es zwei <nav> Abschnitte gibt, einen namens "Hauptnavigation" und einen namens "Fußzeilennavigation". Wenn keine Labels bereitgestellt würden, müsste die Person, die Bildschirmlesesoftware verwendet, möglicherweise den Inhalt jedes nav-Elements untersuchen, um deren Zweck zu bestimmen.

Beispiele

Alle Überschriften

Der folgende Code zeigt alle verwendeten Überschriftsebenen.

html
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>

Beispielseite

Der folgende Code zeigt einige Überschriften mit Inhalt darunter.

html
<h1>Heading elements</h1>
<h2>Summary</h2>
<p>Some text here…</p>

<h2>Examples</h2>
<h3>Example 1</h3>
<p>Some text here…</p>

<h3>Example 2</h3>
<p>Some text here…</p>

<h2>See also</h2>
<p>Some text here…</p>

Technische Zusammenfassung

Inhaltskategorien Fließende Inhalte, Überschrift Inhalte, fühlbare Inhalte.
Erlaubte Inhalte Phrasing-Inhalte.
Tag-Auslassung Keine, sowohl das Start- als auch das End-Tag sind obligatorisch.
Erlaubte Eltern Jedes Element, das fließende Inhalte akzeptiert.
Implizite ARIA-Rolle Überschrift
Erlaubte ARIA-Rollen tab, presentation oder none
DOM Interface [`HTMLHeadingElement`](/de/docs/Web/API/HTMLHeadingElement)

Spezifikationen

Specification
HTML
# the-h1,-h2,-h3,-h4,-h5,-and-h6-elements

Browser-Kompatibilität

html.elements.h1

html.elements.h2

html.elements.h3

html.elements.h4

html.elements.h5

html.elements.h6

Siehe auch