Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

Heading in een button: onzichtbaar voor schermlezers

Heading in een button: onzichtbaar voor schermlezers — WCAG 4.1.2 Naam, rol, waarde (post 7/12)

Een kaart op je website. De titel is een <h3>. De hele kaart is klikbaar. Dus de developer wikkelt de <h3> in een <button>.

<button>
  <h3>Bekijk details</h3>
</button>

Visueel: een klikbare kaart met een titel. Logisch.

Voor schermlezers: de heading is weg. Een <button> verwijdert de semantische rol van kindelementen. De <h3> is geen heading meer. Het is gewoon tekst in een knop.

Iemand die met een schermlezer van kop naar kop navigeert, slaat deze kaart over. De heading bestaat niet in de koppenstructuur.

<!-- Niet doen: heading in een button -->
<button>
  <h3>Bekijk details</h3>
</button>

<!-- Wel doen: platte tekst in de button -->
<button>Bekijk details</button>

<!-- Of: heading buiten de button -->
<h3>Bekijk details</h3>
<button>Meer informatie</button>

Hetzelfde geldt voor links in buttons:

<!-- Niet doen: link in een button is ongeldig HTML -->
<button>
  <a href="/details">Bekijk details</a>
</button>

<!-- Wel doen: kies één van de twee -->
<a href="/details">Bekijk details</a>

De regel: een button bevat platte tekst of decoratieve elementen. Geen headings, geen links, geen andere interactieve elementen.

Zelf verder met dit onderwerp

Related Posts

aria-expandd (met twee d's)

aria-expandd (met twee d's)

Een menuknop. aria-expanded om aan te geven of het menu open is. Maar de developer typte aria-expandd. Met twee d’s.

aria-hidden: wat het doet en wanneer je het wel of niet gebruikt

Je controleert een pagina met de WCAG Radar van Proper Access en zet de optie “Verborgen elementen” aan. Er lichten een paar plekken op. Bij elk daarvan staat: aria-hidden.

Lege link

Lege link

“Link.” Dat is alles. Een schermlezer meldt een link. Maar niet waarheen. Niet waarom. Niet wat.

WhatsApp ons (opent WhatsApp in een nieuw tabblad)