NL
Taal · dezelfde pagina NLNederlands/tools-en-plugins/toegankelijkheidsverklaring/ ENEnglish (UK)/en/tools-and-plugins/accessibility-statement/ ESEspañolnog niet vertaald We onthouden je keuze niet en sturen je nooit automatisch door.
Over deze keuze

We bewaren alleen je weergavekeuze met een weergavecookie, maximaal 180 dagen op dit apparaat. Geen CRM- of advertentiedata. Je trackingtoestemming verandert niet. Als cookies geblokkeerd zijn, blijft je keuze mogelijk niet bewaard.

SRV · plugin · toegankelijkheid reg. T.000 · wordpress · gplv2 of later

Toegankelijkheidsverklaring en EN 301 549 zelfcontrole

Twee dingen die bij elkaar horen en die bijna nooit samen gedaan worden: een controle van wat een machine werkelijk kan toetsen, en een verklaring die uit die meting wordt opgebouwd in plaats van uit goede bedoelingen. Geen overlay, geen widget, geen knop die beweert je site toegankelijk te maken. Hij wijst aan waar het probleem zit; oplossen doe jij, op de plek zelf, in je eigen thema of pagina.

Download de plugin ↓ Plan een gesprek theseo-toegankelijkheidsverklaring-1.0.0.zip · 67 KB · versie 1.0.0 · GPLv2 of later · geen account, geen registratie, geen sleutel
Gianluca, die de tools en plugins van deze site bouwt
beeld · wie het instrument bouwde, legt het ook uit
FIG.01: Wat een machine ziet en wat nietblad 1/3

Achttien regels aan de ene kant, en vijf dingen die geen enkel script kan beoordelen

Dit is het belangrijkste beeld op deze pagina, want hier gaat de hele categorie mis. Een scanner die 98 procent scoort geeft je het gevoel dat je er bent, terwijl de dingen die er het meest toe doen buiten het bereik van elke scanner vallen. Die zin komt daarom zelf in de verklaring te staan, en hij wordt herhaald op het overzicht en op het instellingenscherm.

bereik18 regels · en de grens erachter
wordt machinaal getoetst
  • Afbeelding zonder tekstalternatief, en een alternatief dat in werkelijkheid een bestandsnaam is
  • Klikgebied van een afbeeldingskaart zonder tekstalternatief
  • Ingesloten object of embed zonder iets om op terug te vallen
  • Lege kop, en een overgeslagen kopniveau
  • Tabel met datacellen en geen enkele koptekstcel
  • Audio of video die vanzelf start, niet gedempt is en geen bediening heeft
  • Zoomen uitgezet of afgetopt onder twee keer de grootte
  • Pagina zonder titelelement
  • Positieve tabindex
  • Link zonder naam, linktekst die niets zegt, en een link die in een nieuw venster opent zonder dat te zeggen
  • Paginataal niet op het html-element gezet
  • Formulierveld zonder label, aria-label of title
  • Hetzelfde id twee keer gebruikt
  • Frame zonder naam
kan geen enkele scanner beoordelen
  • Of een tekstalternatief de afbeelding ook werkelijk beschrijft
  • Of je site met alleen een toetsenbord te bedienen is
  • Of het contrast in de praktijk standhoudt
  • Of een foutmelding zichzelf uitlegt
  • Of een zelfgebouwd onderdeel zich gedraagt zoals het zich aankondigt
Hoofdstuk 9 van EN 301 549 neemt de WCAG-criteria een op een over, dus criterium 1.1.1 is clausule 9.1.1.1 van de norm. De plugin drukt allebei de nummers bij elke bevinding af, zodat je verklaring naar de norm verwijst en niet alleen naar de richtlijn. Testen met mensen die hulpmiddelen gebruiken, en een beoordeling door iemand die dit vak uitoefent, zijn de delen die hier ontbreken. Deze plugin vervangt geen van beide.
DOC.01

Waarom bijna elke toegankelijkheidsplugin het verkeerde probleem oplost

De Europese toegankelijkheidsrichtlijn geldt sinds 28 juni 2025 voor onder meer webshops en online diensten aan consumenten. De behoefte is dus echt en actueel, en de markt heeft er iets tegenover gezet dat het probleem niet oplost.

