European Accessibility Act
EAA compliance for Drupal: WCAG 2.1 AA checklist & fixes
Drupal has spent more than a decade taking accessibility seriously — the core platform passes WCAG 2.1 AA out of the box, and Olivero (the default front-end theme since Drupal 9.4) was built to a higher accessibility bar than most off-the-shelf themes. The risk on Drupal sites is rarely core; it is the ecosystem of contributed modules. Webform, Views, Paragraphs, and Layout Builder all generate user-facing markup, and each needs a quick audit before launch. Powers ~1.5% of all websites; very popular in EU public sector and higher education under EAA + WAD scope.
- Category
- Content management system
- Standard
- WCAG 2.1 Level AA via EN 301 549
- Deadline
- 28 June 2025 (EU consumer services)
- Risk for B2C
- High — public-facing, consumer-billed
What the EAA actually requires from a Drupal site
The European Accessibility Act (Directive 2019/882) applies to consumer-facing online services from 28 June 2025. For a Drupal site selling to EU consumers, that means the storefront, checkout, account area, and any embedded payment flow have to meet WCAG 2.1 Level AA via the harmonised standard EN 301 549. Microenterprises with under 10 employees and below €2 million in turnover are exempt for services, but not for products.
Fines vary by member state. Germany caps individual penalties at €100,000; France can fine up to 4% of group turnover; Spain reaches €600,000 for serious or repeated breaches. None of those numbers are theoretical — market surveillance authorities have already started auditing storefronts in Germany and France in the run-up to enforcement.
In practice, the work breaks down into three buckets: theme-level fixes (focus styles, contrast, semantics), interaction-level fixes (carousels, modals, drawers, gallery widgets), and content-level fixes (alt text, headings, descriptive link text). The list below covers the Drupal-specific failure points we see most often during scans.
Top WCAG failures we see on Drupal sites
Across hundreds of Drupal scans, the same handful of issues show up over and over. None of them require ripping the theme apart — most are fixable in a few hours by someone comfortable in the platform's editor or template files.
Webform-rendered fields with implicit labels in older modules
Older Webform releases sometimes wrap inputs in <label> without the for attribute, which fails for screen readers using forms mode.
1.3.1, 3.3.2 — Level ALayout Builder regions without landmarks
Custom block regions lack <main>, <nav>, or <aside> unless you add the role explicitly.
1.3.1, 2.4.1 — Level AInline JS components from contributed modules ignoring keyboard
Slick Carousel and similar contrib modules have a long history of failing 2.1.1.
2.1.1 — Level A
Concrete code fixes for Drupal
Below are copy-paste fixes for the most common Drupal issues. They assume you have access to your theme code or the platform's custom-code injection panel. If you cannot edit code directly, share these snippets with whoever maintains the site — every one of them is a ten-minute change.
YAML config: add landmark roles to Layout Builder regions
# In your theme's layouts/*.layouts.yml
my_layout:
regions:
main:
label: 'Main content'
attributes:
role: 'main'
sidebar:
label: 'Sidebar'
attributes:
role: 'complementary'Drupal will render the role attribute on the wrapping element so assistive tech sees the landmark.
Tools and plugins worth installing first
Editoria11y — flags content-author accessibility issues inline
Sa11y — manual content checker
Drupal core "Accessibility" report under /admin/reports
How to scan a Drupal site without missing anything
Automated scanners catch about 30–40% of WCAG issues; the rest need manual review. The good news is that the 30–40% includes the most expensive issues to remediate after the fact, so an automated scan is the cheapest way to get unstuck. Run one before you change a line of theme code.
Run scans both as anonymous and as a logged-in editor — Layout Builder UIs differ.
Run a free public scan against any Drupal URL right now — no signup, results in 60 seconds.
Frequently asked questions
Is Drupal core WCAG 2.1 AA compliant?
Yes for both the admin UI and the default front-end theme (Olivero). Risk lives in contributed modules and your custom theme.
Other content management system platforms
EAA compliance for WordPress
Powers ~43% of the entire web; the largest single platform under EAA scope.
EAA compliance for Joomla
~2.5% of CMS market; common in EU education and government sites under EAA + EN 301 549.
EAA compliance for Ghost
A focused publishing CMS used by independent newsletters and media brands.
Find every accessibility issue on your site in 60 seconds.
Free public scan. No card. AI-generated fixes for every issue we find.