Wcag uitgelegd

aria-labelledby verwijst naar de verkeerde tekst

aria-labelledby verwijst naar de verkeerde tekst. WCAG 2.5.3 Label in naam (post 2/7)

Een invoerveld. Zichtbaar label: “E-mailadres.” Maar aria-labelledby verwijst naar een verborgen element met: “Voer uw elektronische postadres in.”

Een schermlezer leest: “Voer uw elektronische postadres in.” De gebruiker ziet: “E-mailadres.” Spraakbesturing: “Klik op E-mailadres.” Geen match.

<!-- Niet doen: aria-labelledby verwijst naar andere tekst -->
<span id="verborgen-label">Voer uw elektronische postadres in</span>
<label>E-mailadres</label>
<input type="email" aria-labelledby="verborgen-label">

<!-- Wel doen: label en toegankelijke naam komen overeen -->
<label for="email">E-mailadres</label>
<input type="email" id="email">

Waarom doet iemand dit?

Soms om een “betere beschrijving” te bieden voor schermlezers. Goed bedoeld. Maar het resultaat is dat de zichtbare tekst en de toegankelijke naam niet meer overeenkomen.

De simpelste oplossing: gebruik gewoon <label for="">. Geen aria-labelledby. Geen verborgen teksten. Het zichtbare label is de toegankelijke naam. Klaar.

Related Posts

Dialoogvenster krijgt geen focus bij openen

Dialoogvenster krijgt geen focus bij openen

Een popup verschijnt. “Wil je cookies accepteren?” Je drukt op Tab. En je zit in het navigatiemenu. Achter de popup. De focus is niet naar het dialoogvenster verplaatst.

Invoerveld zonder zichtbare rand

Invoerveld zonder zichtbare rand

Een wit invoerveld op een witte achtergrond. Met een lichtgrijze rand. Heel lichtgrijs. #D9D9D9.

Alle pagina's hebben dezelfde titel

Alle pagina's hebben dezelfde titel

Vijf tabbladen open. Allemaal van dezelfde website. Allemaal met dezelfde titel: “Gemeente Utrecht.”