Bron: de Implementatiewet toegankelijkheidsvoorschriften producten en diensten op wetten.overheid.nl, in werking sinds 28 juni 2025

Laatst nagekeken op 25 augustus 2026: de wet staat er nog en die datum is niet verschoven. Wanneer welke toezichthouder in welk land begint met handhaven, noemen wij niet: daar bestaat geen bron voor die je kunt nakijken.

Wat er in de WordPress-pluginmap staat is overwegend het overlay-widget: een knop rechtsonder waarmee een bezoeker het lettertype kan vergroten of het contrast kan omkeren. De toegankelijkheidswereld raadt dat af, om een reden die je niet hoeft te geloven om te begrijpen: een overlay laat het onderliggende probleem staan en verbergt het voor het gereedschap dat het had kunnen vinden. Wie een schermlezer gebruikt loopt nog steeds tegen de ontbrekende alt-tekst aan, alleen ziet de scanner hem nu niet meer.

Deze plugin doet daarom bewust twee dingen niet: hij repareert niets bovenop je pagina, en hij verklaart je nergens conform

Wat hij wel doet is meten wat te meten valt, aanwijzen waar het staat, en van die uitkomst een verklaring maken die niet meer belooft dan er gemeten is.

DOC.02

Wat er precies gecontroleerd wordt

Achttien regels. Tien daarvan blokkeren iemand, acht verdienen aandacht. Samen raken ze twaalf WCAG-succescriteria uit de versie waar EN 301 549 naar wijst. Elf daarvan staan zowel in WCAG 2.1 als in WCAG 2.2. Het twaalfde, criterium 4.1.1 Parsing, is in WCAG 2.2 vervallen en telt hier alleen mee zolang EN 301 549 naar WCAG 2.1 verwijst; daarom is het in de plugin een melding en geen blokkerende bevinding, en de plugincode zegt dat zelf in een noot. De volledige lijst staat in FIG.01 en er staat niets buiten die lijst; er is geen verborgen negentiende regel en geen totaalscore die uit lucht is opgebouwd.

Bij elke bevinding staat het WCAG-nummer en het clausulenummer uit EN 301 549

Dat tweede getal is wat je nodig hebt zodra iemand naar de norm vraagt in plaats van naar de richtlijn, en het is precies wat de meeste gereedschappen weglaten.

Twee manieren van lezen

Inhoudsmodus leest wat de editor produceert. Dat is de standaard, het is snel, en er gaat geen enkel verzoek de deur uit.

Paginamodus haalt de hele pagina op inclusief je thema, en dat is de enige manier om de paginataal, de paginatitel en de viewport te beoordelen. Het verzoek gaat naar je eigen domein.

Wat er met de bevindingen gebeurt

Bij elke controle worden de bevindingen per item vervangen. Wat je ziet is de staat van de laatste meting en niet een stapel geschiedenis. Dat is een keuze: een lijst die alleen maar groeit wordt binnen een maand genegeerd.

FIG.02: Van meting naar verklaringblad 2/3

Vier stappen, en de laatste zet nooit iets online

De verklaring wordt opgebouwd uit je antwoorden en uit de meting, en uit niets anders. Je ziet de hele tekst op het scherm voordat hij ergens wordt weggeschreven. De knop maakt daarna een conceptpagina. Er wordt nooit een nieuwe pagina voor je gepubliceerd.

