Hoe je formulieren toegankelijk maakt voor schermlezers
Formulieren zijn vaak cruciaal op een website: van inschrijvingen en bestellingen tot logins en contact. Voor gebruikers die een schermlezer gebruiken, kan een slecht opgebouwd formulier echter een groot obstakel vormen. Met de juiste HTML-technieken kun je formulieren volledig toegankelijk maken, zodat iedereen ermee kan werken. In dit artikel leer je hoe je stap voor stap formulieren optimaliseert voor schermlezers.
Waarom toegankelijke formulieren belangrijk zijn
- Inclusiviteit: mensen met een visuele beperking kunnen je site gebruiken. 
- WCAG-richtlijnen: toegankelijkheid is wettelijk verplicht in steeds meer landen. 
- Betere gebruikerservaring: duidelijke formulieren helpen álle gebruikers. 
- Minder fouten: goede beschrijvingen en validatie zorgen dat data correct wordt ingevuld. 
Labels correct koppelen
Elk invoerveld moet een zichtbaar of onzichtbaar label hebben dat gekoppeld is met het attribuut for.
Een schermlezer leest dit als: “E-mailadres, invoerveld, verplicht.”
Placeholder ≠ label
Placeholders zijn extra hints, maar mogen nooit het label vervangen.
Fout:
Goed:
Gebruik van fieldsets en legends
Groepeer gerelateerde velden met <fieldset> en geef een beschrijving met <legend>.
Een schermlezer leest dan eerst de context (“Contactgegevens”), waardoor de gebruiker beter begrijpt wat verwacht wordt.
Correct gebruik van input types
Gebruik specifieke input types zoals email, tel, date en number. Ze geven schermlezers en browsers extra context.
Voorbeeld:
Schermlezers weten zo dat er een datum verwacht wordt.
Foutmeldingen en feedback koppelen
Gebruik aria-describedby om foutmeldingen of hulpteksten te koppelen aan een veld.
Zo weet de schermlezer dat beide teksten relevant zijn voor dit veld.
Vereiste velden aangeven
Gebruik het attribuut required in plaats van een sterretje (*).
Een schermlezer meldt dit als “verplicht invoerveld”.
Duidelijke knoppen
Gebruik duidelijke tekst op knoppen zoals “Verstuur formulier” of “Inloggen”. Vermijd vage teksten zoals “OK” of “Klik hier”.
ARIA-rollen en -attributen
Soms zijn extra ARIA-attributen nodig:
- aria-required="true"voor custom velden.
- role="alert"voor foutmeldingen die direct moeten worden voorgelezen.
- aria-invalid="true"om aan te geven dat de invoer niet klopt.
Voorbeeld:
Toetsenbordtoegankelijkheid
- Alle velden moeten bereikbaar zijn met Tab. 
- Focus moet zichtbaar zijn met een duidelijke stijl: 
Visueel verbergen, maar niet voor schermlezers
Soms wil je een label verbergen maar wel toegankelijk houden. Gebruik daarvoor CSS, niet display: none.
Dynamische formulieren en focus
Als er dynamisch een extra veld verschijnt (bijvoorbeeld bij keuze “Anders”), zorg dan dat de focus automatisch naar dit veld gaat.
Veelgemaakte fouten bij formulieren
- Alleen placeholders gebruiken zonder labels. 
- Geen foutmeldingen koppelen aan velden. 
- Onlogische tabbalkvolgorde door verkeerde HTML-structuur. 
- Knoppen zonder beschrijvende tekst. 
- Velden verplicht maken zonder dit duidelijk te communiceren. 
Tips voor toegankelijke formulieren
- Zorg altijd voor labels en duidelijke instructies. 
- Gebruik - fieldseten- legendbij groepen.
- Voeg ARIA-attributen toe waar nodig, maar vertrouw eerst op standaard HTML. 
- Test formulieren met een schermlezer zoals NVDA of VoiceOver. 
- Test ook met alleen toetsenbordnavigatie. 
Met deze technieken maak je formulieren die voor iedereen bruikbaar zijn: snel, duidelijk en toegankelijk, ongeacht beperking of apparaat.

