axe-core
Zie ook: axe
Een open-source geautomatiseerde testengine voor toegankelijkheid van Deque, gebruikt door browserextensies (axe DevTools, Accessibility Insights), CI-scripts en Lighthouse. Detecteert naar schatting 30–40% van de WCAG-problemen.
axe-core is de open-source geautomatiseerde testengine voor toegankelijkheid ontwikkeld door Deque Systems. Het vormt de kern van een breed ecosysteem van testtools — browserextensies (axe DevTools, Accessibility Insights), CI-scripts (axe-cli, jest-axe, cypress-axe, playwright-axe) en met name de toegankelijkheidsaudit van Lighthouse.
Het afgelopen decennium is axe-core de meest ingezette geautomatiseerde toegankelijkheidscontrole ter wereld. De meeste toegankelijkheidsgerelateerde CI-pipelines in productie draaien vandaag axe-core onder de motorkap, vaak zonder dat het team dit beseft.
Waar axe-core goed in is
De regelset van axe-core is bewust conservatief: een regel wordt alleen opgenomen wanneer het percentage fout-positieven vrijwel nul is. Hierdoor is axe-core betrouwbaar als CI-gate — als het een schending signaleert, is die schending reëel en kan het team er direct op acteren zonder te hoeven worstelen met onstabiele controles.
Regels die axe-core betrouwbaar detecteert:
- Ontbrekende of lege labels op formulierbesturingselementen.
- Ontbrekende alt-attributen (en duidelijk onjuiste alt zoals bestandsnamen).
- Onvoldoende kleurcontrast (tekst en UI-componenten).
- Ongeldige ARIA — niet-bestaande rollen, ontbrekende vereiste eigenschappen, verboden kindstructuren.
- Dubbele ID’s die ARIA-verwijzingen verbreken.
- Ontbrekend taalattribuut op
<html>. - Knoppen zonder toegankelijke naam.
- Formuliervelden zonder programmatisch label.
- Lege links (
<a href>...</a>zonder tekst of alt). - Het overslaan van kopniveaus en een ontbrekende
<h1>in sommige configuraties.
Deze lijst bestrijkt een betekenisvol percentage van de laaghangende toegankelijkheidsfouten. Het uitvoeren van axe-core in CI detecteert ze tijdens codereview in plaats van pas tijdens een audit.
De bovenlimiet
De auteurs van axe-core zijn hier expliciet over: geautomatiseerde tools kunnen maximaal 30–40% van de WCAG-problemen detecteren. De rest vereist menselijk oordeel en testen met hulptechnologie.
Specifiek kan axe-core het volgende niet detecteren:
- Onjuiste alternatieve tekst — het kan signaleren dat alt ontbreekt,
maar niet dat
alt="hamburger icon"fout is voor een knop die een menu opent. - Misleidende linktekst — “Klik hier”-links zijn technisch correct, maar nutteloos voor schermlezergebruikers.
- Onderbroken focusvolgorde — een tabbladvolgorde die niet overeenkomt met de visuele volgorde is een 2.4.3-schending die geen statische controle kan detecteren.
- Onjuiste kopstructuur — axe-core detecteert een ontbrekende h1 en overgeslagen niveaus, maar kan niet vaststellen dat een pagina h2 heeft gebruikt waar h1 had moeten staan.
- Content die alleen voor bepaalde gebruikersgroepen werkt — toegankelijk volgens WCAG maar onbruikbaar voor slechtziende gebruikers, gebruikers met een cognitieve beperking, enzovoort.
Een site zonder schendingen in axe-core is noodzakelijk voor toegankelijkheid, maar niet voldoende. Het resterende werk — focusvolgorde, contentkwaliteit, schermlezergedrag, testen met echte gebruikers — neemt het grootste deel van de daadwerkelijke tijd in beslag.
axe-core operationeel inzetten
Drie inzetpatronen werken goed samen:
- In de editor. axe DevTools en Accessibility Insights draaien op aanvraag tegen de gerenderde DOM in een browsertabblad. Gebruik tijdens ontwikkeling.
- In CI. axe-cli, jest-axe, cypress-axe of playwright-axe laten de build mislukken bij nieuwe schendingen. Gebruik om regressies te voorkomen.
- Tijdens een audit. Externe auditors starten met axe-core als vertrekpunt en voegen daarna handmatig testen toe. Gebruik om de geautomatiseerde basislijn te valideren.
De combinatie houdt automatisch detecteerbare problemen op nul, terwijl een volwaardig toegankelijkheidsprogramma de rest afhandelt.