Navigation in HTML

Eine Navigation, die man überspringen kann

Sprunglink, Linktexte, Liste: drei Stellen in der Hauptnavigation.

Website prüfen
Beispiel im Prüfbericht Manuell nachprüfen
Manueller Prüfhinweis · Manuell prüfen · WCAG 2.4.1Abschnitt ohne Überschriftensemantik

Landmarken-Atlas

Drei nav-Elemente brauchen drei eindeutige Namen

Hauptmenü, Brotkrümel und rechtliche Links erfüllen verschiedene Aufgaben. Im HTML werden daraus drei unterscheidbare Sprungziele.

Von der sichtbaren Seite zur Bereichsliste

Konzeptansicht · beispielhafte Website
Ausgabe einer BereichslisteLandmarken
  1. Bannerheader
  2. Navigation „Hauptnavigation“nav[aria-label]
  3. Navigation „Brotkrümel“nav[aria-label]
  4. Hauptbereichmain
  5. Fußzeilefooter
  6. Navigation „Rechtliches“nav[aria-label]
Die Namen beschreiben den Zweck, ohne die bereits vorhandene Rolle zu wiederholen. Aus aria-label="Hauptnavigation" wird „Navigation, Hauptnavigation“.

Die Liste trägt Bedeutung

Gleichrangige Ziele oder geordneter Pfad?

ulHauptnavigation und RechtlichesDie Ziele sind gleichrangig. Ihre Reihenfolge beschreibt keinen Weg.
olBrotkrümelDie Reihenfolge führt von der übergeordneten Seite zum aktuellen Ort.
Genau ein aktuelles Element je zusammengehörigem SatzIm Brotkrümel trägt der Link „Prüfung“ aria-current="page".
<a href="/leistungen/pruefung/" aria-current="page">Prüfung</a>

Vollständiges HTML

Drei Bereiche, klar benannt

<body>
  <header>
    <nav aria-label="Hauptnavigation">
      <ul>
        <li><a href="/">Start</a></li>
        <li><a href="/leistungen/">Leistungen</a></li>
        <li><a href="/team/">Team</a></li>
      </ul>
    </nav>
  </header>

  <nav aria-label="Brotkrümel">
    <ol class="breadcrumb">
      <li><a href="/">Start</a></li>
      <li>
        <span class="separator" aria-hidden="true">/</span>
        <a href="/leistungen/">Leistungen</a>
      </li>
      <li>
        <span class="separator" aria-hidden="true">/</span>
        <a href="/leistungen/pruefung/" aria-current="page">
          Prüfung
        </a>
      </li>
    </ol>
  </nav>

  <main id="inhalt">
    <h1>Prüfung</h1>
    <p>Inhalt der Seite.</p>
  </main>

  <footer>
    <nav aria-label="Rechtliches">
      <ul>
        <li><a href="/impressum/">Impressum</a></li>
        <li><a href="/datenschutz/">Datenschutz</a></li>
      </ul>
    </nav>
  </footer>
</body>

CSS für den Pfad

Umbruch statt seitliches Scrollen

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.separator {
  margin-inline-end: 0.5rem;
}

[aria-current="page"] {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
Kein zusätzliches role="navigation"nav besitzt diese Landmarkenrolle bereits.
Nicht jede Linksammlung ist eine navNutzen Sie das Element für wichtige Navigationsblöcke.

Prüfspur

So prüfen Sie es

  1. Öffnen Sie die Landmarkenliste Ihres Vorleseprogramms.
  2. Prüfen Sie, ob alle drei Navigationen mit ihrem Zweck erscheinen.
  3. Springen Sie zu „Brotkrümel“: Der Fokus landet im richtigen Pfad.
  4. Nur „Prüfung“ wird dort als aktuelle Seite angekündigt.
  5. Zoomen Sie auf 400 %: Der Brotkrümel bricht ohne Querrollen um.

Aus dem Prüfbericht

Drei Stellen, drei Befunde

Zum Mitnehmen

Die Navigation, korrigiert

Ein Sprunglink, eine saubere Liste, Text in jedem Link.

Korrektur in 3 Schritten ansehen
  1. Einen Sprunglink voranstellen

    Der erste fokussierbare Link der Seite führt zum Inhalt. Er darf verborgen sein und muss bei Fokus sichtbar werden.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <body>
      <nav aria-label="Hauptnavigation">…</nav>
      <div class="inhalt">…</div>
    </body>

    Nachher

    <body>
      <a class="skip-link" href="#inhalt">Zum Inhalt springen</a>
      <nav aria-label="Hauptnavigation">…</nav>
      <main id="inhalt">…</main>
    </body>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Laden Sie die Seite und drücken Sie einmal Tab. Der erste Link heißt „Zum Inhalt springen“.

  2. Die Linkliste sauber auszeichnen

    In eine ul gehören nur li. Der einleitende Satz steht davor, nicht zwischen den Einträgen.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <nav aria-label="Hauptnavigation">
      <ul>
        <p>Bereiche</p>
        <li><a href="/leistungen/">Leistungen</a></li>
      </ul>
    </nav>

    Nachher

    <nav aria-label="Hauptnavigation">
      <p>Bereiche</p>
      <ul>
        <li><a href="/leistungen/">Leistungen</a></li>
      </ul>
    </nav>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Springen Sie mit dem Vorleseprogramm zur Liste. Es nennt die Zahl der Einträge ohne Zwischentext.

  3. Symbol-Links benennen

    Der Seitentitel steht im Link. Das Symbol bleibt Dekoration und wird für Vorleseprogramme ausgeblendet.

    KorrekturvergleichSchritt 3 · HTML

    Vorher

    <li>
      <a href="/kontakt/"><span class="icon-mail"></span></a>
    </li>

    Nachher

    <li>
      <a href="/kontakt/">
        Kontakt
        <span class="icon-mail" aria-hidden="true"></span>
      </a>
    </li>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Öffnen Sie die Linkliste eines Vorleseprogramms. Jeder Navigationseintrag nennt seine Seite.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.