Dekkingsmatrix
Wat we machinaal toetsen, wat deels, en wat een mens moet doen
Elke toegankelijkheidsscanner vindt maar een deel van wat een audit vindt. In plaats van dat vaag te laten, staat het hier per WCAG 2.2 A/AA-criterium: welke overtredingen onze scanner zelf vindt, waar hij gevallen apart zet om na te kijken, en waar hij helemaal niet kan oordelen. Gebaseerd op wat de scanner werkelijk draait, niet op wat we zouden willen.
Versie 1.0 · 2026-09-27 · WCAG 2.2 A/AA · axe-core 4.12.0
Dit is geen conformiteitsverklaring
Een schone scan betekent niet dat een pagina aan WCAG voldoet. Machinale toetsing dekt ongeveer de helft van wat een audit door een expert vindt, en meerdere criteria zijn alleen te beoordelen door een mens die de site gebruikt. Lees deze matrix als een beschrijving van het instrument, niet als een certificaat.
- machinaal
- 2 / 55
- De scanner vindt de gangbare overtredingen zelf en zeker; wat hij mist, is zeldzaam.
- deels machinaal
- 21 / 55
- De scanner vindt een deel van de overtredingen zeker en zet twijfelgevallen apart voor een mens; de rest is mensenwerk.
- menselijk oordeel
- 32 / 55
- Geen machinale toets; alleen een mens die de site gebruikt kan dit beoordelen.
- Regels die draaien
- 70
- axe-core-regels gekoppeld aan WCAG 2.2 A/AA die elke scan uitvoert.
Zo lees je de tabel: het criterium (officiële WCAG-titel), het niveau, hoe wij het dekken, en in één zin wat de machine wel en niet ziet, gevolgd door de regelnamen zodat een specialist ze kan nakijken in de axe-core-documentatie. “Fix beschikbaar” markeert criteria waarvoor onze Shopify-app een kant-en-klare wijziging in de themacode voorstelt.
1. Waarneembaar
| Criterium | Niveau | Dekking | Wat de machine ziet, en wat niet |
|---|---|---|---|
| 1.1.1 Niet-tekstuele content | A | deels machinaalFix beschikbaar in de Shopify-app | Vindt afbeeldingen, afbeeldingsknoppen, SVG's en objecten zonder tekstalternatief. Of een bestaande alt-tekst klopt, of een afbeelding echt decoratief is, beoordeelt een mens. image-alt · input-image-alt · object-alt · role-img-alt · svg-img-alt · aria-meter-name · aria-progressbar-name |
| 1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen) | A | deels machinaal | Meldt <audio>-elementen zonder ondertitelspoor. Transcripties elders op de pagina worden niet herkend. audio-caption |
| 1.2.2 Ondertitels voor doven en slechthorenden (vooraf opgenomen) | A | deels machinaal | Meldt <video>-elementen zonder ondertitelspoor. Ingesloten spelers (YouTube, Vimeo) en in het beeld gebrande ondertitels beoordeelt een mens. video-caption |
| 1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen) | A | menselijk oordeel | Geen machinale toets voor aanwezigheid of kwaliteit van audiodescriptie. |
| 1.2.4 Ondertitels voor doven en slechthorenden (live) | AA | menselijk oordeel | Live media zijn met een paginascan niet te beoordelen. |
| 1.2.5 Audiodescriptie (vooraf opgenomen) | AA | menselijk oordeel | Geen machinale toets voor audiodescriptie. |
| 1.3.1 Info en relaties | A | deels machinaalFix beschikbaar in de Shopify-app | Vindt kapotte lijsten, beschrijvingslijsten, tabelkop-relaties en ARIA-ouder/kind-structuren. Of koppen, landmarks en formuliergroepen de visuele structuur weerspiegelen, beoordeelt een mens. list · listitem · definition-list · dlitem · aria-required-children · aria-required-parent · td-has-header · td-headers-attr · th-has-data-cells · table-fake-caption · p-as-heading · aria-hidden-body |
| 1.3.2 Betekenisvolle volgorde | A | menselijk oordeel | Leesvolgorde tegenover visuele volgorde is machinaal niet te beslissen. |
| 1.3.3 Zintuiglijke eigenschappen | A | menselijk oordeel | Instructies die op vorm, kleur of positie leunen ("klik op de ronde knop") herkent alleen een mens. |
| 1.3.4 Weergavestand | AA | deels machinaal | Vindt CSS die de pagina op één weergavestand vastzet. Scripts die hetzelfde doen, worden niet herkend. css-orientation-lock |
| 1.3.5 Identificeer het doel van de input | AA | deels machinaal | Controleert of autocomplete-waarden geldig zijn. Of een veld dat er een zou moeten hebben hem mist, beoordeelt een mens. autocomplete-valid |
| 1.4.1 Gebruik van kleur | A | deels machinaal | Vindt links in lopende tekst die alleen door kleur verschillen. Kleur-alleen-betekenis in grafieken, formulieren en statussen beoordeelt een mens. link-in-text-block |
| 1.4.2 Geluidsbediening | A | deels machinaal | Vindt media die met geluid automatisch start (langer dan drie seconden) zonder bediening. no-autoplay-audio |
| 1.4.3 Contrast (minimum) | AA | deels machinaal | Meet tekstcontrast tegen effen achtergronden. Tekst over afbeeldingen, verlopen of overlappende lagen wordt apart gezet om handmatig na te kijken. color-contrast |
| 1.4.4 Herschaalbare tekst | AA | deels machinaalFix beschikbaar in de Shopify-app | Vindt de viewport-instelling die zoomen blokkeert. Of de pagina op 200% nog werkt, beoordeelt een mens. meta-viewport |
| 1.4.5 Afbeeldingen van tekst | AA | menselijk oordeel | Of een afbeelding tekst bevat, beslist deze scanner niet. |
| 1.4.10 Reflow | AA | menselijk oordeel | Vraagt de pagina op 320 CSS-pixels breed te bekijken; geen onderdeel van de scan. |
| 1.4.11 Contrast van niet-tekstuele content | AA | menselijk oordeel | Contrast van iconen, randen en bedieningselementen wordt niet gemeten. |
| 1.4.12 Tekstafstand | AA | deels machinaal | Vindt inline-stijlen die tekstafstand onoverschrijfbaar maken. Of inhoud stukgaat bij vergrote afstand, beoordeelt een mens. avoid-inline-spacing |
| 1.4.13 Content bij hover of focus | AA | menselijk oordeel | Gedrag van tooltips en popovers vraagt interactie om te beoordelen. |
2. Bedienbaar
| Criterium | Niveau | Dekking | Wat de machine ziet, en wat niet |
|---|---|---|---|
| 2.1.1 Toetsenbord | A | deels machinaal | Vindt scrolgebieden en frames die toetsenbordgebruikers niet bereiken. Eigen bedieningselementen die alleen met de muis werken, beoordeelt een mens. scrollable-region-focusable · frame-focusable-content · server-side-image-map |
| 2.1.2 Geen toetsenbordval | A | menselijk oordeel | Een toetsenbordval blijkt pas bij het doorlopen met de tab-toets. |
| 2.1.4 Enkel teken sneltoetsen | A | menselijk oordeel | Sneltoetsen van één teken zijn niet uit de pagina af te leiden. |
| 2.2.1 Timing aanpasbaar | A | deels machinaal | Vindt pagina's die op een timer verversen of doorsturen. Sessietime-outs en aftellers in scripts beoordeelt een mens. meta-refresh |
| 2.2.2 Pauzeren, stoppen, verbergen | A | deels machinaal | Vindt de elementen blink en marquee. Carrousels en animaties beoordeelt een mens. blink · marquee |
| 2.3.1 Drie flitsen of beneden drempelwaarde | A | menselijk oordeel | Flitsende inhoud is met een paginascan niet te meten. |
| 2.4.1 Blokken omzeilen | A | deels machinaal | Controleert op een skip-link, landmarks of koppen. Of de skip-link ook werkt, beoordeelt een mens. bypass |
| 2.4.2 Paginatitel | A | machinaal | Vindt pagina's zonder titel. Of de titel beschrijvend is, is een oordeel; dat hij ontbreekt, is zeker. document-title |
| 2.4.3 Focusvolgorde | A | menselijk oordeel | Focusvolgorde vraagt het doorlopen van de pagina met de tab-toets. |
| 2.4.4 Linkdoel (in context) | A | deels machinaalFix beschikbaar in de Shopify-app | Vindt links en image-map-gebieden zonder toegankelijke naam. Of "lees meer" in context duidelijk is, beoordeelt een mens. link-name · area-alt |
| 2.4.5 Meerdere manieren | AA | menselijk oordeel | Of er een tweede weg naar pagina's is (zoeken, sitemap, navigatie) is een oordeel op siteniveau. |
| 2.4.6 Koppen en labels | AA | menselijk oordeel | Of koppen en labels beschrijvend zijn, is machinaal niet te beslissen. |
| 2.4.7 Focus zichtbaar | AA | menselijk oordeel | Vraagt bediening met het toetsenbord terwijl de focusindicator wordt bekeken. |
| 2.4.11 Focus niet bedekt (minimum) | AA | menselijk oordeel | Vaste koppen en cookiebalken die het gefocuste element bedekken, blijken pas bij het tabben. |
| 2.5.1 Aanwijzergebaren | A | menselijk oordeel | Multipoint- en padgebaren zijn niet uit de pagina af te leiden. |
| 2.5.2 Aanwijzerannulering | A | menselijk oordeel | Gedrag op het down-event vraagt interactie om te beoordelen. |
| 2.5.3 Label in naam | A | deels machinaal | Vindt bedieningselementen waarvan de toegankelijke naam de zichtbare tekst niet bevat. label-content-name-mismatch |
| 2.5.4 Bewegingsactivering | A | menselijk oordeel | Functies die door beweging worden geactiveerd, zijn niet uit de pagina af te leiden. |
| 2.5.7 Sleepbewegingen | AA | menselijk oordeel | Of sleepacties een alternatief met één aanwijzer hebben, beoordeelt een mens. |
| 2.5.8 Grootte van het aanwijsgebied (minimum) | AA | deels machinaal | Meet of doelen 24×24 CSS-pixels halen of genoeg ruimte hebben. Links in lopende tekst zijn uitgezonderd en worden overgeslagen. target-size |
3. Begrijpelijk
| Criterium | Niveau | Dekking | Wat de machine ziet, en wat niet |
|---|---|---|---|
| 3.1.1 Taal van de pagina | A | machinaal | Vindt een ontbrekende of ongeldige paginataal. Of de opgegeven taal de juiste is, is een oordeel; dat hij ontbreekt, is zeker. html-has-lang · html-lang-valid · html-xml-lang-mismatch |
| 3.1.2 Taal van onderdelen | A | deels machinaal | Controleert of lang-attributen op onderdelen geldig zijn. Passages in een andere taal zonder lang-attribuut beoordeelt een mens. valid-lang |
| 3.2.1 Bij focus | A | menselijk oordeel | Contextwijzigingen bij focus vragen interactie om te beoordelen. |
| 3.2.2 Bij input | A | menselijk oordeel | Contextwijzigingen bij invoer vragen interactie om te beoordelen. |
| 3.2.3 Consistente navigatie | AA | menselijk oordeel | Consistentie over pagina's is een oordeel op siteniveau. |
| 3.2.4 Consistente identificatie | AA | menselijk oordeel | Consistentie van componenten over pagina's is een oordeel op siteniveau. |
| 3.2.6 Consistente hulp | A | menselijk oordeel | Plaatsing van hulp over pagina's is een oordeel op siteniveau. |
| 3.3.1 Foutidentificatie | A | menselijk oordeel | Foutmeldingen verschijnen pas na het verzenden van een formulier. |
| 3.3.2 Labels of instructies | A | deels machinaal | Vindt velden met tegenstrijdige labels; velden zonder naam staan onder 4.1.2 (label, select-name). Of instructies volstaan, beoordeelt een mens. form-field-multiple-labels |
| 3.3.3 Foutsuggestie | AA | menselijk oordeel | Alleen waarneembaar na het verzenden van ongeldige invoer. |
| 3.3.4 Foutpreventie (wettelijk, financieel, gegevens) | AA | menselijk oordeel | Bevestigings- en herstelstappen in de kassa beoordeelt een mens. |
| 3.3.7 Overbodige invoer | A | menselijk oordeel | Herhaalde invoer binnen een proces beoordeelt een mens. |
| 3.3.8 Toegankelijke authenticatie (minimum) | AA | menselijk oordeel | Cognitieve tests in inlogstromen beoordeelt een mens. |
4. Robuust
| Criterium | Niveau | Dekking | Wat de machine ziet, en wat niet |
|---|---|---|---|
| 4.1.2 Naam, rol, waarde | A | deels machinaalFix beschikbaar in de Shopify-app | De breedste machinale dekking: namen van knoppen, links, velden en frames, geldige ARIA-rollen en -attributen, verborgen-maar-bereikbare inhoud, geneste bedieningselementen. Of states (uitgeklapt, geselecteerd) door scripts worden bijgehouden, beoordeelt een mens. button-name · link-name · label · select-name · input-button-name · input-image-alt · frame-title · frame-title-unique · summary-name · aria-allowed-attr · aria-required-attr · aria-roles · aria-valid-attr · aria-valid-attr-value · aria-prohibited-attr · aria-conditional-attr · aria-deprecated-role · aria-hidden-focus · aria-hidden-body · aria-command-name · aria-input-field-name · aria-tab-name · aria-toggle-field-name · aria-tooltip-name · aria-roledescription · aria-braille-equivalent · duplicate-id-aria · nested-interactive · area-alt |
| 4.1.3 Statusberichten | AA | menselijk oordeel | Of statusberichten worden voorgelezen, vraagt interactie om te beoordelen. |
Methode en versiebeheer
De scanner laadt een pagina in een echte browser zoals een bezoeker dat doet en draait axe-core met de regelsets voor WCAG 2.2 A en AA. De koppeling van regel aan criterium in deze tabel komt rechtstreeks uit de metadata van axe-core; de indeling in machinaal, deels machinaal en menselijk oordeel is ons vakoordeel en staat als zodanig vermeld.
Resultaten die axe-core niet kan beslissen (bijvoorbeeld tekst over een afbeelding) staan in elk rapport als handmatig na te kijken punten, niet verborgen en niet als geslaagd geteld.
Deze matrix draagt een versie en een datum. Hij verandert als de axe-core-versie, de regelsets of onze indeling veranderen, zodat twee edities vergelijkbaar zijn.