Back to Resources
EU Compliance

EAA Compliance Checklist: EN 301 549 Web Requirements

Complete checklist for European Accessibility Act compliance. All EN 301 549 Chapter 9 (web content) requirements mapped to WCAG 2.2, with automated vs manual testing indicators.

February 5, 202612 min read

Quick Reference: EN 301 549 at a Glance

54
Web Requirements
31
Level A
23
Level AA
61%
Need Manual Testing
21 requirements can be detected by automated tools like inclly
33 requirements require manual human testing

Understanding EN 301 549 and the EAA

The European Accessibility Act (EAA) requires digital products and services sold to EU consumers to be accessible. The technical standard it references is EN 301 549, which incorporates WCAG 2.1 Level AA for web content.

EN 301 549 Chapter 9 covers web content requirements. The clause numbers directly correspond to WCAG: EN 301 549 clause 9.X.Y.Z maps to WCAG X.Y.Z. For example, EN 301 549 clause 9.1.4.3 corresponds to WCAG 1.4.3 (Contrast).

This checklist covers the web requirements. EN 301 549 also has chapters for documents (Chapter 10), software (Chapter 11), and mobile apps (Chapter 11).

How to Use This Checklist

  • Automated requirements can be detected by scanning tools (inclly catches these)
  • Manual requirements require human judgment and testing

Each requirement shows both the EN 301 549 clause number (for EU compliance documentation) and the corresponding WCAG criterion (for technical implementation).

9.1 Perceivable

Information and user interface components must be presentable to users in ways they can perceive.

EN 9.1.1.1WCAG 1.1.1

Non-text Content

Level A
Automated

All non-text content that is presented to the user has a text alternative that serves the equivalent purpose.

How to Fix

  • -Add alt text to all informative images
  • -Use empty alt="" for decorative images
  • -Provide text alternatives for complex graphics
EN 9.1.2.1WCAG 1.2.1

Audio-only and Video-only (Prerecorded)

Level A
Manual

Provide alternatives for time-based media: transcripts for audio, audio description or text for video.

How to Fix

  • -Create transcripts for podcasts
  • -Add audio descriptions for video-only content
EN 9.1.2.2WCAG 1.2.2

Captions (Prerecorded)

Level A
Manual

Captions are provided for all prerecorded audio content in synchronized media.

How to Fix

  • -Add synchronized captions to all videos with audio
  • -Include speaker identification
EN 9.1.2.3WCAG 1.2.3

Audio Description or Media Alternative

Level A
Manual

An alternative for time-based media or audio description is provided for prerecorded video content.

How to Fix

  • -Provide audio descriptions for visual-only information in videos
EN 9.1.2.5WCAG 1.2.5

Audio Description (Prerecorded)

Level AA
Manual

Audio description is provided for all prerecorded video content.

How to Fix

  • -Add audio descriptions narrating visual elements during natural pauses
EN 9.1.3.1WCAG 1.3.1

Info and Relationships

Level A
Automated

Information, structure, and relationships conveyed through presentation can be programmatically determined.

How to Fix

  • -Use semantic HTML
  • -Associate labels with form inputs
  • -Use proper table markup
EN 9.1.3.2WCAG 1.3.2

Meaningful Sequence

Level A
Manual

When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.

How to Fix

  • -Ensure DOM order matches visual order
  • -Test with CSS disabled
EN 9.1.3.3WCAG 1.3.3

Sensory Characteristics

Level A
Manual

Instructions provided for understanding and operating content do not rely solely on sensory characteristics.

How to Fix

  • -Avoid "click the green button" or "see the sidebar"
  • -Use multiple identifying features
EN 9.1.3.4WCAG 1.3.4

Orientation

Level AA
Manual

Content does not restrict its view and operation to a single display orientation.

How to Fix

  • -Support both portrait and landscape orientations
  • -Only restrict if essential
EN 9.1.3.5WCAG 1.3.5

Identify Input Purpose

Level AA
Automated

The purpose of each input field collecting information about the user can be programmatically determined.

How to Fix

  • -Use autocomplete attributes on personal information fields
  • -e.g., autocomplete="email"
EN 9.1.4.1WCAG 1.4.1

Use of Color

Level A
Automated

Color is not used as the only visual means of conveying information.

