Een pagina met het toetsenbord gebruiken
Koppel de muis los en druk op Tab: elke link, knop en elk veld moet om beurten oplichten, in de leesvolgorde van de pagina.
Wie het toetsenbord gebruikt
Veel mensen raken nooit een muis aan. Sommigen kunnen die niet stilhouden; anderen gebruiken een schakelaar, mondstok of spraakherkenning die toetsaanslagen verstuurt; ook schermlezergebruikers bewegen meestal met het toetsenbord. WCAG 2.2-succescriterium 2.1.1 Toetsenbord, niveau A, zegt dat alles op de pagina met een toetsenbord moet werken. Criterium 2.1.2 Geen toetsenbordval voegt toe dat als de focus een paginadeel kan binnengaan, die er ook weer met het toetsenbord uit moet kunnen.
Gebruik elementen die al werken
Links met een href, button, input, select en textarea kunnen meteen focus krijgen en reageren op de juiste toetsen. Een div met een klikhandler niet: je bereikt die niet met Tab, Enter doet niets en een schermlezer kondigt die niet als knop aan. Het MDN-advies is duidelijk. Gebruik geen tabindex om een div als knop te laten werken; gebruik het button-element, met de rol en het toetsenbordgedrag al ingebouwd.
Focusvolgorde en tabindex
De Tab-volgorde volgt de elementvolgorde in de HTML-bron. Criterium 2.4.3 Focusvolgorde vraagt dat die volgorde de betekenis en het gebruik van de pagina intact houdt. De eenvoudigste oplossing voor een vreemde volgorde is dus de HTML herschikken. MDN noemt drie soorten tabindex-waarden. Nul zet een element in de normale volgorde. Een negatieve waarde, meestal -1, haalt het uit de Tab-volgorde, maar een script kan nog focus() aanroepen, handig voor een dialoog of foutmelding. Een positieve waarde dwingt het element vóór alle andere. MDN raadt alleen 0 en -1 aan omdat positieve waarden de volgorde moeilijk te volgen maken.
Zien waar je bent
Toetsenbordgebruikers moeten kunnen zien welk element focus heeft. Criterium 2.4.7 Focus zichtbaar, niveau AA, vraagt een zichtbare focusindicator. Een stylesheetregel zoals outline: none zonder vervanging voldoet dus niet. WCAG 2.2 voegde twee verwante criteria toe. 2.4.11 Focus niet bedekt (minimum), niveau AA, zegt dat het gefocuste item niet volledig verborgen mag zijn achter iets dat de maker toevoegde, zoals een vaste voettekst of cookiebanner. 2.5.8 Grootte van het aanwijsgebied (minimum), ook AA, vraagt dat klik- of tikdoelen minstens 24 bij 24 CSS-pixels zijn of voldoende ruimte eromheen hebben.
Nog een patroon helpt veel: de skiplink. Een site met een lang menu laat toetsenbordgebruikers op elke pagina met Tab door elk menu-item gaan. Een link als eerste op de pagina naar de hoofdinhoud laat ze er met één toetsaanslag voorbij springen. Die kan visueel verborgen zijn totdat de link focus krijgt.
Testen kost twee minuten. Klik in de adresbalk en druk herhaald op Tab door de hele pagina. Controleer of elk bedieningselement bereikbaar is, de volgorde bij de leesvolgorde past, je altijd ziet waar de focus is en Enter en Spatie hetzelfde doen als een muisklik. Druk dan op Shift+Tab om terug te gaan. Elk onbereikbaar bedieningselement of elke plek waar de focus verdwijnt is een fout.
| WCAG 2.1.1 | Toetsenbord (A): alles werkt met een toetsenbord |
| WCAG 2.1.2 | Geen toetsenbordval (A) |
| WCAG 2.4.7 | Focus zichtbaar (AA) |
| WCAG 2.4.11 | Focus niet bedekt (minimum), AA, nieuw in 2.2 |
| WCAG 2.5.8 | Grootte van het aanwijsgebied (minimum): 24 bij 24 CSS-pixels, AA |
| tabindex="-1" | Buiten de Tab-volgorde, focusbaar via een script |
- Alles moet zonder vallen met het toetsenbord werken (2.1.1, 2.1.2).
- Gebruik button en a href in plaats van klikbare divs.
- De Tab-volgorde volgt de HTML; gebruik alleen tabindex 0 en -1.
- Houd focus zichtbaar en onbedekt; doelen minstens 24 bij 24 CSS-pixels.
- Welke toets verplaatst de focus naar het volgende element?
- Een div heeft een onclick-handler. Wat is er mis?
- Je kunt die niet bereiken of indrukken met het toetsenbord
- Hij is te traag
- Je kunt hem geen opmaak geven
- Niets
- Wat doet tabindex="0"?
- Voegt het element toe aan de normale Tab-volgorde
- Zet het als eerste in de Tab-volgorde
- Verwijdert het uit de Tab-volgorde
- Schakelt het uit
- Welke tabindex-waarden raadt MDN aan?
- Alleen 0 en -1
- Elk positief getal
- 1 tot 10
- Geen, nooit
- Een stylesheet stelt outline: none in op elk gefocust element. Aan welk criterium wordt niet voldaan?
- 2.4.7 Focus zichtbaar
- 1.1.1 Niet-tekstuele content
- 1.4.3 Contrast (minimum)
- 3.3.2 Labels of instructies
- Welke minimale doelgrootte in CSS-pixels per zijde vraagt 2.5.8?
- Een vaste cookiebanner bedekt de gefocuste knop volledig. Welk WCAG 2.2-criterium betreft dat?
- 2.4.11 Focus niet bedekt (minimum)
- 2.4.3 Focusvolgorde
- 2.1.2 Geen toetsenbordval
- 1.4.11 Contrast van niet-tekstuele content
- Wat doet een skiplink?
- Springt voorbij herhaalde menu's naar de hoofdinhoud
- Slaat de volgende pagina over
- Verbergt afbeeldingen
- Schakelt het toetsenbord uit
- Welke toets vinkt een gefocust selectievakje aan?
- Spatie
- Tab
- Escape
- Shift
- Focus gaat een widget in en Tab kan er niet uit. Aan welk criterium wordt niet voldaan?
- 2.1.2 Geen toetsenbordval
- 2.4.6 Koppen en labels
- 1.4.1 Gebruik van kleur
- 2.5.8 Grootte van het aanwijsgebied
Bronnen van deze cursus (8)
- W3C, Web Content Accessibility Guidelines (WCAG) 2.2, W3C Recommendation first published 5 October 2023, current edition 12 December 2024 (w3.org/TR/WCAG22/, checked 2026-10-17)
- W3C WAI, What's new in WCAG 2.2 (w3.org/WAI/standards-guidelines/wcag/new-in-22/, checked 2026-10-17)
- W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree/, checked 2026-10-17)
- W3C, Using ARIA (w3.org/TR/using-aria/, Discontinued Draft 24 February 2026, rules 1 to 4, checked 2026-10-17)
- W3C WAI-ARIA Authoring Practices Guide, Read Me First, "No ARIA is better than bad ARIA" (w3.org/WAI/ARIA/apg/practices/read-me-first/, checked 2026-10-17)
- MDN Web Docs, tabindex (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex, checked 2026-10-17)
- MDN, Heading elements, accessibility notes (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements, checked 2026-10-17)
- MDN, autocomplete attribute (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete, checked 2026-10-17).
Geraadpleegd: 2026-10-17