Toegankelijkheid (a11y) zorgt ervoor dat websites bruikbaar zijn voor iedereen, inclusief mensen met beperkingen. Deze cheatsheet geeft de belangrijkste richtlijnen en tips om je website toegankelijk te maken.

Structuur & semantiek

RichtlijnVoorbeeld
Gebruik semantische HTML<header> <main> <footer> i.p.v. alleen <div>
Koppen hiërarchisch gebruiken<h1> voor paginatitel, daarna <h2> en <h3>
Gebruik lijsten voor opsommingen<ul><li>Item</li></ul>
Gebruik <label> voor formulieren<label for="email">E-mail</label>
Gebruik <button> i.p.v. clickable <div><button>Verstuur</button>

Tekst & contrast

RichtlijnVoorbeeld
Voldoende contrastTekst moet contrastverhouding 4.5:1 hebben
Geen tekst in afbeeldingenGebruik echte tekst, niet ingebakken in een plaatje
Altijd schaalbare lettergroottefont-size: 1rem; i.p.v. vaste pixels

Afbeeldingen & media

RichtlijnVoorbeeld
Alt-teksten<img src="kat.jpg" alt="Zwarte kat op vensterbank">
Decoratieve afbeeldingen<img src="lijn.png" alt=""> (lege alt)
Ondertiteling bij video’s<track src="ondertitels.vtt" kind="subtitles" srclang="nl">
Transcript voor audioBied een tekstversie aan van podcasts of audio

Formulieren

RichtlijnVoorbeeld
Labels koppelen aan inputs<label for="naam">Naam</label><input id="naam">
Foutmeldingen duidelijk maken<span id="error">Vul uw naam in</span> + ARIA koppeling
Tabvolgorde logischGebruik natuurlijke volgorde, niet corrigeren met tabindex > 0

Keyboard-navigatie

RichtlijnVoorbeeld
Focus zichtbaar maken:focus { outline: 2px solid #00bf63; }
Skip links toevoegen<a href="#main" class="skiplink">Ga naar inhoud</a>
Gebruik geen outline: none; zonder alternatiefZorg dat focus altijd zichtbaar is

ARIA (Accessible Rich Internet Applications)

RichtlijnVoorbeeld
Gebruik ARIA alleen als HTML niet volstaat<button aria-pressed="true">Toggle</button>
Gebruik landmarks<main role="main">, <nav role="navigation">
Beschrijf knoppen en iconen<button aria-label="Zoeken"><svg>...</svg></button>

Overige best practices

RichtlijnVoorbeeld
Responsive designGeschikt voor schermlezers én kleine schermen
Formulieren valideren client + server sideZorg dat foutmeldingen altijd duidelijk zijn
Gebruik duidelijke taalVermijd jargon en te lange zinnen
Test met screenreadersNVDA, JAWS, VoiceOver
Test met toetsenbordKun je alles bereiken zonder muis?