Woordenlijst toegankelijkheid
WCAG-criteria, patronen en normen — met interactieve demo’s, detectiemethoden en auditgegevens.
WCAG principle 4 of 4 (POUR): code must be solid enough for browsers and assistive technologies (like screen readers) to interpret reliably.
ARIA: gebruik & misbruik
80% fail80% van de homepagina's gebruikt ARIA — en die pagina's hebben 2× meer fouten dan pagina's zonder. ARIA voegt geen gedrag toe, alleen semantiek. Misbruikt ARIA is erger dan geen ARIA. Vijf regels: gebruik geen ARIA als native werkt.
Forced Colors & High Contrast
Operating systems let people swap every color for their own palette (Windows High Contrast / `forced-colors` mode). Don't fight it: use semantic HTML, keep meaning out of background images, and check that content still reads after the swap.
Live Regions
A part of the page marked with `aria-live` so screen readers announce changes without moving focus. Use `polite` for routine updates (a results count) and `assertive` for urgent ones (an error). The region must exist before its text changes.
Naam, rol, waarde
Alle interactieve componenten moeten hun naam (wat het heet), rol (wat het is) en status (in welke toestand het is) blootstellen aan hulptechnologie. De basis van compatibiliteit met hulptechnologie.
Semantische HTML
Gebruik HTML-elementen voor hun bedoelde doel: <button> voor acties, <a> voor navigatie, <nav> voor navigatiesecties, <main> voor hoofdinhoud. Semantische HTML is de basis van webtoegankelijkheid.
Statusberichten
Statusberichten moeten programmatisch bepaalbaar zijn via rol of eigenschappen zodat ze aan schermlezers worden gepresenteerd zonder focus te ontvangen. Gebruik role="status" of aria-live.
Toegankelijke naam
Elk interactief element heeft een berekende toegankelijke naam nodig. Bronnen (in prioriteit): aria-labelledby → aria-label → <label> → tekstinhoud → title. Lege naam = onzichtbaar voor hulptechnologie.
Toegankelijkheidsboom
De parallelle DOM die hulptechnologie leest. Als een element niet in de toegankelijkheidsboom staat, bestaat het niet voor schermlezersgebruikers. Inspecteer via DevTools → tabblad Toegankelijkheid.