Wat de scan wel en niet toetst
Everable toetst tegen WCAG 2.2 niveau AA, de norm waar EN 301 549 en daarmee de Europese toegankelijkheidsrichtlijn naar verwijzen. Dat zijn 55 succescriteria. Hieronder staat voor elk daarvan wat de machine doet en wat er voor een mens overblijft.
Van de 55 criteria geeft de meting er over 43 zelf een oordeel — geheel of gedeeltelijk — met 124 toetsregels: die van axe-core 4.13.0, plus onze eigen toetsen. Everable legt de muis weg en tabt door de pagina; hij zet hem op een scherm van 320 pixels, op 200% en met ruimere tekstinstellingen; hij leest mee met de koppen, de alt-teksten, de tooltips en de tekst zelf; hij kijkt of video ondertiteling heeft; hij leest je formulieren na op verplichte velden, dubbele vragen en knoppen die iets vastleggen; en hij onderschept waar de pagina naar luistert — sneltoetsen, veeggebaren, bewegingssensoren.
Bij de overige 12 kan hij niet oordelen, maar wijst hij wél aan wáár je moet kijken — en meldt hij het als er op de pagina niets staat dat onder dat criterium valt. Dat laatste is ook een antwoord: staat er geen video op je site, dan hoef je over ondertiteling niet meer na te denken.
Dat er bij die 12 geen oordeel staat, is geen tekortkoming van deze tool maar van alle tools. Of een alt-tekst klópt, of een foutmelding te begrijpen is, of een video knippert: dat gaat over betekenis, en betekenis kan een machine niet wegen. Everable doet hier wat wél kan — de plek aanwijzen — en zegt er eerlijk bij dat de conclusie van jou moet komen.
Daarom heet het een 0-meting en geen audit, en daarom staat er in geen enkel Everable-rapport dat een website “aan WCAG voldoet”. Wat er wel staat, is wat er gevonden is, waar het staat, en wat je eraan doet.
1. Waarneembaar
| Criterium | Niveau | Hoe getoetst |
|---|---|---|
| 1.1.1 Niet-tekstuele content Everable ziet of alt-tekst ontbreekt, en leest daarnaast mee: bestandsnamen, "afbeelding van…", en dezelfde tekst bij een hele rij beelden meldt hij apart. Of een wél beschrijvende alt-tekst ook het júiste vertelt in deze context, blijft mensenwerk — loop de gemelde afbeeldingen langs en lees de alt-teksten hardop. |
A | Deels automatisch |
| 1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen) Everable vindt de audio op de pagina en kijkt of er een uitgeschreven versie bij staat. Luisteren kan hij niet: of die tekst ook klopt met wat er gezegd wordt, lees je zelf na. |
A | Deels automatisch |
| 1.2.2 Ondertitels (vooraf opgenomen) Bij een zelf geplaatste video ziet Everable of er een spoor met ondertiteling in zit — zit dat er niet, dan is dat een harde bevinding. In de speler van YouTube of Vimeo kan hij niet kijken; die meldt hij wel, zodat je weet wélke video je moet nalopen. Of de ondertiteling ook klopt, en of automatische ondertiteling is nagelezen, beoordeel je zelf. |
A | Deels automatisch |
| 1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen) Everable kijkt of er een spoor met audiodescriptie in de video zit en of er een tekstversie in de buurt staat. Of het beeld informatie draagt die niet wordt uitgesproken — en er dus écht een beschrijving nodig is — zie je alleen door te kijken. |
A | Deels automatisch |
| 1.2.4 Ondertitels (live) Everable ziet of er een live uitzending op de pagina staat: een speler zonder eindtijd, een HLS- of DASH-stream, of een ingesloten uitzending van een livedienst. Vindt hij er geen, dan is dit criterium niet van toepassing en ben je klaar. Vindt hij er wel een, dan controleer je zelf of er tijdens de uitzending ondertiteling meeloopt — achteraf ondertitelen telt hier niet. |
AA | Everable wijst aan |
| 1.2.5 Audiodescriptie (vooraf opgenomen) Zelfde controle als bij 1.2.3, maar op niveau AA telt alleen een echte audiodescriptie mee en niet een tekstversie. Everable ziet of dat spoor er is; of het nodig is, beoordeel je door de video te bekijken. |
AA | Deels automatisch |
| 1.3.1 Info en relaties Everable toetst lijsten, tabellen, labels en de ARIA-structuur, en loopt daarnaast de koppenboom zelf na: ontbreekt de h1, wordt er een niveau overgeslagen, staat er een lege kop, en — het lastigste — staat er tekst die er als kop uitziet maar het niet is. Of de koppen ook de júiste indeling beschrijven, blijft een menselijk oordeel. |
A | Deels automatisch |
| 1.3.2 Betekenisvolle volgorde Everable ziet het als de css de volgorde omdraait (row-reverse, column-reverse of order) en wijst die plekken aan. Of dat er in dít geval toe doet, beoordeel je zelf: lees de blokken in de gemelde volgorde hardop en kijk of het verhaal nog klopt. |
A | Deels automatisch |
| 1.3.3 Zintuiglijke eigenschappen Everable leest de tekst na op verwijzingen die je moet kunnen zien: een kleur, een vorm of een plek op het scherm in combinatie met een knop, veld of link. Instructies in afbeeldingen en in video kan hij niet lezen; die loop je zelf na. |
A | Deels automatisch |
| 1.3.4 Weergavestand Everable ziet of de weergavestand vastgezet is met CSS. Test daarnaast je telefoon een keer liggend. |
AA | Deels automatisch |
| 1.3.5 Identificeer het doel van de input Everable toetst of opgegeven autocomplete-waarden geldig zijn. Of elk veld dat het verdient er een heeft — naam, e-mail, adres — kijk je zelf na. |
AA | Deels automatisch |
| 1.4.1 Gebruik van kleur Everable ziet links die alleen aan kleur te herkennen zijn. Grafieken, statusbolletjes en verplichte velden die alleen aan een kleur te herkennen zijn, loop je zelf na. |
A | Deels automatisch |
| 1.4.2 Geluidsbediening Everable meldt audio en video die vanzelf met geluid beginnen en geen zichtbare bediening hebben om te stoppen — dat is een harde bevinding. Geluid dat pas na een handeling begint, of dat via een eigen speler loopt, hoor en probeer je zelf. |
A | Deels automatisch |
| 1.4.3 Contrast (minimum) Everable rekent elk kleurpaar na en doet een voorstel binnen je huisstijl. Tekst op een foto of een verloop kan de machine niet betrouwbaar meten; die beoordeel je met het oog. |
AA | Deels automatisch |
| 1.4.4 Herschalen van tekst Everable zet de pagina zelf op 200% — een venster van 640 css-pixels — en meldt wat er dan buiten beeld valt, naast de controle of inzoomen geblokkeerd is. Kijk daarna zelf of de tekst op 200% ook nog leesbaar is en of alle knoppen bereikbaar blijven. |
AA | Deels automatisch |
| 1.4.5 Afbeeldingen van tekst Everable kan niet lezen wat er in een plaatje staat, maar hij wijst aan wat erop lijkt: een afbeelding ín een kop, een opvallend lange alt-tekst, of een bestandsnaam als banner.png of tarieven.jpg. Jij kijkt of daar echt tekst in zit. Een logo, een screenshot en een grafiek mogen; een kop, een citaat of een prijslijst horen gewone tekst te zijn. |
AA | Everable wijst aan |
| 1.4.10 Reflow Everable laadt de pagina zelf op een scherm van 320 pixels breed en wijst aan welke onderdelen breder blijven dan het scherm. Tabellen, kaarten en code mogen van de norm wél schuiven; controleer bij die uitzonderingen zelf of de rest van de pagina blijft staan. |
AA | Deels automatisch |
| 1.4.11 Contrast van niet-tekstuele content Everable meet de invoervelden, keuzelijsten en tekstvakken: haalt de rand of het vlak zelf 3:1 tegen de omgeving? Iconen, grafieken en statusbolletjes kan hij niet meten — die kleuren pik je er zelf uit. |
AA | Deels automatisch |
| 1.4.12 Tekstafstand Everable zet zelf de tekstinstellingen uit de norm aan — regelafstand 1,5, ruimere letters, woorden en alinea's — en meldt wat er dan gaat knellen of wegvalt. Lees de gemelde plekken daarna na: knellen is te meten, onleesbaar worden niet helemaal. |
AA | Deels automatisch |
| 1.4.13 Content bij hover of focus Everable meldt uitleg die alleen via het title-attribuut bestaat — die verschijnt alleen bij de muis en is niet weg te krijgen. Eigen tooltips en uitklapmenu's test je zelf: blijven ze staan, kun je ze met Escape sluiten, en kun je er met de muis naartoe? |
AA | Deels automatisch |
2. Bedienbaar
| Criterium | Niveau | Hoe getoetst |
|---|---|---|
| 2.1.1 Toetsenbord Everable legt zelf de muis weg: hij tabt door de pagina en meldt onderdelen die wel op een klik reageren maar niet met Tab te bereiken zijn. Wat een machine niet kan, is beoordelen of iets ook werkbaar is — doorloop de belangrijkste handelingen daarom zelf een keer met alleen het toetsenbord. |
A | Deels automatisch |
| 2.1.2 Geen toetsenbordval Everable merkt het als Tab ergens blijft hangen. Pop-ups die pas opengaan na een klik komt hij niet tegen; open die zelf en probeer er met Tab en Escape weer uit te komen. |
A | Deels automatisch |
| 2.1.4 Enkel teken sneltoetsen Everable onderschept waar de pagina naar luistert en meldt het als er code op losse toetsaanslagen zit die verder gaat dan Escape, Tab, Enter of de pijltjes. Of dat echt een sneltoets van één teken is, en of hij uit te zetten is, stel je zelf vast: tik een paar losse letters in een leeg stuk van de pagina. |
A | Everable wijst aan |
| 2.2.1 Timing aanpasbaar Everable ziet automatisch doorsturen. Tijdslimieten in formulieren of sessies kijk je zelf na. |
A | Deels automatisch |
| 2.2.2 Pauzeren, stoppen, verbergen Everable zoekt naar beweging die vanzelf begint en blijft doorgaan — eindeloze animaties, video en geluid dat uit zichzelf start — en kijkt daarna nog een keer met "minder beweging" aan: wat dan netjes stopt, melden we niet. Of er bij de rest een echte pauzeknop is, en of die werkt, probeer je zelf. |
A | Deels automatisch |
| 2.3.1 Drie flitsen of beneden drempelwaarde Of iets vaker dan drie keer per seconde flitst, kan geen enkele scanner zien — daar is beeldanalyse voor nodig. Wat Everable wel doet: hij wijst elke video, elk canvas, elke animatiebare afbeelding en elke eindeloze animatie korter dan een derde seconde aan. Beweegt er niets, dan is dit criterium niet van toepassing. Beweegt er wel iets, dan kijk je daar zelf naar of haal je het door PEAT. |
A | Everable wijst aan |
| 2.4.1 Blokken omzeilen Everable drukt zelf als eerste op Tab en kijkt of daar een skiplink staat, én of de bestemming waar die naar verwijst bestaat en zichtbaar is. Of de sprong ook op de goede plek uitkomt en of de focus er echt landt, controleer je met het oog. |
A | Deels automatisch |
| 2.4.2 Paginatitel Everable ziet of elke pagina een titel heeft, en legt bij een volledige meting alle titels naast elkaar: staat dezelfde titel op twee pagina's, dan meldt hij dat. Of een titel ook beschrijvend genoeg is, lees je zelf na. |
A | Deels automatisch |
| 2.4.3 Focus volgorde Everable legt de focusvolgorde vast en meldt het als de focus onverwacht terugspringt naar boven. Of een volgorde logisch is, blijft een menselijk oordeel — loop de gemelde plekken na. |
A | Deels automatisch |
| 2.4.4 Linkdoel (in context) Everable ziet lege links en links zonder naam. Of "lees meer" genoeg zegt, beoordeel je in context. |
A | Deels automatisch |
| 2.4.5 Meerdere manieren Bij een volledige meting kijkt Everable of er naast het hoofdmenu nog een weg is: een zoekveld, een sitemap of een voetmenu met echte links. Of die tweede weg ook werkt en compleet is, beoordeel je zelf. Bij een gratis scan van één pagina kan dit niet. |
AA | Deels automatisch |
| 2.4.6 Koppen en labels Everable meldt koppen en labels die in geen enkele context iets beschrijven: "Meer", "Klik hier", "Tekstblok". Of een kop die wél iets zegt ook het júiste zegt, blijft een menselijk oordeel — lees de koppen achter elkaar door alsof het een inhoudsopgave is. |
AA | Deels automatisch |
| 2.4.7 Focus zichtbaar Everable kijkt bij elk onderdeel of er iets zichtbaar verandert zodra het focus krijgt, en meldt het als er niets gebeurt. Of de ring ook genoeg opvalt — dik genoeg, genoeg contrast met de achtergrond — beoordeel je met het oog. |
AA | Deels automatisch |
| 2.4.11 Focus niet verborgen (minimum) Everable kijkt bij elke halte of er een vastgezette balk overheen ligt. Uitklapmenu’s en meldingen die pas later verschijnen, controleer je zelf. |
AA | Deels automatisch |
| 2.5.1 Aanwijzergebaren Everable ziet waar op de pagina op aanraakgebaren gereageerd wordt, en herkent de bekende carrouselbibliotheken. Of er naast dat gebaar ook een knop is die hetzelfde doet, controleer je zelf — dat is precies de vraag die de norm stelt. |
A | Everable wijst aan |
| 2.5.2 Aanwijzerannulering Everable meldt onderdelen die op het indrukken reageren zonder dat er ook iets bij het loslaten gebeurt. De uitzonderingen — een pianotoets, een tekenvlak — herkent hij niet; die haal je er zelf uit. |
A | Deels automatisch |
| 2.5.3 Label in naam Everable ziet of de zichtbare tekst in de toegankelijke naam terugkomt. Iconen zonder tekst beoordeel je zelf. |
A | Deels automatisch |
| 2.5.4 Bewegingsactivering Everable ziet of de pagina naar de bewegingssensor luistert. Luistert hij nergens, dan is dit criterium niet van toepassing en ben je klaar. Luistert hij wel, dan controleer je zelf of dezelfde handeling ook met een knop kan en of de bewegingsbediening uit te zetten is. |
A | Everable wijst aan |
| 2.5.7 Sleepbewegingen Everable ziet waar er op slepen gereageerd wordt. Of er ook een manier is om hetzelfde zonder slepen te doen, controleer je zelf. Een gewone schuifregelaar (input type=range) werkt al met de pijltjestoetsen en is dus in orde. |
AA | Everable wijst aan |
| 2.5.8 Grootte van het aanwijsgebied (minimum) Everable meet de klikvlakken. De uitzonderingen — een link midden in een zin bijvoorbeeld — beoordeel je zelf. |
AA | Deels automatisch |
3. Begrijpelijk
| Criterium | Niveau | Hoe getoetst |
|---|---|---|
| 3.1.1 Taal van de pagina Everable leest de opgegeven taal én kijkt of de tekst die taal ook echt is. Wijkt dat af, dan meldt hij het. |
A | Automatisch getoetst |
| 3.1.2 Taal van onderdelen Everable toetst of opgegeven taalcodes geldig zijn, en leest bovendien mee: alinea's en citaten die onmiskenbaar in een andere taal staan dan de pagina, meldt hij. Korte stukken en ingeburgerde woorden laat hij met opzet liggen — die loop je zelf na. |
AA | Deels automatisch |
| 3.2.1 Bij focus Everable leest de code die op het focus-moment draait en meldt het als daar iets in staat dat de pagina lijkt te verzetten of te openen. Of dat ook echt gebeurt, stel je vast door zelf met Tab door de pagina te lopen — dat blijft de beste toets. |
A | Everable wijst aan |
| 3.2.2 Bij input Everable meldt keuzelijsten en velden die zichzelf versturen of de pagina verzetten zodra je iets kiest — het klassieke onchange="this.form.submit()". Formulieren die pas iets doen na een handeling verderop in een proces, loop je zelf na. |
A | Deels automatisch |
| 3.2.3 Consistente navigatie Bij een volledige meting vergelijkt Everable het hoofdmenu van alle pagina's en meldt het als de volgorde ergens afwijkt. De plek op het scherm en de voettekst beoordeel je zelf. Bij een gratis scan van één pagina kan dit niet — één pagina is geen site. |
AA | Deels automatisch |
| 3.2.4 Consistente identificatie Bij een volledige meting kijkt Everable of dezelfde bestemming in het menu overal dezelfde naam heeft. Iconen, knoppen in formulieren en links midden in de tekst loop je zelf na: heet "verzenden" hier niet "versturen" daar? |
AA | Deels automatisch |
| 3.2.6 Consistente hulp Bij een volledige meting kijkt Everable op welke pagina's een contactmogelijkheid staat — mail, telefoon, een contactlink of een chat — en meldt het als die op sommige pagina's ontbreekt. Of hij ook steeds op dezelfde plek staat, beoordeel je met het oog. |
A | Deels automatisch |
| 3.3.1 Foutidentificatie Everable vult geen formulieren in en verstuurt ze niet, dus wat er bij een fout gebeurt kan hij niet zien. Wat hij wél doet: hij wijst elk formulier met verplichte velden aan, en meldt of er überhaupt code omheen staat die een foutmelding aan een schermlezer doorgeeft. Staat er geen formulier op de pagina, dan is dit criterium niet van toepassing. Staat het er wel, dan verstuur je het zelf een keer leeg en kijk je of er in tekst staat wát er mis is en bij wélk veld. |
A | Everable wijst aan |
| 3.3.2 Labels of instructies Everable ziet velden zonder label. Of het label ook duidelijk is, en of verplichte velden als zodanig herkenbaar zijn, kijk je na. |
A | Deels automatisch |
| 3.3.3 Foutsuggestie Dezelfde aanwijzing als bij 3.3.1: Everable wijst de formulieren aan, jij kijkt wat er gebeurt. De vraag hier is een stap verder dan "wat is er mis": krijg je ook te horen hoe het wel moet? "Ongeldige datum" is minder waard dan "gebruik dd-mm-jjjj". |
AA | Everable wijst aan |
| 3.3.4 Foutpreventie (wettelijk, financieel, gegevens) Everable leest de knoptekst van elk formulier en wijst de knoppen aan die iets vastleggen, geld kosten of iets weggooien — bestellen, betalen, ondertekenen, verwijderen. Hij drukt er niet op, dus wat erna komt zie je zelf. Vindt hij zo'n knop niet, dan gaat dit criterium waarschijnlijk niet over jouw pagina. Vindt hij hem wel, dan is de vraag: kun je het terugdraaien, wordt de invoer gecontroleerd, of krijg je eerst een overzicht? |
AA | Everable wijst aan |
| 3.3.7 Overbodige invoer Everable kijkt binnen elk formulier of er twee velden om hetzelfde vragen — op grond van hun label of hun autocomplete. Een wachtwoord laten herhalen telt niet mee; dat mag. Loopt je aanmelding over meerdere schermen, dan ziet hij dat niet: die stappen bekijk je zelf achter elkaar. |
A | Everable wijst aan |
| 3.3.8 Toegankelijke authenticatie (minimum) Everable ziet of er een captcha bij het inloggen staat en of het wachtwoordveld een wachtwoordmanager toelaat. Of er voor de captcha een alternatieve weg is, en of een tweestapsverificatie werkbaar is, beoordeel je zelf. |
AA | Deels automatisch |
4. Robuust
| Criterium | Niveau | Hoe getoetst |
|---|---|---|
| 4.1.2 Naam, rol, waarde Everable toetst rollen, namen en waarden van bedienbare onderdelen. Of de naam ook klopt met wat er staat, beoordeel je zelf. |
A | Deels automatisch |
| 4.1.3 Statusberichten Everable meldt blokken die eruitzien als een melding maar geen role of aria-live hebben. Meldingen die pas verschijnen ná een handeling — na het versturen van een formulier bijvoorbeeld — komt hij niet tegen, want hij klikt nergens op. Die controleer je zelf met een schermlezer. |
AA | Deels automatisch |
Waar het op gebouwd is
- axe-core (4.13.0) — De toetsregels zelf. Open source, van Deque, de meest gebruikte regelset ter wereld en de basis onder vrijwel elke professionele toegankelijkheidstool. github.com/dequelabs/axe-core
- Playwright + Chromium (browser) — De meting gebeurt in een echte browser, niet op de broncode. Wat JavaScript pas later op de pagina zet, wordt dus gewoon meegemeten. playwright.dev
- ACT Rules (W3C) — Waar axe-regels een ACT-regel volgen, staat dat erbij. Dat is de W3C-standaard voor hoe je toegankelijkheid toetst — hij maakt uitkomsten tussen tools vergelijkbaar. www.w3.org/WAI/standards-guidelines/act/rules/
- WCAG-EM (W3C) — De methode voor een volledig onderzoek: steekproef bepalen, alle criteria langsgaan, vastleggen. Everable volgt die structuur voor de handmatige ronde. www.w3.org/WAI/test-evaluate/conformance/wcag-em/
- OKLCH + CIEDE2000 (kleurwetenschap) — Het kleuradvies rekent in een waarnemingsgetrouwe kleurruimte, zodat een voorstel qua kleur dicht bij de huisstijl blijft. Geen AI, geen gokwerk.
Over keurmerken en verklaringen
Everable is zelf geen keurmerk en geeft er ook geen af. Wat er in Nederland wél bestaat, is dit.
De toegankelijkheidsverklaring in het register van DigiToegankelijk. Verplicht voor overheidsorganisaties. De eigenaar vult hem zelf in, op basis van onderzoek, en publiceert hem. Er komt geen instantie aan te pas die hem goedkeurt. Everable levert het onderzoek en een concept-verklaring; ondertekenen doet de eigenaar.
Het Waarmerk drempelvrij.nl. Dit is geen overheidsstempel maar een privaat merk van Stichting drempelvrij.nl, waarvoor het Keurmerkinstituut de inspectie doet. Een website die de inspectie doorstaat krijgt van hen een certificaat dat een jaar geldig is — niet van ons. Zo'n inspectie is iets anders dan wat hier gebeurt: die wordt door een aangewezen inspectie-instelling uitgevoerd en kost navenant meer. Wil je dat merk voeren, dan is een 0-meting of een uitgebreide scan een goede voorbereiding — je weet dan wat er nog staat te gebeuren — maar het vervangt de inspectie niet.
Wat Everable oplevert is dus onderzoek, geen goedkeuring. Dat onderscheid staat ook in elk rapport.