<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 erzeugen alle Überschriftselemente ein Block-Level Box in der Anordnung, die in einer neuen Zeile beginnt und die volle verfügbare Breite in ihrem umgebenden Block 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.

Hinweise zur Verwendung

  • Überschrifteninformationen können von Benutzeragenten verwendet werden, um automatisch ein Inhaltsverzeichnis für ein Dokument zu erstellen.
  • Verwenden Sie Überschriftselemente nicht, um Text zu verkleinern. Verwenden Sie stattdessen die CSS font-size Eigenschaft.
  • Überspringen Sie keine Überschriftenebenen: 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 (solange 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: Die Verschachtelung mehrerer <h1> Elemente in verschachtelten Abschnittselementen war in älteren Versionen des HTML-Standards erlaubt. Dies wurde jedoch nie als Best Practice betrachtet und ist jetzt nicht mehr konform. Lesen Sie mehr in There Is No Document Outline Algorithm.

Es wird bevorzugt, nur ein <h1> pro Seite zu verwenden und Überschriften zu verschachteln, ohne Ebenen zu überspringen.

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

Vor Mai 2025 spezifizierte der HTML-Standard, dass <h1> Elemente in einem <section>, <article>, <aside>, oder <nav> Element als <h2> (kleinere font-size mit angepasstem margin-block), oder als <h3> gerendert werden sollten, wenn sie eine Ebene tiefer verschachtelt sind, usw. Dieser speziell kontextabhängige Standardstil wurde nun entfernt.

Um ein konsistentes <h1> Rendering für Browser zu gewährleisten, die den alten kontextabhängigen Standardstil implementieren, verwenden Sie die folgende Stilregel:

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

Alternativ können Sie zur Vermeidung der Überschreibung anderer Stilregeln, die auf <h1> abzielen, :where(), das keine Spezifität hat, verwenden:

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

Barrierefreiheit

Eine häufige Navigationstechnik für Benutzer von Screenreadern ist das schnelle Springen von Überschrift zu Überschrift, um den Inhalt der Seite zu bestimmen. Deshalb ist es wichtig, keine oder mehrere Überschriftenebenen zu überspringen. Andernfalls kann es zu Verwirrung kommen, da die Person, die auf diese Weise navigiert, möglicherweise nicht weiß, 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 Organisation des Inhalts der Seite widerzuspiegeln. Die meisten Screenreader können auch eine geordnete Liste aller Überschriften auf einer Seite generieren, die einer Person helfen kann, sich schnell über die Inhaltsstruktur zu orientieren und zu verschiedenen Überschriften zu navigieren.

Bei der folgenden Seitenstruktur:

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>

Würde ein Screenreader eine Liste wie diese erzeugen:

  1. h1 Käfer

    1. h2 Etymologie

    2. h2 Verbreitung und Vielfalt

    3. h2 Evolution

      1. h3 Spät-Palä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 beim Schließen eines Unterabschnitts Überschriftenebenen "übersprungen" werden.

Markierung von Abschnittsinhalten

Eine weitere häufige Navigationstechnik für Benutzer von Screenreadern besteht darin, eine Liste von abschnittsweisem Inhalt zu generieren und diese zur Bestimmung des Seitenlayouts zu nutzen.

Abschnittsinhalte können mit einer Kombination der Attribute aria-labelledby und id markiert werden, wobei die Bezeichnung den Zweck des Abschnitts treffend beschreibt. Diese Technik ist nützlich in Situationen, in denen es auf derselben Seite mehr als ein Abschnittselement gibt.

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 Screenreader-Technologie ankündigen, dass es zwei <nav> Abschnitte gibt, einer namens "Hauptnavigation" und einer namens "Fußzeilennavigation". Wenn keine Beschriftungen vorhanden wären, müsste die Person, die eine Screenreader-Software verwendet, unter Umständen den Inhalt jedes nav Elements untersuchen, um ihren 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 Fluß-Inhalt, Überschrifteninhalt, greifbarer Inhalt.
Erlaubter Inhalt Phrasierungsinhalt.
Tag-Auslassung Keine, sowohl das Start- als auch das End-Tag sind zwingend erforderlich.
Erlaubte Eltern Jedes Element, das Fluss-Inhalt akzeptiert.
Implizierte ARIA-Rolle Überschrift
Erlaubte ARIA-Rollen tab, presentation oder none
DOM-Schnittstelle [`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