verklaringvier stappen · concept aan het eind
1MetenDe controle leest de inhoud van een item, of de hele pagina inclusief de kop, het menu en de voettekst van je thema. Drie van de achttien regels kunnen alleen op een hele pagina beoordeeld worden: de paginataal, de paginatitel en de viewport.
2AntwoordenVoor elke regel die ergens op je site werkelijk gebroken is kies je een van drie antwoorden: opgelost, bekend en er wordt aan gewerkt, of een onevenredige last met jouw eigen motivering erbij.
3AanvullenDe naam van de organisatie, waar iemand een probleem meldt, wat er gebeurt als je niet antwoordt, de datum van de beoordeling en wie hem heeft uitgevoerd. Nederlands of Engels.
4Opslaan als conceptDe knop schrijft de tekst weg als conceptpagina. Bestaat er al een verklaringspagina, dan wordt die herschreven en houdt hij de status die hij had. Publiceren doe jij.
Een Nederlandse overheidsinstelling heeft een ander document nodig. Publieke instanties in Nederland moeten hun verklaring in het landelijke register publiceren, in het voorgeschreven model, en dat model vraagt om zaken die deze plugin niet meet. Dit is een verklaring voor een bedrijf onder de Europese toegankelijkheidsrichtlijn. Het verklaringsscherm zegt dat voordat je iets invult.
DOC.04
WordPress6.0 of hoger. In de plugin staat getest tot en met 6.8.
PHP7.4 of hoger. De code is gecontroleerd op 8.5.
RechtenJe hebt manage_options nodig, dus beheerder.
Taal van het schermNederlands op een Nederlandse site, anders Engels.
Ook te vinden op Volledige broncode op GitHub De zip hierboven en de broncode op GitHub zijn dezelfde versie. Deze plugin staat nog niet in de officiele WordPress-pluginmap. Hij is klaargezet voor inzending; zolang dat niet rond is, is de download hierboven de enige plek waar je hem krijgt. Stand gemeten op 19 augustus 2026.
STAP 1 · OPHALEN

Klik hierboven op de downloadknop. Je krijgt theseo-toegankelijkheidsverklaring-1.0.0.zip, 67 KB. Pak hem niet uit: WordPress wil de zip zelf.

STAP 2 · UPLOADEN

In je WordPress: Plugins, Nieuwe plugin, Plugin uploaden. Kies het bestand en klik op Nu installeren.

STAP 3 · ACTIVEREN

Klik op Plugin activeren. Er verschijnt een nieuw onderdeel in je beheermenu. Je site verandert er op dat moment nog niet van.

STAP 4 · INSTELLEN

Open het instellingenscherm en loop de standen langs. Alles wat aan je openbare site raakt staat uit tot je het zelf aanzet.

DOC.03

Wat de verklaring wel en niet is

De verklaring die eruit komt is bruikbaar en beperkt, en het is beter dat je dat vooraf weet.

PUNT 01

Hij verklaart je nergens conform

Er staat in de verklaring zelf dat hij op een machinale meting rust en dat een machinale meting een deel van toegankelijkheid dekt. Dat is geen slag om de arm maar de waarheid, en een verklaring die dat weglaat is onjuist.
PUNT 02

Hij is niet het model van de Nederlandse overheid

Publieke instanties publiceren hun verklaring in het landelijke register in een voorgeschreven model dat om zaken vraagt die hier niet gemeten worden. Dit is een verklaring voor een bedrijf onder de Europese toegankelijkheidsrichtlijn.
PUNT 03

Hij vervangt geen test met echte gebruikers

Testen met mensen die hulpmiddelen gebruiken, en een beoordeling door iemand die dit vak uitoefent, zijn de twee dingen die hier ontbreken. Dat staat op elk scherm.
PUNT 04

Hij publiceert niets voor je

De knop maakt een conceptpagina. Bestaat de pagina al, dan wordt de tekst herschreven en houdt de pagina de status die hij had.
FIG.03: Waar de gegevens blijvenblad 3/3

Twee tabellen in je eigen database, en een verzoek dat je zelf aanzet

Naar je bezoekers wordt helemaal niet gekeken. Hij leest je eigen inhoud. Het enige verzoek dat ooit je server verlaat gaat naar je eigen domein, en in de standaardinstelling gebeurt zelfs dat niet.

opslagtwee tabellen · een optie
wordt opgeslagen
  • Per bevinding: het bericht-id, de regelcode, het gewicht, een korte verwijzing naar het element, de aanstootgevende html afgekapt op 300 tekens en het moment van meten
  • Per controle: het moment, hoe hij de site gelezen heeft, en de totalen
  • Je verklaringsvelden, in een enkele optie
wordt niet opgeslagen
  • Enig gegeven over een bezoeker
  • Een IP-adres
  • Een cookie of iets in localStorage of sessionStorage
  • Een user agent
  • Iets dat je server verlaat
