Terug naar Bronnen
EU-compliance

EAA-compliancechecklist: EN 301 549 webvereisten

Volledige checklist voor naleving van de Europese Toegankelijkheidswet (EAA). Alle EN 301 549 Hoofdstuk 9-vereisten (webcontent) gekoppeld aan WCAG 2.2, met indicatoren voor geautomatiseerd en handmatig testen.

5 februari 202612 min leestijd

Snelle referentie: EN 301 549 in één oogopslag

54
Webvereisten
31
Level A
23
Level AA
61%
Vereist handmatig testen
21 vereisten kunnen worden gedetecteerd door geautomatiseerde tools zoals inclly
33 vereisten vereisen handmatig testen door mensen

EN 301 549 en de EAA begrijpen

De Europese Toegankelijkheidswet (EAA) vereist dat digitale producten en diensten die aan EU-consumenten worden verkocht, toegankelijk zijn. De technische norm waarnaar wordt verwezen is EN 301 549, die WCAG 2.1 Level AA voor webcontent overneemt.

EN 301 549 Hoofdstuk 9 behandelt de vereisten voor webcontent. De clausulenummers komen rechtstreeks overeen met WCAG: EN 301 549-clausule 9.X.Y.Z verwijst naar WCAG X.Y.Z. Bijvoorbeeld: EN 301 549-clausule 9.1.4.3 komt overeen met WCAG 1.4.3 (Contrast).

Deze checklist behandelt de webvereisten. EN 301 549 heeft ook hoofdstukken voor documenten (Hoofdstuk 10), software (Hoofdstuk 11) en mobiele apps (Hoofdstuk 11).

Hoe u deze checklist gebruikt

  • Geautomatiseerde vereisten kunnen worden gedetecteerd door scantools (inclly detecteert deze)
  • Handmatige vereisten vereisen menselijk oordeel en testen

Elke vereiste toont zowel het EN 301 549-clausulenummer (voor EU-compliancedocumentatie) als het bijbehorende WCAG-criterium (voor technische implementatie).

9.1 Waarneembaar

Informatie en componenten van de gebruikersinterface moeten aan gebruikers worden gepresenteerd op manieren die zij kunnen waarnemen.

EN 9.1.1.1WCAG 1.1.1

Niet-tekstuele content

Level A
Geautomatiseerd

Alle niet-tekstuele content die aan de gebruiker wordt gepresenteerd, heeft een tekstalternatief dat hetzelfde doel dient.

Hoe op te lossen

  • -Voeg alt-tekst toe aan alle informatieve afbeeldingen
  • -Gebruik leeg alt="" voor decoratieve afbeeldingen
  • -Bied tekstalternatieven voor complexe afbeeldingen
EN 9.1.2.1WCAG 1.2.1

Alleen audio en alleen video (opgenomen)

Level A
Handmatig

Bied alternatieven voor op tijd gebaseerde media: transcripties voor audio, audiobeschrijving of tekst voor video.

Hoe op te lossen

  • -Maak transcripties voor podcasts
  • -Voeg audiobeschrijvingen toe voor video-only content
EN 9.1.2.2WCAG 1.2.2

Ondertiteling (opgenomen)

Level A
Handmatig

Ondertiteling wordt aangeboden voor alle opgenomen audiocontent in gesynchroniseerde media.

Hoe op te lossen

  • -Voeg gesynchroniseerde ondertiteling toe aan alle video's met audio
  • -Vermeld de spreker
EN 9.1.2.3WCAG 1.2.3

Audiobeschrijving of media-alternatief

Level A
Handmatig

Een alternatief voor op tijd gebaseerde media of audiobeschrijving wordt aangeboden voor opgenomen videocontent.

Hoe op te lossen

  • -Bied audiobeschrijvingen voor visuele informatie in video's
EN 9.1.2.5WCAG 1.2.5

Audiobeschrijving (opgenomen)

Level AA
Handmatig

Audiobeschrijving wordt aangeboden voor alle opgenomen videocontent.

Hoe op te lossen

  • -Voeg audiobeschrijvingen toe die visuele elementen beschrijven tijdens natuurlijke pauzes
