<h1>–<h6>: Die HTML-Elemente für Abschnittsüberschriften
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 eine 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.
Nutzungshinweise
- Ü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. Stattdessen sollten Sie die CSS
font-size
Eigenschaft verwenden. - Überschriftebenen sollten nicht übersprungen werden: Beginnen Sie immer mit
<h1>
, gefolgt von<h2>
und so weiter.
Vermeiden Sie die Verwendung mehrerer <h1>
Elemente auf einer Seite
Auch wenn die Verwendung mehrerer <h1>
Elemente auf einer Seite vom HTML-Standard erlaubt ist (solange sie nicht verschachtelt sind), gilt dies nicht als bewährte Methode. Eine Seite sollte im Allgemeinen ein einziges <h1>
Element haben, das den Inhalt der Seite beschreibt (ähnlich dem <title>
Element des Dokuments).
Hinweis:
Die Verschachtelung mehrerer <h1>
Elemente in verschachtelten Strukturierungselementen war in älteren Versionen des HTML-Standards erlaubt. Dies galt jedoch nie als bewährte Methode 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>
festlegen
Vor Mai 2025 spezifizierte der HTML-Standard, dass <h1>
Elemente in einem <section>
, <article>
, <aside>
, oder <nav>
Element als ein <h2>
gerendert werden sollten (kleinere font-size
mit einem angepassten margin-block
), oder als ein <h3>
, wenn eine weitere Ebene verschachtelt ist, und so weiter. Dieser spezielle kontextabhängige Standardstil wurde jetzt entfernt.
Um ein konsistentes <h1>
Rendering für Browser zu gewährleisten, die den alten kontextabhängigen Standardstil implementieren, verwenden Sie die folgende Stilregel:
h1 {
margin-block: 0.67em;
font-size: 2em;
}
Alternativ, um zu vermeiden, andere Stilregeln zu überschreiben, die auf <h1>
abzielen, können Sie :where()
verwenden, das null Spezifität hat:
:where(h1) {
margin-block: 0.67em;
font-size: 2em;
}
Barrierefreiheit
Navigation
Eine gängige Navigationstechnik für Benutzer von Screenreader-Software ist es, schnell von Überschrift zu Überschrift zu springen, um den Inhalt der Seite zu bestimmen. Aus diesem Grund ist es wichtig, keine oder mehrere Überschriftebenen zu überspringen. Andernfalls kann es zu Verwirrung kommen, wenn die Person, die auf diese Weise navigiert, sich fragt, wo die fehlende Überschrift ist.
Tun Sie das nicht:
<h1>Heading level 1</h1>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
Bevorzugen Sie dies:
<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 Seiteninhalts widerzuspiegeln. Die meisten Screenreader können auch eine geordnete Liste aller Überschriften auf einer Seite generieren, was einer Person helfen kann, die Inhaltshierarchie schnell zu bestimmen und zu verschiedenen Überschriften zu navigieren.
Angenommen, Sie haben die folgende Seitenstruktur:
<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>
Screenreader würden eine Liste wie diese generieren:
-
h1
Käfer-
h2
Etymologie -
h2
Verbreitung und Vielfalt -
h2
Evolutionh3
Spät-Paläozoikumh3
Jurah3
Kreidezeith3
Känozoikum
-
h2
Externe Morphologie-
h3
Kopfh4
Mundwerkzeuge
-
h3
Thoraxh4
Prothoraxh4
Pterothorax
-
h3
Beine -
h3
Flügel -
h3
Abdomen
-
-
Wenn Überschriften verschachtelt sind, können Überschriftebenen beim Schließen eines Unterabschnitts "übersprungen" werden.
- Kopfzeilen • Seitenstruktur • WAI Web Accessibility Tutorials
- MDN Verständnis von WCAG, Richtlinie 1.3 Erklärungen
- Verständnis des Erfolgs-Kriteriums 1.3.1 | W3C Verständnis von WCAG 2.0
- MDN Verständnis von WCAG, Richtlinie 2.4 Erklärungen
- Verständnis des Erfolgs-Kriteriums 2.4.1 | W3C Verständnis von WCAG 2.0
- Verständnis des Erfolgs-Kriteriums 2.4.6 | W3C Verständnis von WCAG 2.0
- Verständnis des Erfolgs-Kriteriums 2.4.10 | W3C Verständnis von WCAG 2.0
Beschriftung von Abschnittsinhalten
Eine weitere gängige Navigationstechnik für Benutzer von Screenreader-Software ist das Generieren einer Liste strukturierender Inhalte und deren Verwendung, um das Seitenlayout festzulegen.
Strukturierende Inhalte können mithilfe einer Kombination aus den Attributen aria-labelledby
und id
beschriftet werden, wobei das Label den Zweck des Abschnitts prägnant beschreibt. Diese Technik ist nützlich für Situationen, in denen es mehr als ein Gliederungselement auf derselben Seite gibt.
Beispiele für Gliederungsinhalte
<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, einen namens "Hauptnavigation" und einen namens "Fußzeilennavigation". Wenn keine Labels angegeben wären, müsste die Person, die die Screenreader-Software verwendet, möglicherweise den Inhalt jedes nav
Elements überprüfen, um ihren Zweck zu bestimmen.
Beispiele
Alle Überschriften
Der folgende Code zeigt alle verwendeten Überschriftsebenen.
<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 Inhalten darunter.
<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, Überschrifteninhalte, fühlbare Inhalte. |
---|---|
Erlaubter Inhalt | Phrasierungsinhalte. |
Auslassung der Tags | Keine, sowohl der startende als auch der endende Tag sind zwingend erforderlich. |
Erlaubte Eltern | Jedes Element, das fließende Inhalte akzeptiert. |
Implizite ARIA Rolle | heading |
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 |