CSS focus visible

Der Ring erscheint bei der Tastatur

Ausgeblendete Panels und Scrollbereiche: hier verliert sich der Tastaturfokus.

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

Fokuslabor

Wann der Browser den Ring einschaltet

:focus beschreibt den Zustand. :focus-visible entscheidet, ob eine sichtbare Markierung in diesem Moment hilfreich ist. Drei Standbilder zeigen den Unterschied.

Drei Wege zum Fokus, drei sichtbare Ergebnisse

Konzeptdarstellung: Die genaue Heuristik legt der Browser fest.

Mausklickt auf den Schalter
:focus
trifft zu
:focus-visible
meist nicht
Speichern

Der Fokus ist technisch da. Der Klickort war bereits sichtbar.

TabTastaturspringt zum Schalter
:focus
trifft zu
:focus-visible
trifft zu
Speichern

Der Ring zeigt, welches Element auf Enter oder Leertaste reagiert.

Mausklickt in ein Textfeld
:focus
trifft zu
:focus-visible
kann zutreffen
Name

Ein Eingabefeld erwartet Tastatureingaben. Deshalb bleibt der Ort sichtbar.

Ein Tabweg als Bildfolge

Nach jedem Tastendruck wandert genau ein Ring. Die Nummer zeigt die Reihenfolge.

  1. 1
    StartseiteSuchePrüfen

    Tab erreicht den ersten Link.

  2. 2
    StartseiteSuchePrüfen

    Tab verschiebt den Ring ins Suchfeld.

  3. 3
    StartseiteSuchePrüfen

    Tab verschiebt ihn zum Schalter.

Der robuste CSS-Block

Überschreiben Sie den sichtbaren Zustand. Eine globale Regel mit outline: none gehört nicht dazu.

:root {
  --focus-ring: #3b2bbd;
}

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}

@media (forced-colors: active) {
  :focus-visible {
    outline-color: Highlight;
  }
}

So prüfen Sie es

  1. Tab drücken: Der Ring muss am ersten bedienbaren Element erscheinen.
  2. Weiter tabben: Der Ring muss in sinnvoller Reihenfolge mitwandern.
  3. Shift + Tab drücken: Der Ring muss rückwärts wandern.
  4. Bis an den Rand scrollen: Kein fester Kopf oder Hinweis darf das Ziel verdecken.

Aus dem Prüfbericht

Zwei Regeln, zwei Tabstopps

Kritisch Der Scrollbereich zeigt keinen Fokusring Regel scrollable-region-focusable

Ohne tabindex bekommt ein Kasten mit overflow: auto nie den Fokus, also auch nie den Ring. tabindex="0" ändert das.

Anleitung: Scrollbereiche per Tastatur bedienen

Zum Mitnehmen

Der Fokusring, korrigiert

Ein Selektor im CSS, zwei Attribute im HTML.

Korrektur in 3 Schritten ansehen
  1. Den Ring nur für die Tastatur zeigen

    :focus-visible überlässt dem Browser die Entscheidung. Beim Tabben erscheint der Ring, beim Mausklick bleibt die Fläche ruhig.

    KorrekturvergleichSchritt 1 · CSS

    Vorher

    button:focus {
      outline: none;
    }

    Nachher

    button:focus-visible {
      outline: 3px solid #1b1b1b;
      outline-offset: 2px;
    }

    Markierte Zeilen wurden geändert

    So prüfen Sie es Klicken Sie den Button, dann drücken Sie Tab. Nur beim Tabben erscheint der Ring.

  2. Die Ausblendung am Elternelement entfernen

    Der Link bleibt sichtbar und erreichbar. Ohne aria-hidden am Elternelement wird er auch wieder vorgelesen.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <div aria-hidden="true">
      <a href="#altbestand">Verdeckte Ringkarte öffnen</a>
    </div>

    Nachher

    <div>
      <a href="#altbestand">Verdeckte Ringkarte öffnen</a>
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tabben Sie bis zum Link. Ein Vorleseprogramm nennt jetzt seinen Text.

  3. Den Scrollbereich in die Tabfolge nehmen

    Nur ein fokussierbarer Kasten kann einen Ring zeigen. tabindex="0" nimmt ihn auf, role und aria-label benennen ihn.

    KorrekturvergleichSchritt 3 · HTML

    Vorher

    <div class="protokoll" style="max-height:3rem;overflow:auto">
      <p>Schritt 01 · Kreis setzen</p>
    </div>

    Nachher

    <div class="protokoll" style="max-height:3rem;overflow:auto" tabindex="0"
      role="region" aria-label="Schrittprotokoll">
      <p>Schritt 01 · Kreis setzen</p>
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tabben Sie weiter. Der Kasten bekommt den Ring, Pfeil ab scrollt seinen Inhalt.

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.