EN 9.1.3.1WCAG 1.3.1

Info en relaties

Level A
Geautomatiseerd

Informatie, structuur en relaties die via presentatie worden overgebracht, kunnen programmatisch worden bepaald.

Hoe op te lossen

  • -Gebruik semantische HTML
  • -Koppel labels aan formulierinvoervelden
  • -Gebruik correcte tabelopmaak
EN 9.1.3.2WCAG 1.3.2

Betekenisvolle volgorde

Level A
Handmatig

Wanneer de volgorde waarin content wordt gepresenteerd de betekenis beïnvloedt, kan de juiste leesvolgorde programmatisch worden bepaald.

Hoe op te lossen

  • -Zorg dat de DOM-volgorde overeenkomt met de visuele volgorde
  • -Test met uitgeschakelde CSS
EN 9.1.3.3WCAG 1.3.3

Zintuiglijke kenmerken

Level A
Handmatig

Instructies voor het begrijpen en bedienen van content zijn niet uitsluitend afhankelijk van zintuiglijke kenmerken.

Hoe op te lossen

  • -Vermijd "klik op de groene knop" of "zie de zijbalk"
  • -Gebruik meerdere identificerende kenmerken
EN 9.1.3.4WCAG 1.3.4

Oriëntatie

Level AA
Handmatig

Content beperkt de weergave en bediening niet tot één schermoriëntatie.

Hoe op te lossen

  • -Ondersteun zowel portret- als landschapsoriëntatie
  • -Beperk alleen indien essentieel
EN 9.1.3.5WCAG 1.3.5

Identificeer invoerdoel

Level AA
Geautomatiseerd

Het doel van elk invoerveld dat informatie over de gebruiker verzamelt, kan programmatisch worden bepaald.

Hoe op te lossen

  • -Gebruik autocomplete-attributen op velden voor persoonlijke informatie
  • -Bijv. autocomplete="email"
EN 9.1.4.1WCAG 1.4.1

Gebruik van kleur

Level A
Geautomatiseerd

Kleur wordt niet als het enige visuele middel gebruikt om informatie over te brengen.

Hoe op te lossen

  • -Voeg pictogrammen of tekstlabels toe naast kleurindicatoren
  • -Gebruik patronen in grafieken
EN 9.1.4.2WCAG 1.4.2

Audiobediening

Level A
Handmatig

Als audio langer dan 3 seconden automatisch wordt afgespeeld, bied dan een mechanisme om te pauzeren of te stoppen.

Hoe op te lossen

  • -Vermijd automatisch afspelen van audio
  • -Bied pauzeer-/stopbediening indien nodig
EN 9.1.4.3WCAG 1.4.3

Contrast (minimum)

Level AA
Geautomatiseerd

Tekst heeft een contrastverhouding van minimaal 4,5:1 (3:1 voor grote tekst).

Hoe op te lossen

  • -Gebruik een contrastcheckertool
  • -Grote tekst (18pt+) vereist 3:1-verhouding
EN 9.1.4.4WCAG 1.4.4

Tekstgrootte wijzigen

Level AA
Handmatig

Tekst kan zonder hulptechnologie tot 200% worden vergroot zonder verlies van content of functionaliteit.

Hoe op te lossen

  • -Gebruik relatieve eenheden (rem, em)
  • -Test bij 200% browserzoom
EN 9.1.4.5WCAG 1.4.5

Afbeeldingen van tekst

Level AA
Geautomatiseerd

Als dezelfde visuele presentatie met tekst kan worden bereikt, worden afbeeldingen van tekst niet gebruikt.

Hoe op te lossen

  • -Gebruik CSS voor tekststijlen in plaats van afbeeldingen
  • -Logo's zijn een uitzondering
EN 9.1.4.10WCAG 1.4.10

Reflow

Level AA
Handmatig

Content kan worden gepresenteerd zonder verlies van informatie of functionaliteit bij een breedte van 320px zonder tweedimensionaal scrollen.

Hoe op te lossen

  • -Gebruik responsive design
  • -Test bij een viewportbreedte van 320px
