aria-describedby

Der Draht zwischen Feld und Text

Beschreibung ohne Namen, Verweis ins Leere, doppelte ID: drei Fehlerbilder.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Regler ohne zugänglichen Namen

Schaltplan der Beschreibung

Eine ID-Liste baut den ganzen Hinweis

Verfolgen Sie den Weg vom Attribut zu Hinweis, Fehler und gesprochener Beschreibung.

Schaltplan für aria-describedby Zwei Leitungen führen von den IDs pw-hinweis und pw-fehler zu den gleichnamigen Textelementen. Beide Texte fließen anschließend in die gesprochene Beschreibung.

Ausgang

Das Passwortfeld

aria-describedby="pw-hinweis pw-fehler"

Name bleibt Name: Das label nennt „Passwort“. aria-describedby ergänzt längere Hilfe.

Ziel-ID

pw-hinweis

Mindestens 12 Zeichen.

dauerhafte Anleitung

Ziel-ID

pw-fehler

Das Passwort ist zu kurz.

Fehler nach Prüfung

Beim Fokus hörbar

Vier getrennte Informationskanäle

Name PasswortRolle Eingabefeld, geschütztZustand ungültige EingabeBeschreibung Mindestens 12 Zeichen. Das Passwort ist zu kurz.
Konzeptdarstellung. Die Reihenfolge der IDs legt die Reihenfolge der zusammengefügten Beschreibung fest; konkrete Ansagen unterscheiden sich je Vorleseprogramm und Browser.

Zustandswechsel

Hinweis bleibt, Fehler kommt und geht

  1. 1
    Vor der Prüfungaria-describedby="pw-hinweis"

    Nur die Eingabehilfe gehört zur Beschreibung.

  2. 2
    Nach dem Absendenaria-describedby="pw-hinweis pw-fehler"

    Fehlertext und aria-invalid="true" kommen gemeinsam hinzu.

  3. 3
    Nach der Korrekturaria-describedby="pw-hinweis"

    Fehlertext, Referenz und ungültiger Zustand werden zurückgenommen.

Vollständiges Grundgerüst

HTML mit eindeutigen Zielen

<form action="/konto" method="post">
  <label for="pw">Passwort</label>
  <input id="pw" name="passwort" type="password"
    autocomplete="new-password"
    aria-describedby="pw-hinweis">

  <p id="pw-hinweis">Mindestens 12 Zeichen.</p>
  <p id="pw-fehler" hidden></p>

  <button type="submit">Konto anlegen</button>
</form>

Jede Referenz trifft genau eine id im selben Dokument. Sichtbare Hilfe bleibt auch ohne Vorleseprogramm verständlich.

Nach der Prüfung

JavaScript hält vier Werte synchron

const feld = document.getElementById('pw');
const fehler = document.getElementById('pw-fehler');

function fehlerSetzen(text) {
  const ungueltig = Boolean(text);
  fehler.textContent = text;
  fehler.hidden = !ungueltig;
  ungueltig
    ? feld.setAttribute('aria-invalid', 'true')
    : feld.removeAttribute('aria-invalid');
  feld.setAttribute('aria-describedby', ungueltig
    ? 'pw-hinweis pw-fehler'
    : 'pw-hinweis');
  if (ungueltig) feld.focus();
}

Der Fokus auf dem Feld macht Name, Zustand und aktualisierte Beschreibung erreichbar. Prüfen Sie nach dem Absenden, nicht bei jedem Tastendruck.

So prüfen Sie die Verbindung

  • DOM: Jede ID aus dem Attribut existiert genau einmal.
  • Fokus: Name, Zustand, Hinweis und Fehler werden verständlich.
  • Sicht: Hinweise und Fehler stehen lesbar beim betroffenen Feld.
  • Korrektur: Fehlerreferenz und aria-invalid verschwinden.

Aus dem Prüfbericht

Drei Fehlerbilder, drei Befunde

Zum Mitnehmen

Das Passwortfeld, korrigiert

Ein label für den Namen, aria-describedby für den Hinweis, jede id einmal.

Korrektur in 2 Schritten ansehen
  1. Name und Beschreibung trennen

    Das label ist der Name. aria-describedby hängt den Hinweis an. Beides wird nacheinander vorgelesen.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <input id="passwort" type="password" aria-describedby="pw-hinweis">
    <p id="pw-hinweis">Mindestens 12 Zeichen.</p>

    Nachher

    <label for="passwort">Passwort</label>
    <input id="passwort" type="password" aria-describedby="pw-hinweis">
    <p id="pw-hinweis">Mindestens 12 Zeichen.</p>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tab ins Feld. Ein Vorleseprogramm sagt „Passwort, Eingabefeld. Mindestens 12 Zeichen.“

  2. Verweis und ID abgleichen, IDs eindeutig halten

    Der Wert in aria-describedby ist genau die id des Hinweises. Zwei Hinweise brauchen zwei ids.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <input id="passwort" type="password" aria-describedby="hinweis">
    <p id="hinweis">Mindestens 12 Zeichen.</p>
    <p id="hinweis">Keine Leerzeichen.</p>

    Nachher

    <input id="passwort" type="password" aria-describedby="pw-laenge pw-zeichen">
    <p id="pw-laenge">Mindestens 12 Zeichen.</p>
    <p id="pw-zeichen">Keine Leerzeichen.</p>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Ein Vorleseprogramm liest beide Hinweise nacheinander vor.

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.