Wcag uitgelegd

Knop zonder naam

Knop zonder naam — WCAG 4.1.2 Naam, rol, waarde (post 1/12)

“Knop.”

Dat is wat een schermlezer zegt. Knop. Maar welke knop? Wat doet die?

Een hamburger-icoon. Drie SVG-streepjes. Geen tekst. Geen aria-label. Geen alt.

De schermlezer weet: het is een knop (de rol). Maar niet wat die doet (de naam).

<!-- Niet doen: icoon zonder naam -->
<button>
  <svg viewBox="0 0 24 24">
    <path d="M3 6h18v2H3z"/>
  </svg>
</button>

<!-- Wel doen: aria-label geeft de naam -->
<button aria-label="Menu openen">
  <svg aria-hidden="true" viewBox="0 0 24 24">
    <path d="M3 6h18v2H3z"/>
  </svg>
</button>

Let op de twee toevoegingen:

  1. aria-label="Menu openen" — geeft de knop een naam
  2. aria-hidden="true" op de SVG — voorkomt dat de schermlezer de SVG-code probeert voor te lezen

Dit geldt ook voor:

  • Invoervelden zonder label
  • Links met alleen een afbeelding zonder alt
  • Sluitknoppen met alleen een X-icoon
  • Social media links met alleen iconen

Elk interactief element heeft een naam nodig. Geen uitzondering.

Related Posts

Informatief icoon dat onzichtbaar is

Informatief icoon dat onzichtbaar is

Drie streepjes. Een hamburgericoon. Dat is je menu. Tenminste, als je het kunt zien.

Paginatitel ontbreekt

Paginatitel ontbreekt

Je opent een pagina. De schermlezer zegt: “https colon slash slash w-w-w dot example dot com slash pagina dash 3-b dot html.”

Klikbare div in plaats van een button

Klikbare div in plaats van een button

Een div met een onclick. Ziet eruit als een knop. Doet iets als je erop klikt.