Focus Trap Accessibility

Der Fokus bleibt im Dialog, der Ausgang offen

Dialog, Hintergrund, Schließen: drei Stellen im Tastaturweg.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Erreichbarer Link im verborgenen Bereich

Abnahme am Dialog

Sechs Zeilen für den offenen Dialog

Öffnen, umlaufen, schließen, zurückkehren.

  • Richtig Nach dem Öffnen steht der Fokus im Dialog.
  • Richtig Die Tabulatortaste läuft im Dialog um und verlässt ihn nicht.
  • Richtig Escape schließt den Dialog.
  • Richtig Nach dem Schließen steht der Fokus wieder auf dem Auslöser.
  • Fehlt Der Hintergrund trägt aria-hidden, seine Links bleiben mit Tab erreichbar.
  • Fehlt Der Dialog lässt sich nur mit der Maus schließen.

Aus dem Prüfbericht

Ein Befund am offenen Dialog

Kritisch Der Hintergrund ist verborgen und trotzdem erreichbar Regel aria-hidden-focus

Beim offenen Dialog trägt die Seite dahinter aria-hidden="true", ihre Links bleiben in der Tab-Reihenfolge. inert nimmt den Hintergrund aus Ausgabe und Tastaturweg.

Anleitung: Fokussierbare Elemente nicht mit ARIA verstecken

Zum Mitnehmen

Der Dialog, korrigiert

Ein Attribut, eine Methode, eine Zeile für den Rückweg.

Korrektur in 3 Schritten ansehen
  1. Den Hintergrund inert schalten

    aria-hidden verbirgt den Hintergrund nur vor Vorleseprogrammen. inert nimmt ihn zusätzlich aus der Tab-Reihenfolge, solange der Dialog offen ist.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <main id="seite" aria-hidden="true">
      <a href="/preise">Preise</a>
    </main>
    <dialog id="hinweis">
      <button type="button" class="schliessen">Schließen</button>
    </dialog>

    Nachher

    <main id="seite" inert>
      <a href="/preise">Preise</a>
    </main>
    <dialog id="hinweis">
      <button type="button" class="schliessen">Schließen</button>
    </dialog>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Drücken Sie im offenen Dialog mehrmals die Tabulatortaste. Kein Fokus landet dahinter.

  2. Den Dialog mit showModal öffnen

    showModal öffnet den Dialog modal. Der Browser hält den Fokus darin und schließt bei Escape, ganz ohne eigene Tastaturschleife.

    KorrekturvergleichSchritt 2 · JavaScript

    Vorher

    const dialog = document.getElementById('hinweis');
    dialog.setAttribute('open', '');

    Nachher

    const dialog = document.getElementById('hinweis');
    dialog.showModal();

    Markierte Zeilen wurden geändert

    So prüfen Sie es Drücken Sie Escape. Der Dialog schließt sich.

  3. Den Fokus zum Auslöser zurückgeben

    Nach dem Schließen führt der Fokus zurück auf die Schaltfläche, die den Dialog geöffnet hat. Sonst beginnt der Tastaturweg wieder oben.

    KorrekturvergleichSchritt 3 · JavaScript

    Vorher

    const ausloeser = document.getElementById('hinweis-oeffnen');
    ausloeser.addEventListener('click', () => dialog.showModal());

    Nachher

    const ausloeser = document.getElementById('hinweis-oeffnen');
    ausloeser.addEventListener('click', () => dialog.showModal());
    dialog.addEventListener('close', () => ausloeser.focus());

    Markierte Zeilen wurden geändert

    So prüfen Sie es Öffnen Sie den Dialog mit der Tastatur und schließen Sie ihn. Der Fokus steht wieder auf dem Auslöser.

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.