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", dit geeft de knop een naam
  2. aria-hidden="true" op de SVG, dit 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

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.”

"Lees meer"

"Lees meer"

Lees meer. Lees meer. Lees meer. Lees meer. Lees meer.

Knop zonder naam

Knop zonder naam

Je hebt op je website een zoekveld met een knop. Op een desktop staat er “Zoeken” naast het vergrootglas-icoon. Prima, dat werkt. Maar wat gebeurt er als je inzoomt of de pagina op een telefoon bekijkt? De tekst “Zoeken” verdwijnt en alleen het icoon blijft over. En als dat icoon geen tekstalternatief heeft, dan weet iemand die voorleessoftware gebruikt niet wat die knop doet. Ze horen: “Knop.” Dat is alles. Geen “zoeken”, geen “versturen”, gewoon “knop.”