EN 9.1.4.11WCAG 1.4.11

Niet-tekstueel contrast

Level AA
Geautomatiseerd

Visuele informatie die nodig is om UI-componenten en grafische objecten te identificeren, heeft minimaal 3:1-contrast.

Hoe op te lossen

  • -Formulierinvoervelden moeten zichtbare randen hebben
  • -Focusindicatoren vereisen 3:1-contrast
EN 9.1.4.12WCAG 1.4.12

Tekstafstand

Level AA
Handmatig

Geen verlies van content of functionaliteit wanneer gebruikers eigenschappen van tekstafstand aanpassen.

Hoe op te lossen

  • -Vermijd containers met vaste hoogte voor tekst
  • -Test met verhoogde regelhoogte en letterafstand
EN 9.1.4.13WCAG 1.4.13

Content bij hover of focus

Level AA
Handmatig

Extra content die verschijnt bij hover/focus is afwijsbaar, hoverbaar en persistent.

Hoe op te lossen

  • -Tooltips moeten afwijsbaar zijn met Escape
  • -Content moet zichtbaar blijven totdat deze wordt afgewezen

9.2 Bedienbaar

Componenten van de gebruikersinterface en navigatie moeten bedienbaar zijn.

EN 9.2.1.1WCAG 2.1.1

Toetsenbord

Level A
Geautomatiseerd

Alle functionaliteit is beschikbaar via het toetsenbord.

Hoe op te lossen

  • -Test alleen met Tab, Enter, Spatie en pijltoetsen
  • -Zorg dat alle interactieve elementen focusbaar zijn
EN 9.2.1.2WCAG 2.1.2

Geen toetsenbordval

Level A
Geautomatiseerd

Toetsenbordfocus kan van elk component worden verplaatst met alleen het toetsenbord.

Hoe op te lossen

  • -Test modals en dialogen op toetsenbordnavigatie
  • -Focus mag nooit vastzitten
EN 9.2.1.4WCAG 2.1.4

Tekentoetssnelkoppelingen

Level A
Handmatig

Sneltoetsen met één teken kunnen worden uitgeschakeld of opnieuw toegewezen.

Hoe op te lossen

  • -Vermijd sneltoetsen met één toets
  • -Bied instellingen om uit te schakelen of opnieuw toe te wijzen
EN 9.2.2.1WCAG 2.2.1

Timing aanpasbaar

Level A
Handmatig

Gebruikers kunnen tijdslimieten uitschakelen, aanpassen of verlengen.

Hoe op te lossen

  • -Waarschuw gebruikers voor sessietime-out
  • -Sta verlenging van tijdslimieten toe
EN 9.2.2.2WCAG 2.2.2

Pauzeren, stoppen, verbergen

Level A
Handmatig

Bewegende, knipperende of scrollende content kan worden gepauzeerd, gestopt of verborgen.

Hoe op te lossen

  • -Carrousels moeten pauzeerbediening hebben
  • -Animaties langer dan 5 seconden moeten bediening hebben
EN 9.2.3.1WCAG 2.3.1

Drie flitsen of onder drempel

Level A
Handmatig

Webpagina's bevatten niets dat meer dan drie keer per seconde flitst.

Hoe op te lossen

  • -Vermijd flitsende content volledig
  • -Houd de flitsfrequentie onder 3 Hz
EN 9.2.4.1WCAG 2.4.1

Blokken omzeilen

Level A
Geautomatiseerd

Er is een mechanisme beschikbaar om blokken content over te slaan die op meerdere pagina's worden herhaald.

Hoe op te lossen

  • -Voeg een "ga naar hoofdinhoud"-link toe
  • -Gebruik ARIA-landmarks
EN 9.2.4.2WCAG 2.4.2

Paginatitel

Level A
Geautomatiseerd

Webpagina's hebben titels die het onderwerp of doel beschrijven.

Hoe op te lossen

  • -Elke pagina moet een unieke, beschrijvende titel hebben
  • -Vermeld zowel paginanaam als sitenaam
EN 9.2.4.3WCAG 2.4.3

Focusvolgorde

Level A
Handmatig

