Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

Knop met icoon en tekst, maar aria-label vervangt alles

Knop met icoon en tekst, maar aria-label vervangt alles — WCAG 2.5.3 Label in naam (post 3/7)

Een knop. Disketje-icoon. Daarnaast: “Opslaan.”

De developer dacht: laat ik een uitgebreider aria-label toevoegen. “Sla het huidige document op naar de server.”

Het resultaat: de zichtbare tekst “Opslaan” is niet meer onderdeel van de toegankelijke naam. Spraakbesturing: “Klik op Opslaan.” Geen match.

<!-- Niet doen: aria-label vervangt de zichtbare tekst -->
<button aria-label="Sla het huidige document op naar de server">
  <svg aria-hidden="true"><!-- disketje --></svg>
  Opslaan
</button>

<!-- Wel doen: geen aria-label nodig -->
<button>
  <svg aria-hidden="true"><!-- disketje --></svg>
  Opslaan
</button>

De gouden regel: als je knop al zichtbare tekst heeft, heb je geen aria-label nodig.

Een aria-label overschrijft alles. De zichtbare tekst, de alt-tekst van afbeeldingen erin, alles. Zodra je een aria-label toevoegt, is dat de enige naam die schermlezers en spraakbesturing gebruiken.

Wanneer heb je wél een aria-label nodig? Alleen als het element geen zichtbare tekst heeft. Een knop met alleen een icoon. Een link met alleen een afbeelding. Dan is aria-label de juiste oplossing.

Zelf verder met dit onderwerp

Related Posts

Afbeelding als link zonder beschrijvend alt

Afbeelding als link zonder beschrijvend alt

Een winkelwagen-icoon. Klik erop en je gaat naar je winkelwagen. Logisch.

"Klik op Zoeken." Niets gebeurt.

"Klik op Zoeken." Niets gebeurt.

Je gebruikt spraakbesturing. Je ziet een knop met “Zoeken” erop. Je zegt: “Klik op Zoeken.”

Een ontoegankelijk element met een toegankelijk alternatief: mag je het laten staan?

Een ontoegankelijk element met een toegankelijk alternatief: mag je het laten staan?

In bijna elke audit kom ik deze situatie tegen. Een PDF die helemaal niet toegankelijk is. Een poster met de programma-informatie van een evenement. Een infographic vol cijfers. En de klant zegt: “Maar die informatie staat ook gewoon als tekst op de pagina. Hoeft dat dan nog?”