How to Fix

  • -Add icons or text labels alongside color indicators
  • -Use patterns in charts
EN 9.1.4.2WCAG 1.4.2

Audio Control

Level A
Manual

If audio plays automatically for more than 3 seconds, provide a mechanism to pause or stop it.

How to Fix

  • -Avoid auto-playing audio
  • -Provide pause/stop controls if necessary
EN 9.1.4.3WCAG 1.4.3

Contrast (Minimum)

Level AA
Automated

Text has a contrast ratio of at least 4.5:1 (3:1 for large text).

How to Fix

  • -Use a contrast checker tool
  • -Large text (18pt+) needs 3:1 ratio
EN 9.1.4.4WCAG 1.4.4

Resize Text

Level AA
Manual

Text can be resized without assistive technology up to 200% without loss of content or functionality.

How to Fix

  • -Use relative units (rem, em)
  • -Test at 200% browser zoom
EN 9.1.4.5WCAG 1.4.5

Images of Text

Level AA
Automated

If the same visual presentation can be made using text, images of text are not used.

How to Fix

  • -Use CSS for text styling instead of images
  • -Logos are an exception
EN 9.1.4.10WCAG 1.4.10

Reflow

Level AA
Manual

Content can be presented without loss of information or functionality at 320px width without two-dimensional scrolling.

How to Fix

  • -Use responsive design
  • -Test at 320px viewport width
EN 9.1.4.11WCAG 1.4.11

Non-text Contrast

Level AA
Automated

Visual information required to identify UI components and graphical objects has at least 3:1 contrast.

How to Fix

  • -Form inputs need visible borders
  • -Focus indicators need 3:1 contrast
EN 9.1.4.12WCAG 1.4.12

Text Spacing

Level AA
Manual

No loss of content or functionality when users adjust text spacing properties.

How to Fix

  • -Avoid fixed-height containers for text
  • -Test with increased line-height and letter-spacing
EN 9.1.4.13WCAG 1.4.13

Content on Hover or Focus

Level AA
Manual

Additional content triggered on hover/focus is dismissible, hoverable, and persistent.

How to Fix

  • -Tooltips should be dismissible with Escape
  • -Content should remain visible until dismissed

9.2 Operable

User interface components and navigation must be operable.

EN 9.2.1.1WCAG 2.1.1

Keyboard

Level A
Automated

All functionality is available from a keyboard.

How to Fix

  • -Test with Tab, Enter, Space, and arrow keys only
  • -Ensure all interactive elements are focusable
EN 9.2.1.2WCAG 2.1.2

No Keyboard Trap

Level A
Automated

Keyboard focus can be moved away from any component using only the keyboard.

How to Fix

  • -Test modals and dialogs for keyboard navigation
  • -Focus should never be trapped
EN 9.2.1.4WCAG 2.1.4

Character Key Shortcuts

Level A
Manual

Single-character keyboard shortcuts can be turned off or remapped.

How to Fix

  • -Avoid single-key shortcuts
  • -Provide settings to disable or remap if used
EN 9.2.2.1WCAG 2.2.1

Timing Adjustable

Level A
Manual

Users can turn off, adjust, or extend time limits.

How to Fix

  • -Warn users before session timeout
  • -Allow extension of time limits
EN 9.2.2.2WCAG 2.2.2

Pause, Stop, Hide

Level A
Manual

Moving, blinking, or scrolling content can be paused, stopped, or hidden.

How to Fix

  • -Carousels need pause controls
  • -Animations longer than 5 seconds need controls
EN 9.2.3.1WCAG 2.3.1

Three Flashes or Below Threshold

Level A
Manual

Web pages do not contain anything that flashes more than three times per second.

How to Fix

  • -Avoid flashing content entirely
  • -Keep flash rate below 3 Hz
EN 9.2.4.1WCAG 2.4.1

Bypass Blocks

Level A
Automated

A mechanism is available to bypass blocks of content repeated on multiple pages.

How to Fix

  • -Add skip to main content link
  • -Use ARIA landmarks
EN 9.2.4.2WCAG 2.4.2

Page Titled

Level A
Automated

Web pages have titles that describe topic or purpose.

How to Fix

  • -Each page should have a unique, descriptive title
  • -Include both page name and site name