Als de navigatievolgorde de betekenis beïnvloedt, ontvangen focusbare componenten focus in een volgorde die de betekenis behoudt.

Hoe op te lossen

  • -Tabvolgorde moet de visuele leesvolgorde volgen
  • -Modals moeten focus op de juiste manier vasthouden
EN 9.2.4.4WCAG 2.4.4

Linkdoel (in context)

Level A
Geautomatiseerd

Het doel van elke link kan worden bepaald uit de linktekst alleen of met programmatisch bepaalde context.

Hoe op te lossen

  • -Vermijd "klik hier" zonder context
  • -Gebruik aria-label indien nodig
EN 9.2.4.5WCAG 2.4.5

Meerdere manieren

Level AA
Handmatig

Er is meer dan één manier beschikbaar om een webpagina te vinden binnen een set webpagina's.

Hoe op te lossen

  • -Bied zoekfunctionaliteit
  • -Neem een sitemap op
  • -Gebruik duidelijke navigatie
EN 9.2.4.6WCAG 2.4.6

Koppen en labels

Level AA
Geautomatiseerd

Koppen en labels beschrijven het onderwerp of doel.

Hoe op te lossen

  • -Gebruik beschrijvende, unieke koppen
  • -Formulierlabels moeten duidelijk de verwachte invoer beschrijven
EN 9.2.4.7WCAG 2.4.7

Focus zichtbaar

Level AA
Geautomatiseerd

Elke met het toetsenbord bedienbare gebruikersinterface heeft een zichtbare focusindicator.

Hoe op te lossen

  • -Verwijder nooit outline zonder vervanging
  • -Gebruik :focus-visible voor toetsenbordstijlen
EN 9.2.4.11WCAG 2.4.11

Focus niet verborgen (minimum)

Level AA
Handmatig

Wanneer een element toetsenbordfocus ontvangt, is het niet volledig verborgen door content van de auteur.

Hoe op te lossen

  • -Sticky headers mogen gefocuste elementen niet bedekken
  • -Gebruik scroll-margin voor sticky elementen
EN 9.2.5.1WCAG 2.5.1

Aanwijzergebaren

Level A
Handmatig

Alle functionaliteit die meerpunts- of padgebaren gebruikt, kan met een enkele aanwijzer worden bediend.

Hoe op te lossen

  • -Knijpen-om-te-zoomen moet knop-alternatieven hebben
  • -Veeggebaren moeten knop-alternatieven hebben
EN 9.2.5.2WCAG 2.5.2

Aanwijzerannulering

Level A
Handmatig

Voor functionaliteit met een enkele aanwijzer geldt minimaal één van de volgende: geen down-event, afbreken of ongedaan maken, up-omkering, essentieel.

Hoe op te lossen

  • -Gebruik click/touch-end in plaats van mousedown
  • -Bied ongedaan maken voor destructieve acties
EN 9.2.5.3WCAG 2.5.3

Label in naam

Level A
Geautomatiseerd

Voor UI-componenten met zichtbare tekstlabels bevat de toegankelijke naam de zichtbare tekst.

Hoe op te lossen

  • -De toegankelijke naam moet overeenkomen met of het zichtbare label bevatten
EN 9.2.5.4WCAG 2.5.4

Bewegingsactivering

Level A
Handmatig

Functionaliteit die wordt geactiveerd door apparaatbeweging kan worden bediend via gebruikersinterfacecomponenten.

Hoe op te lossen

  • -Schudden-om-ongedaan-te-maken heeft een knopalternatief nodig
  • -Bewegingsbediening moet optioneel zijn
EN 9.2.5.7WCAG 2.5.7

Sleepbewegingen

Level AA
Handmatig

Alle functionaliteit die sleepbewegingen gebruikt, kan worden bereikt met een enkele aanwijzer zonder slepen.

Hoe op te lossen

  • -Bied omhoog/omlaag-knoppen voor het herordenen van lijsten
  • -Slepen-om-te-herordenen vereist een alternatief met één klik
EN 9.2.5.8WCAG 2.5.8

Doelgrootte (minimum)

Level AA
Geautomatiseerd

