De meest voorkomende toegankelijkheidsfouten op websites zijn tekst met te weinig contrast, afbeeldingen zonder alt-tekst, formuliervelden zonder label, lege links, lege knoppen en een ontbrekende taalinstelling. Dat blijkt uit het WebAIM Million-rapport van 2026, dat de homepages van een miljoen populaire websites automatisch test. Volgens dat rapport vallen 96% van alle gevonden fouten in die zes categorieën.
Het goede nieuws: de meeste van deze fouten los je op met een paar regels HTML of een andere werkwijze in je CMS. Dit artikel zet de tien meest voorkomende fouten op een rij, met het bijbehorende WCAG-criterium en een concrete oplossing. Het hoort bij onze complete gids over website-toegankelijkheid.
Wat zegt het WebAIM Million-rapport?
Het WebAIM Million-rapport is een jaarlijkse, automatische toegankelijkheidstest van de homepages van de een miljoen populairste websites. De editie van 2026 is gebaseerd op metingen uit februari 2026, met de WAVE-tool van WebAIM, die test op fouten tegen WCAG 2.2 niveau A en AA.
De belangrijkste cijfers uit het rapport:
- 95,9% van de homepages had automatisch vindbare WCAG-fouten, tegen 94,8% in 2025.
- Gemiddeld stonden er 56,1 fouten op een homepage, tegen 51 in 2025.
- De zes meest voorkomende fouttypen zijn volgens WebAIM al zeven jaar dezelfde.
| Fout (WebAIM Million 2026) | Aandeel homepages 2026 | 2025 |
|---|---|---|
| Tekst met te laag contrast | 83,9% | 79,1% |
| Ontbrekende alt-tekst bij afbeeldingen | 53,1% | 55,5% |
| Formuliervelden zonder label | 51% | 48,2% |
| Lege links | 46,3% | 45,4% |
| Lege knoppen | 30,6% | 29,6% |
| Ontbrekende documenttaal | 13,5% | 15,8% |
De fouten 7 tot en met 10 in deze lijst komen uit andere metingen in hetzelfde rapport: kopstructuur, vage linkteksten, ARIA-gebruik en skiplinks. Die telt WebAIM niet mee in de top zes, maar ze zijn wel gemeten en raken veel sites.
Een kanttekening die WebAIM zelf maakt: automatische tools vinden niet alle fouten. Het rapport schrijft dat het ontbreken van gevonden fouten niet betekent dat een pagina toegankelijk is of aan WCAG voldoet. De werkelijke stand is dus slechter dan deze cijfers laten zien.
1. Tekst met te weinig kleurcontrast
Te laag contrast is de meest voorkomende toegankelijkheidsfout: WebAIM vond het op 83,9% van de homepages, met gemiddeld 34 gevallen per pagina. Het gaat om tekst waarvan de kleur te weinig afsteekt tegen de achtergrond.
- WCAG-criterium: 1.4.3 Contrast (Minimum), niveau AA. Gewone tekst heeft minimaal 4,5:1 nodig, grote tekst (18 punt, of 14 punt vet) minimaal 3:1, volgens de WCAG 2.2-specificatie.
- Waarom het ertoe doet: mensen die slecht zien, ouder zijn of hun telefoon in de zon gebruiken, kunnen lichtgrijze tekst of tekst over een foto niet lezen.
De oplossing zit in je huisstijl en CSS, niet in de HTML. Kies tekstkleuren die met een contrastchecker minimaal 4,5:1 halen, en leg een donkere laag onder tekst die over een afbeelding staat. Meer over kleurcontrast vind je in de woordenlijst.
2. Afbeeldingen zonder alt-tekst
Een ontbrekende alt-tekst is de tweede fout: 53,1% van de homepages had minstens één afbeelding zonder alt-attribuut. Volgens WebAIM miste 16,2% van alle afbeeldingen een alt-tekst, gemiddeld 10,8 per homepage.
- WCAG-criterium: 1.1.1 Non-text Content, niveau A.
- Waarom het ertoe doet: een screenreader leest dan niets, of de bestandsnaam. Bij een gelinkte afbeelding weet de gebruiker niet waar de link heen gaat. WebAIM meldt dat 45% van de afbeeldingen zonder alt-tekst gelinkt was.
Geef informatieve afbeeldingen een korte beschrijving van wat ze in die context vertellen. Geef puur decoratieve afbeeldingen een lege alt, zodat een screenreader ze overslaat.
<!-- Informatieve afbeelding -->
<img src="team.jpg" alt="Ons supportteam van vijf mensen aan de balie in Utrecht">
<!-- Gelinkte afbeelding: beschrijf het doel van de link -->
<a href="/prijzen"><img src="prijzen-icoon.svg" alt="Bekijk de prijzen"></a>
<!-- Decoratieve afbeelding: lege alt -->
<img src="golflijn.svg" alt="">
Een goede alt-tekst helpt ook zoekmachines en AI-systemen je afbeeldingen te begrijpen, zie content die AI citeert.
3. Formuliervelden zonder label
Een formulierveld zonder label is de derde fout: 51% van de homepages had er minstens één. Van alle formuliervelden was volgens WebAIM 33,1% niet goed gelabeld.
- WCAG-criteria: 1.3.1 Info and Relationships (A), 3.3.2 Labels or Instructions (A) en 4.1.2 Name, Role, Value (A).
- Waarom het ertoe doet: een screenreader zegt alleen "invoerveld", zonder te vertellen wat je moet invullen. Een placeholder verdwijnt zodra je typt, waardoor ook ziende gebruikers de vraag vergeten.
Koppel een zichtbaar label aan elk veld met for en id. Een zoekveld met alleen een icoon kan een aria-label krijgen.
<label for="email">E-mailadres</label>
<input type="email" id="email" name="email" autocomplete="email">
<!-- Zoekveld zonder zichtbaar label -->
<input type="search" name="q" aria-label="Zoeken op de site">
Voor bestelformulieren en checkouts gaat het artikel over toegankelijke formulieren en checkout dieper in op foutmeldingen en verplichte velden.
4. Lege links
Een lege link is een link zonder tekst die een screenreader kan voorlezen. WebAIM vond lege links op 46,3% van de homepages. Meestal gaat het om een icoon van een sociaal netwerk of een logo zonder alt-tekst.
- WCAG-criteria: 2.4.4 Link Purpose (In Context), niveau A, en 4.1.2 Name, Role, Value, niveau A.
- Waarom het ertoe doet: de gebruiker hoort alleen "link" en weet niet waar die heen gaat.
<!-- Fout: icoon zonder tekst -->
<a href="https://www.linkedin.com/company/voorbeeld"><svg>…</svg></a>
<!-- Goed: tekst voor de screenreader, icoon verborgen -->
<a href="https://www.linkedin.com/company/voorbeeld">
<svg aria-hidden="true" focusable="false">…</svg>
<span class="visually-hidden">Volg ons op LinkedIn</span>
</a>
5. Lege knoppen
Een lege knop is een knop zonder toegankelijke naam, en WebAIM vond die op 30,6% van de homepages. Denk aan een hamburgermenu, een sluitkruisje of een zoekknop met alleen een icoon.
- WCAG-criterium: 4.1.2 Name, Role, Value, niveau A. Bij een afbeelding als knop ook 1.1.1.
- Waarom het ertoe doet: wie de knop niet ziet, weet niet wat hij doet en durft er niet op te drukken.
<button type="button" aria-label="Menu openen" aria-expanded="false">
<svg aria-hidden="true" focusable="false">…</svg>
</button>
6. Ontbrekende documenttaal
Een pagina zonder taalinstelling vertelt de browser niet in welke taal de tekst staat. Volgens WebAIM ontbrak die op 13,5% van de homepages.
- WCAG-criterium: 3.1.1 Language of Page, niveau A. Voor passages in een andere taal: 3.1.2 Language of Parts, niveau AA.
- Waarom het ertoe doet: een screenreader leest Nederlandse tekst dan voor met een Engelse uitspraak, wat vaak onverstaanbaar is.
<html lang="nl">
…
<p>Onze slogan is <span lang="en">built for speed</span>.</p>
</html>
7. Een rommelige kopstructuur
Koppen zijn de inhoudsopgave van een pagina voor screenreadergebruikers, en op veel sites klopt die niet. WebAIM telde overgeslagen kopniveaus, zoals een sprong van H2 naar H4, op 41,8% van de homepages. Op 18,1% stond meer dan één H1, en 7,5% had helemaal geen koppen.
- WCAG-criteria: 1.3.1 Info and Relationships (A) en 2.4.6 Headings and Labels (AA).
- Waarom het ertoe doet: WebAIM schrijft dat koppen het belangrijkste middel zijn waarmee screenreadergebruikers door content navigeren.
Een overgeslagen niveau is op zichzelf niet altijd een WCAG-fout, maar het maakt de structuur onduidelijk. Gebruik koppen in volgorde, en kies een kopniveau op basis van de structuur, niet op basis van de lettergrootte. Vetgedrukte tekst die eruitziet als kop, maar geen kop is in de code, is wel een fout onder 1.3.1.
8. Vage linkteksten
Een vage linktekst zoals "klik hier", "meer" of "verder" zegt niets over het doel van de link. WebAIM vond zulke linkteksten op 15,2% van de homepages, met gemiddeld 5,3 gevallen per pagina.
- WCAG-criterium: 2.4.4 Link Purpose (In Context), niveau A.
- Waarom het ertoe doet: screenreadergebruikers laten vaak een lijst met alle links voorlezen. Tien keer "lees meer" is dan onbruikbaar.
Schrijf de bestemming in de linktekst: "bekijk de openingstijden" in plaats van "klik hier". Dit is de fout die je als contentmaker het makkelijkst voorkomt.
9. ARIA verkeerd gebruikt
WAI-ARIA is een set HTML-attributen die extra informatie aan hulptechnologie geeft, maar verkeerd gebruik maakt een pagina juist slechter. WebAIM telde gemiddeld meer dan 133 ARIA-attributen per homepage. Pagina's met ARIA hadden gemiddeld 59,1 fouten, tegen 42 op pagina's zonder.
WebAIM benadrukt dat dit een samenhang is en geen bewijs dat ARIA de fouten veroorzaakt; pagina's met ARIA zijn ook complexer. Wel concreet: van de ARIA-menu's (role="menu") veroorzaakte 22% toegankelijkheidsproblemen door ontbrekende code of toetsenbordbediening.
- WCAG-criterium: meestal 4.1.2 Name, Role, Value, niveau A.
- Oplossing: gebruik eerst gewone HTML-elementen, zoals
<button>,<nav>en<a>. Die hebben de juiste rol en toetsenbordbediening al ingebouwd. Voeg ARIA alleen toe waar HTML tekortschiet.
10. Een ontbrekende of kapotte skiplink
Een skiplink is een link bovenaan de pagina waarmee toetsenbordgebruikers de navigatie overslaan en direct naar de inhoud gaan. Volgens WebAIM had 17,1% van de homepages een skiplink, en een op de tien daarvan werkte niet.
- WCAG-criterium: 2.4.1 Bypass Blocks, niveau A. Een skiplink is een gangbare manier om hieraan te voldoen; koppen en landmarks zoals
<main>helpen ook. - Waarom het ertoe doet: zonder skiplink moet een toetsenbordgebruiker op elke pagina opnieuw door het hele menu tabben.
<body>
<a href="#inhoud" class="skiplink">Naar de inhoud</a>
<header>…</header>
<main id="inhoud">…</main>
</body>
Verberg de skiplink niet met display: none, want dan werkt hij niet. Laat hem zichtbaar worden zodra hij focus krijgt.
Welke fouten vinden automatische tools wel en niet?
Automatische tools vinden of iets ontbreekt, maar zelden of iets klopt. Dat onderscheid bepaalt hoeveel handwerk je overhoudt na een scan.
| Fout | Automatisch te vinden | Wat handmatig blijft |
|---|---|---|
| Laag contrast | Alleen met een gerenderde pagina | Tekst over afbeeldingen, verlopen en hover-staten |
| Ontbrekende alt-tekst | Ja | Of de alt-tekst de afbeelding goed beschrijft |
| Velden zonder label | Ja | Of het label duidelijk is |
| Lege links en knoppen | Ja | Of de naam de functie goed beschrijft |
| Ontbrekende documenttaal | Ja | Of de ingestelde taal klopt |
| Kopstructuur | Deels, zoals overgeslagen niveaus | Of koppen de inhoud goed beschrijven |
| Vage linkteksten | Deels, bekende woorden als "klik hier" | Of een link in context duidelijk is |
| ARIA | Technische fouten in attributen | Of de bediening met het toetsenbord werkt |
| Skiplink | Of hij aanwezig is | Of hij zichtbaar wordt en naar de inhoud springt |
Kleurcontrast verdient aparte aandacht. Om contrast te meten, moet een tool weten welke kleur tekst en achtergrond werkelijk krijgen, inclusief stylesheets, afbeeldingen en lagen. Dat vergt een echte weergave van de pagina. Een test die alleen de HTML analyseert, kan contrast daarom niet betrouwbaar meten. Flowproof meldt contrast om die reden als handmatig te controleren, in plaats van een uitslag te geven die niet klopt.
Hoe je automatisch en handmatig testen combineert, lees je in website-toegankelijkheid testen. De criteria zelf staan uitgelegd in WCAG 2.2 uitgelegd.
Zo controleer je dit op je eigen site
Met deze stappen spoor je de tien fouten op je eigen site op:
- Draai een automatische test op je homepage, een landingspagina, een productpagina en je belangrijkste formulier. Die vindt ontbrekende alt-teksten, labels, lege links en knoppen en de documenttaal.
- Meet het contrast met een contrastchecker, vooral bij lichte tinten, merkkleuren en tekst over foto's.
- Bekijk je kopstructuur met een browserextensie die de koppen als lijst toont, en controleer of die lijst als inhoudsopgave leest.
- Lees je linkteksten los van de tekst eromheen en vervang elke "klik hier" of "lees meer".
- Tab door de pagina met alleen het toetsenbord: werkt de skiplink, zie je de focus en kun je menu's openen en sluiten?
- Controleer de alt-teksten in je mediabibliotheek op inhoud, niet alleen op aanwezigheid.
De toegankelijkheidscontrole van Flowproof zit in de betaalde abonnementen Pro en Business. Die test met axe-core op WCAG 2.0, 2.1 en 2.2 niveau A en AA, toont per bevinding het succescriterium, niveau en de ernst, en controleert ook of je een skiplink en een link naar je toegankelijkheidsverklaring hebt. Je kunt gratis een account aanmaken en daarna upgraden.