Accessible Tooltip

Der Hinweis, den nur die Maus findet

Tooltip ohne Namen, Auslöser ohne Namen: zwei Befunde an einem Hinweis.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Leerer Tooltip

Entscheidungshilfe

Nicht jeder Hinweis gehört in einen Tooltip

Entscheidend ist nicht die Form der Sprechblase, sondern wer sie öffnet, was darin steht und wohin der Fokus darf.

Konzeptskizze: drei Hinweise mit unterschiedlichem Bedienmodell

Hinweis: immer sichtbar

Für Pflichtformat, Eingabehilfe und Fehlerkorrektur. Der Text braucht keinen Öffnungszustand und bleibt bei Touch, Zoom und Tastatur erhalten.

Erste Wahl für wichtige Information

Tooltip: automatisch

Für eine kurze, ergänzende Beschreibung eines vorhandenen Steuerelements. Er erscheint bei Fokus oder Hover und enthält keine Bedienung.

Sparsam für Zusatzwissen

Popover oder Dialog: auf Anforderung

Für Links, Auswahlfelder oder längere Hilfe. Die Person öffnet den Bereich bewusst; die enthaltenen Elemente dürfen Fokus erhalten.

Für Inhalt mit eigener Aktion

Die schnelle Wahl: Muss die Information für die Aufgabe bekannt sein, zeigen Sie sie dauerhaft. Ist sie kurz und nur ergänzend, kann ein Tooltip passen. Muss jemand im Zusatzinhalt handeln, verwenden Sie ein bewusst geöffnetes Popover oder einen Dialog.

Fokus · Hover · Escape

Der Zustandsvertrag eines echten Tooltips

Vier Beziehungen müssen zusammenpassen. Die Grafik zeigt den Weg, ohne ein bedienbares Muster vorzutäuschen.

Zustandsdiagramm für einen zugänglichen Tooltip Tastaturfokus oder Hover zeigt den Tooltip. Fokus bleibt am Auslöser. Der Tooltip bleibt offen, wenn der Zeiger auf ihn wandert. Escape schließt ihn, ohne den Fokus zu verschieben. Verlässt der Fokus den Auslöser und befindet sich der Zeiger außerhalb, schließt er ebenfalls. AuslöserTastaturfokusoder HoverSichtbarTooltip erscheintFokus bleibt am AuslöserEscapeschließtFokus bleibtZeiger auf Tooltipbleibt offenText bleibt erreichbarFokus und Zeiger fortschließtkein eigener Tabstopp
Fokus oder Hover
Der Tooltip erscheint. Der Tastaturfokus bleibt am Auslöser.
Zeiger auf dem Tooltip
Der Tooltip bleibt offen, damit sein Text erreichbar bleibt.
Escape
Der Tooltip schließt. Der Fokus bleibt unverändert.
Fokus und Zeiger verlassen den Bereich
Der Tooltip schließt und erzeugt keinen eigenen Tabstopp.

Was im Markup verbunden sein muss

Die Beziehung läuft vom Auslöser zum Hinweis, nicht umgekehrt.

Auslöseraria-describedby="export-hinweis"
Hinweisid="export-hinweis" role="tooltip"
  • Text statt Bedienelemente. Ein Tooltip nimmt keinen Fokus an und enthält weder Links noch Felder oder Schaltflächen.
  • Beschreibung statt Ersatzname. Der Auslöser braucht bereits einen verständlichen Namen. aria-describedby ergänzt die Beschreibung.
  • Kein Popup-Zustand. Ein automatisch erscheinender Tooltip braucht weder aria-expanded noch aria-haspopup.
  • Lesbarer Inhalt. Der Text im Tooltip liefert seinen zugänglichen Namen. Ein zusätzliches aria-label kann diesen Text verdecken.

Direkt in den Standards nachlesen

So prüfen Sie es

  1. Setzen Sie den Fokus mit Tab auf den Auslöser. Der Tooltip muss sichtbar werden.
  2. Drücken Sie Escape. Der Tooltip muss verschwinden, der Fokus am Auslöser bleiben.
  3. Öffnen Sie ihn per Hover und fahren Sie auf den Hinweis. Er muss sichtbar bleiben.
  4. Prüfen Sie den Auslöser mit einem Vorleseprogramm: Name, Rolle und Beschreibung müssen hörbar und unterscheidbar sein.
  5. Suchen Sie im Tooltip nach Links, Feldern oder Schaltflächen. Finden Sie welche, braucht der Inhalt ein Popover- oder Dialogmuster.

Aus dem Prüfbericht

Zwei Stellen, zwei Befunde

Zum Mitnehmen

Der Tooltip, korrigiert

Ein Name am Auslöser, ein Verweis auf den Hinweis, Escape schließt.

Korrektur in 2 Schritten ansehen
  1. Auslöser und Hinweis verbinden

    aria-describedby macht den Hinweis zur Beschreibung des Auslösers. Fokus und Maus öffnen ihn.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <button type="button" class="info">i</button>
    <div role="tooltip" class="tip"></div>

    Nachher

    <button type="button" class="info" aria-label="Hinweis zum Pegelstand"
      aria-describedby="pegel-tip">
      <span aria-hidden="true">i</span>
    </button>
    <div id="pegel-tip" role="tooltip" class="tip" hidden>
      Pegel bezeichnet den Wasserstand.
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tab auf das i. Ein Vorleseprogramm sagt „Hinweis zum Pegelstand, Schaltfläche. Pegel bezeichnet den Wasserstand.“

  2. Fokus, Maus und Escape steuern den Hinweis

    Der Hinweis öffnet bei Fokus und Hover, bleibt bei Maus darauf und schließt mit Escape.

    KorrekturvergleichSchritt 2 · JavaScript

    Vorher

    info.addEventListener('mouseenter', () => tip.hidden = false);
    info.addEventListener('mouseleave', () => tip.hidden = true);

    Nachher

    const show = () => (tip.hidden = false);
    const hide = () => (tip.hidden = true);
    for (const type of ['mouseenter', 'focus']) info.addEventListener(type, show);
    for (const type of ['mouseleave', 'blur']) info.addEventListener(type, hide);
    tip.addEventListener('mouseenter', show);
    tip.addEventListener('mouseleave', hide);
    document.addEventListener('keydown', (event) => {
      if (event.key === 'Escape') hide();
    });

    Markierte Zeilen wurden geändert

    So prüfen Sie es Öffnen Sie den Hinweis per Tab, drücken Sie Escape. Der Hinweis verschwindet, der Fokus bleibt.

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.