De grootte van het doelgebied voor aanwijzerinvoer is minimaal 24 bij 24 CSS-pixels.

Hoe op te lossen

  • -Knoppen en links minimaal 24x24 pixels
  • -44x44 pixels aanbevolen voor mobiel

9.3 Begrijpelijk

Informatie en de bediening van de gebruikersinterface moeten begrijpelijk zijn.

EN 9.3.1.1WCAG 3.1.1

Taal van de pagina

Level A
Geautomatiseerd

De standaard menselijke taal van elke webpagina kan programmatisch worden bepaald.

Hoe op te lossen

  • -Voeg het lang-attribuut toe aan het html-element
  • -Gebruik de juiste taalcode (en, nl, de, etc.)
EN 9.3.1.2WCAG 3.1.2

Taal van onderdelen

Level AA
Handmatig

De menselijke taal van elke passage of zin kan programmatisch worden bepaald.

Hoe op te lossen

  • -Gebruik het lang-attribuut op elementen met tekst in een andere taal
EN 9.3.2.1WCAG 3.2.1

Bij focus

Level A
Handmatig

Wanneer een component focus ontvangt, veroorzaakt dit geen contextwijziging.

Hoe op te lossen

  • -Formulieren niet automatisch verzenden bij focus
  • -Geen nieuwe vensters openen bij focus
EN 9.3.2.2WCAG 3.2.2

Bij invoer

Level A
Handmatig

Het wijzigen van de instelling van een UI-component veroorzaakt niet automatisch een contextwijziging, tenzij de gebruiker is geïnformeerd.

Hoe op te lossen

  • -Formulieren moeten expliciete verzendknoppen hebben
  • -Waarschuw vóór automatisch verzenden
EN 9.3.2.3WCAG 3.2.3

Consistente navigatie

Level AA
Handmatig

Navigatiemechanismen die op meerdere pagina's worden herhaald, verschijnen in dezelfde relatieve volgorde.

Hoe op te lossen

  • -Houd navigatie op dezelfde locatie op alle pagina's
  • -Handhaaf een consistente menuvolgorde
EN 9.3.2.4WCAG 3.2.4

Consistente identificatie

Level AA
Handmatig

Componenten met dezelfde functionaliteit worden consistent geïdentificeerd.

Hoe op te lossen

  • -Gebruik consistente labels voor vergelijkbare functies
  • -Zoekpictogrammen moeten altijd zoeken betekenen
EN 9.3.2.6WCAG 3.2.6

Consistente hulp

Level A
Handmatig

Als hulpmechanismen op meerdere pagina's worden aangeboden, verschijnen ze in dezelfde relatieve volgorde.

Hoe op te lossen

  • -Houd hulplinks op een consistente locatie
  • -Contactinformatie moet op dezelfde plek staan
EN 9.3.3.1WCAG 3.3.1

Foutidentificatie

Level A
Geautomatiseerd

Als een invoerfout automatisch wordt gedetecteerd, wordt het foutieve item geïdentificeerd en wordt de fout beschreven.

Hoe op te lossen

  • -Toon duidelijke foutmeldingen
  • -Identificeer welk veld de fout bevat
EN 9.3.3.2WCAG 3.3.2

Labels of instructies

Level A
Geautomatiseerd

Labels of instructies worden aangeboden wanneer content invoer van de gebruiker vereist.

Hoe op te lossen

  • -Elk formulierveld heeft een label nodig
  • -Bied formaathints voor verwachte invoer
EN 9.3.3.3WCAG 3.3.3

Foutsuggestie

Level AA
Handmatig

Als een invoerfout wordt gedetecteerd en suggesties bekend zijn, worden deze aangeboden.

Hoe op te lossen

  • -Stel correcties voor waar mogelijk
  • -Toon het verwachte formaat voor ongeldige invoer
EN 9.3.3.4WCAG 3.3.4

Foutpreventie (juridisch, financieel, data)

Level AA
Handmatig

Voor pagina's met juridische verplichtingen of financiële transacties: omkeerbaar, gecontroleerd of bevestigd.