EN 9.2.4.3WCAG 2.4.3

Focus Order

Level A
Manual

If navigation sequence affects meaning, focusable components receive focus in an order that preserves meaning.

How to Fix

  • -Tab order should follow visual reading order
  • -Modals should trap focus appropriately
EN 9.2.4.4WCAG 2.4.4

Link Purpose (In Context)

Level A
Automated

The purpose of each link can be determined from the link text alone or with programmatically determined context.

How to Fix

  • -Avoid "click here" without context
  • -Use aria-label if needed
EN 9.2.4.5WCAG 2.4.5

Multiple Ways

Level AA
Manual

More than one way is available to locate a web page within a set of web pages.

How to Fix

  • -Provide site search
  • -Include sitemap
  • -Use clear navigation
EN 9.2.4.6WCAG 2.4.6

Headings and Labels

Level AA
Automated

Headings and labels describe topic or purpose.

How to Fix

  • -Use descriptive, unique headings
  • -Form labels should clearly describe expected input
EN 9.2.4.7WCAG 2.4.7

Focus Visible

Level AA
Automated

Any keyboard-operable user interface has a visible keyboard focus indicator.

How to Fix

  • -Never remove outline without replacement
  • -Use :focus-visible for keyboard-only styles
EN 9.2.4.11WCAG 2.4.11

Focus Not Obscured (Minimum)

Level AA
Manual

When an element receives keyboard focus, it is not entirely hidden due to author-created content.

How to Fix

  • -Sticky headers should not cover focused elements
  • -Use scroll-margin for sticky elements
EN 9.2.5.1WCAG 2.5.1

Pointer Gestures

Level A
Manual

All functionality using multipoint or path-based gestures can be operated with single-pointer.

How to Fix

  • -Pinch-to-zoom should have button alternatives
  • -Swipe gestures need button alternatives
EN 9.2.5.2WCAG 2.5.2

Pointer Cancellation

Level A
Manual

For functionality operated using a single pointer, at least one of the following is true: no down-event, abort or undo, up reversal, essential.

How to Fix

  • -Use click/touch-end instead of mousedown
  • -Provide undo for destructive actions
EN 9.2.5.3WCAG 2.5.3

Label in Name

Level A
Automated

For UI components with visible text labels, the accessible name contains the visible text.

How to Fix

  • -Accessible name should match or include visible label
EN 9.2.5.4WCAG 2.5.4

Motion Actuation

Level A
Manual

Functionality triggered by device motion can be operated by user interface components.

How to Fix

  • -Shake-to-undo needs a button alternative
  • -Motion controls should be optional
EN 9.2.5.7WCAG 2.5.7

Dragging Movements

Level AA
Manual

All functionality that uses a dragging movement can be achieved by a single pointer without dragging.

How to Fix

  • -Provide up/down buttons for list reordering
  • -Drag-to-reorder needs single-click alternative
EN 9.2.5.8WCAG 2.5.8

Target Size (Minimum)

Level AA
Automated

The size of the target for pointer inputs is at least 24 by 24 CSS pixels.

How to Fix

  • -Buttons and links at least 24x24 pixels
  • -44x44 pixels recommended for mobile

9.3 Understandable

Information and the operation of user interface must be understandable.

EN 9.3.1.1WCAG 3.1.1

Language of Page

Level A
Automated

The default human language of each web page can be programmatically determined.

How to Fix

  • -Add lang attribute to html element
  • -Use correct language code (en, nl, de, etc.)
EN 9.3.1.2WCAG 3.1.2

Language of Parts

Level AA
Manual

The human language of each passage or phrase can be programmatically determined.

How to Fix

  • -Use lang attribute on elements with different language text
EN 9.3.2.1WCAG 3.2.1

On Focus

Level A
Manual

When any component receives focus, it does not initiate a change of context.

How to Fix

  • -Do not auto-submit forms on focus
  • -Do not open new windows on focus
EN 9.3.2.2WCAG 3.2.2

On Input

Level A
Manual

Changing the setting of any UI component does not automatically cause a change of context unless the user has been advised.

How to Fix

  • -Forms should have explicit submit buttons
  • -Warn before auto-submit
EN 9.3.2.3WCAG 3.2.3

Consistent Navigation

Level AA
Manual