Het enige uitgaande verzoek staat in includes/class-tstv-runner.php en gaat naar get_permalink(), dus naar je eigen pagina op je eigen domein. Het gebeurt alleen in paginamodus. Inhoudsmodus is de standaard en daarin is er geen enkel uitgaand verzoek. Sommige hosts staan niet toe dat een site zichzelf aanroept; het overzicht meldt dan hoeveel items niet gelezen konden worden in plaats van ze stil als schoon te tellen.
DOC.05

Privacy: wat er wel en niet wordt vastgelegd

Er is bij deze plugin geen bezoeker in het spel. Dat maakt de paragraaf kort en het maakt hem ook eerlijk controleerbaar.

PUNT 01

Geen bezoekersgegeven, in geen enkele vorm

Geen IP-adres, geen cookie, niets in localStorage of sessionStorage, geen user agent. De plugin kijkt niet naar wie je site bezoekt; hij leest je eigen inhoud.
PUNT 02

Op je front end verandert er niets

, behalve een link naar je verklaringspagina als je die zelf aanzet. Er wordt geen script geladen en er wordt niets over je pagina heen gelegd.
PUNT 03

Het enige uitgaande verzoek gaat naar jezelf

Het staat in includes/class-tstv-runner.php, het roept get_permalink() aan, en het gebeurt alleen in paginamodus. Inhoudsmodus is de standaard en doet geen enkel verzoek. Er is geen tweede adres in de hele plugin.
PUNT 04

Alles blijft in je eigen database

Twee tabellen en een optie, met de velden zoals ze in FIG.03 staan. De aanstootgevende html wordt op 300 tekens afgekapt, want een bevinding heeft genoeg aan de aanwijzing.
PUNT 05

Verwijderen ruimt op

Beide tabellen, de optie en de geplande controle gaan weg. Je verklaringspagina blijft staan, want die pagina is van jou.
DOC.06

Veelgestelde vragen

Is dit een overlay? Nee, en dat is het uitgangspunt. Er komt niets over je pagina heen en er wordt niets gerepareerd bovenop je site. De plugin wijst aan en jij lost het op in de bron.

Maakt dit mijn site conform de Europese toegankelijkheidsrichtlijn?

Nee. Het meet het deel dat machinaal te meten valt en schrijft een verklaring die precies dat zegt. De delen die ontbreken staan met naam en toenaam in de verklaring zelf.

Wat is het verschil tussen inhoudsmodus en paginamodus?

Inhoudsmodus leest wat de editor produceert en doet geen enkel uitgaand verzoek. Paginamodus haalt de hele pagina op inclusief je thema en is de enige manier om de paginataal, de paginatitel en de viewport te beoordelen.

Mijn host laat niet toe dat de site zichzelf aanroept.

Dan meldt het overzicht hoeveel items niet gelezen konden worden. Ze worden niet stil als schoon geteld, want dat zou het cijfer beter maken dan de werkelijkheid.

Kan ik dit gebruiken als overheidsinstelling?

Niet als vervanging. Publieke instanties in Nederland publiceren in het landelijke register in een voorgeschreven model dat meer vraagt dan hier gemeten wordt. De meting zelf is wel bruikbaar als voorwerk.

Wordt mijn verklaringspagina overschreven?

De tekst wordt herschreven, de status blijft. Een nieuwe pagina wordt altijd als concept aangemaakt en nooit voor je gepubliceerd.

DOC.07 · Volgende stap

Wat je er de eerste week aan hebt

De verstandige volgorde is meten voordat je iets schrijft, want een verklaring die niet uit een meting komt is een tekst die je later niet kunt verdedigen. Wat wij zelf over de toegankelijkheid van deze site publiceren staat op onze eigen verklaring. Wil je daarnaast weten wat je bezoekers werkelijk aan snelheid ervaren, dan meet de Core Web Vitals plugin dat bij dezelfde mensen. Wil je erover doorpraten, plan dan een gesprek.

Sectie · Volgende stap24/7 bereikbaar · sales@theseo.nl
Plan een gesprek ↗
Geschreven door GianlucaOprichter. Bouwt sinds 2017 aan vindbaarheid voor Nederlandse bedrijven, in Google en in AI-antwoorden. Meer over het instituut.