Hoe op te lossen

  • -Sta beoordeling toe vóór verzending
  • -Bied een bevestigingsstap
  • -Sta ongedaan maken toe
EN 9.3.3.7WCAG 3.3.7

Redundante invoer

Level A
Handmatig

Eerder door de gebruiker ingevoerde informatie wordt automatisch ingevuld of is beschikbaar voor selectie.

Hoe op te lossen

  • -Vul verzendadres automatisch in vanuit factuuradres
  • -Onthoud voorkeuren binnen de sessie
EN 9.3.3.8WCAG 3.3.8

Toegankelijke authenticatie (minimum)

Level AA
Handmatig

Cognitieve functietests zijn niet vereist voor enige stap in de authenticatie, tenzij alternatieven worden aangeboden.

Hoe op te lossen

  • -Sta wachtwoordmanagers toe
  • -Bied kopiëren/plakken voor codes
  • -Bied CAPTCHA-alternatieven

9.4 Robuust

Content moet robuust genoeg zijn om betrouwbaar te worden geïnterpreteerd door user agents, inclusief hulptechnologieën.

EN 9.4.1.2WCAG 4.1.2

Naam, rol, waarde

Level A
Geautomatiseerd

Voor alle UI-componenten kunnen de naam en rol programmatisch worden bepaald; statussen, eigenschappen en waarden kunnen programmatisch worden ingesteld.

Hoe op te lossen

  • -Aangepaste componenten hebben ARIA-rollen nodig
  • -Gebruik aria-pressed voor schakelaars
  • -Gebruik aria-expanded voor uitklapbare elementen
EN 9.4.1.3WCAG 4.1.3

Statusberichten

Level AA
Geautomatiseerd

Statusberichten kunnen programmatisch worden bepaald zonder focus te ontvangen.

Hoe op te lossen

  • -Gebruik aria-live regio's voor updates
  • -Gebruik role="alert" voor foutmeldingen
  • -Kondig laadstatussen aan

Veelgestelde vragen

Wat is de relatie tussen EN 301 549 en WCAG?

EN 301 549 is de Europese norm voor ICT-toegankelijkheid. Hoofdstuk 9 (Web) neemt WCAG 2.1 Level AA rechtstreeks over. De clausulenummers komen direct overeen: EN 301 549-clausule 9.X.Y.Z komt overeen met WCAG X.Y.Z. Als u voldoet aan WCAG 2.2 AA, voldoet u aan de webvereisten van EN 301 549.

Geldt de EAA voor mijn bedrijf buiten de EU?

Ja, als u digitale producten of diensten verkoopt aan EU-consumenten. De EAA is van toepassing op basis van waar uw klanten zich bevinden, niet waar uw bedrijf is gevestigd. Amerikaanse en Britse bedrijven die aan EU-klanten verkopen, moeten voldoen.

Wat is de deadline voor EAA-compliance?

De EAA is sinds 28 juni 2025 van kracht. Alle gedekte producten en diensten moeten nu toegankelijk zijn. Er geldt een overgangsperiode tot juni 2030 voor bestaande producten die vóór juni 2025 op de markt zijn gebracht.

Wat zijn de sancties bij niet-naleving?

Sancties variëren per EU-lidstaat, aangezien elk land de EAA handhaaft via nationale wetgeving. Sancties kunnen bestaan uit boetes, verplichte herstelling en in sommige gevallen verwijdering van producten van de markt. In Nederland is de ACM (Autoriteit Consument & Markt) de handhavende instantie.

Moet ik een toegankelijkheidsverklaring opstellen?

Ja, de EAA vereist een toegankelijkheidsverklaring die de nalevingsstatus, bekende beperkingen en contactgegevens beschrijft. Deze verklaring moet worden bijgewerkt wanneer u significante wijzigingen aanbrengt. inclly kan helpen bij het genereren van EU-conforme toegankelijkheidsverklaringen op basis van uw scangegevens.

Klaar om uw EAA-compliance te controleren?

inclly scant uw website op EN 301 549-vereisten en biedt specifieke hersteladviezen. Zie precies wat moet worden aangepast om EU-compliance te bereiken.