Bart Simons, AnySurfer
Alle niet-tekstuele content heeft een tekstalternatief dat een gelijkwaardig doel dient.
imgDe niet-tekstuele content is:
Er gaat informatie verloren als het wegvalt (omdat je het niet kunt zien of omdat het niet verschijnt).
Afbeeldingen die je invoegt met img,
hebben altijd een alt-attribuut nodig.
![]()
Of:
Link bevat enkel icoon en geen tekst:
<a class="facebook" href="https://facebook.com/anysurfer"></a>
a.facebook:after {
content:url('icon_facebook.png');
}
<a class="facebook" aria-label="Facebook" href="https://facebook.com/anysurfer"></a>
a.facebook:after {
content:url('icon_facebook.png');
}
<a class="facebook" href="https://facebook.com/anysurfer">
<span class="visuallyhidden">Facebook</span>
</a>
a.facebook:after {
content:url('icon_facebook.png');
}
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
Aria-label werkt enkel op component die rol heeft
Doe niet:
<a href="https://facebook.com/anysurfer">
<i class="facebook" aria-label="Facebook"></i>
</a>
Aria-label overschrijft de inhoud van een element.
Doe niet:
2
2 Berichten
aria-hidden="true"span toe
Programma NCDT 2025 →
09.00 – 09.30 ☕️ Inloop met koffie
aria-hidden onderdruk je dat.Voorbeeld: maalteken of X bedoeld als kruisje om te sluiten
Juni
Voorbeeld:
Gaan we met de 🚆 of met het ✈?
Verberg de emoji en voeg een tekstalternatief toe:
Gaan we met de
🚆
trein
of met het
✈
vliegtuig?
Of:
Gaan we met de
🚆
of met het
✈?
Zo heb je controle over de uitspraak
Voorbeeld: 🙀
.icon:before {
font-family: 'icomoon';
content: attr(data-icon);
}
.icon:before {
font-family: 'icomoon';
content: attr(data-icon);
}
Doe niet:
Screenreader leest: Zoekknop knop
Maar wel:
Doe niet:
Doe niet:
Niet:
Maar wel:
Niet:
Maar: