Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

CSS voegt tekst toe die niet in de naam zit

CSS voegt tekst toe die niet in de naam zit — WCAG 2.5.3 Label in naam (post 6/7)

Een knop. In de HTML staat “Verwijderen.” Maar de CSS voegt via ::after het woord “definitief” toe.

De gebruiker ziet: “Verwijderen definitief.” De toegankelijke naam: “Verwijderen.” Spraakbesturing: “Klik op Verwijderen definitief.” Geen match.

/* Problematisch: CSS voegt zichtbare tekst toe */
.knop-verwijderen::after {
  content: " definitief";
}
<!-- De gebruiker ziet "Verwijderen definitief" -->
<!-- De toegankelijke naam is alleen "Verwijderen" -->
<button class="knop-verwijderen">Verwijderen</button>

<!-- Beter: alle tekst in de HTML -->
<button>Verwijderen definitief</button>

Waarom is dit een probleem?

CSS-gegenereerde content (::before en ::after) wordt niet altijd meegenomen in de berekening van de toegankelijke naam. Het gedrag verschilt per browser en schermlezer. Je kunt er niet op vertrouwen.

De vuistregel: tekst die informatie geeft, hoort in de HTML. CSS is voor styling, niet voor content.

Decoratieve tekens via CSS (een pijltje, een bullet) zijn prima. Maar woorden die de betekenis veranderen? Die horen in de HTML.

Zelf verder met dit onderwerp

Related Posts

Foutmelding en zoekresultaat ontbreken in de titel

Foutmelding en zoekresultaat ontbreken in de titel

Je vult een formulier in. Twee velden fout. Je drukt op Versturen. De pagina herlaadt.

aria-labelledby verwijst naar de verkeerde tekst

aria-labelledby verwijst naar de verkeerde tekst

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

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

WhatsApp ons (opent WhatsApp in een nieuw tabblad)