Navigation mechanisms repeated on multiple pages occur in the same relative order.

How to Fix

  • -Keep navigation in same location across pages
  • -Maintain consistent menu order
EN 9.3.2.4WCAG 3.2.4

Consistent Identification

Level AA
Manual

Components with same functionality are identified consistently.

How to Fix

  • -Use consistent labels for similar functions
  • -Search icons should always mean search
EN 9.3.2.6WCAG 3.2.6

Consistent Help

Level A
Manual

If help mechanisms are included on multiple pages, they occur in the same relative order.

How to Fix

  • -Keep help links in consistent location
  • -Contact info should be in same place
EN 9.3.3.1WCAG 3.3.1

Error Identification

Level A
Automated

If an input error is automatically detected, the item in error is identified and the error is described.

How to Fix

  • -Show clear error messages
  • -Identify which field has the error
EN 9.3.3.2WCAG 3.3.2

Labels or Instructions

Level A
Automated

Labels or instructions are provided when content requires user input.

How to Fix

  • -Every form field needs a label
  • -Provide format hints for expected input
EN 9.3.3.3WCAG 3.3.3

Error Suggestion

Level AA
Manual

If an input error is detected and suggestions are known, they are provided.

How to Fix

  • -Suggest corrections when possible
  • -Show expected format for invalid input
EN 9.3.3.4WCAG 3.3.4

Error Prevention (Legal, Financial, Data)

Level AA
Manual

For pages with legal commitments or financial transactions: reversible, checked, or confirmed.

How to Fix

  • -Allow review before submission
  • -Provide confirmation step
  • -Allow undo
EN 9.3.3.7WCAG 3.3.7

Redundant Entry

Level A
Manual

Information previously entered by the user is auto-populated or available for selection.

How to Fix

  • -Auto-fill shipping from billing
  • -Remember preferences within session
EN 9.3.3.8WCAG 3.3.8

Accessible Authentication (Minimum)

Level AA
Manual

Cognitive function tests are not required for any step in authentication unless alternatives are provided.

How to Fix

  • -Allow password managers
  • -Provide copy-paste for codes
  • -Offer CAPTCHA alternatives

9.4 Robust

Content must be robust enough to be interpreted reliably by user agents, including assistive technologies.

EN 9.4.1.2WCAG 4.1.2

Name, Role, Value

Level A
Automated

For all UI components, the name and role can be programmatically determined; states, properties, and values can be set programmatically.

How to Fix

  • -Custom components need ARIA roles
  • -Use aria-pressed for toggles
  • -Use aria-expanded for expandables
EN 9.4.1.3WCAG 4.1.3

Status Messages

Level AA
Automated

Status messages can be programmatically determined without receiving focus.

How to Fix

  • -Use aria-live regions for updates
  • -Use role="alert" for errors
  • -Announce loading states

Frequently Asked Questions

What is the relationship between EN 301 549 and WCAG?

EN 301 549 is the European standard for ICT accessibility. Chapter 9 (Web) directly incorporates WCAG 2.1 Level AA. The clause numbers map directly: EN 301 549 clause 9.X.Y.Z corresponds to WCAG X.Y.Z. If you comply with WCAG 2.2 AA, you meet the web requirements of EN 301 549.

Does the EAA apply to my business outside the EU?

Yes, if you sell digital products or services to EU consumers. The EAA applies based on where your customers are, not where your business is headquartered. US and UK companies selling to EU customers must comply.

What is the deadline for EAA compliance?

The EAA became enforceable on June 28, 2025. All covered products and services must now be accessible. There is a transition period until June 2030 for existing products placed on the market before June 2025.

What are the penalties for non-compliance?

Penalties vary by EU member state, as each country enforces the EAA through national law. Penalties can include fines, mandatory remediation, and in some cases, removal of products from the market. In the Netherlands, the ACM (Authority for Consumers & Markets) is the enforcement body.

Do I need to provide an accessibility statement?

Yes, the EAA requires an accessibility statement that describes conformance status, known limitations, and contact information. This statement should be updated when you make significant changes. inclly can help generate EU-compliant accessibility statements from your scan data.

Ready to Check Your EAA Compliance?

inclly scans your website against EN 301 549 requirements and provides specific remediation guidance. See exactly what needs to be fixed to achieve EU compliance.