EAA and WCAG 2.1, how to implement digital accessibility
EN

EAA and WCAG 2.1, how to implement digital accessibility

Last verified: July 10, 2026
14 min read
Tutorial
500+ WP projects

#What EAA and WCAG 2.1 mean for WordPress sites

Since June 28, 2025, the European Accessibility Act (EAA, Directive 2019/882) has applied to products and services newly placed on the EU market. For a website or web application, that means meeting WCAG 2.1 AA, a W3C standard that defines how digital content should be made perceivable, operable, understandable, and robust. The EAA does not spell out WCAG success criteria itself; it references the European harmonised standard EN 301 549, which currently incorporates WCAG 2.1 Level AA. WCAG 2.2 is now the current W3C recommendation, but the legal floor most WordPress sites are held to today is still 2.1 AA, which is exactly why it is worth understanding on its own terms before moving deeper.

This article is the entry point. It covers who is actually in scope, which exemptions hold up and which do not, what WCAG 2.1 AA looks like on a real WordPress build, and where to go next. Learn more about WordPress development services at WPPoland if you need a team that ships accessible builds, not just audits them.

Two numbers explain why this is not a niche concern. Around 15% of the EU population lives with some form of disability, and a much larger share benefits situationally: older users, people with a temporary injury, anyone on a small screen in bright light. Accessibility work also overlaps heavily with SEO fundamentals - semantic structure, descriptive alt text, and clean markup help search engines and AI answer engines just as much as they help assistive technology. Both threads run through the rest of this guide.

#Key dates and who is in scope

The EAA’s effective date is fixed, but “in scope” is not a single yes/no answer - it depends on the product or service category, the contract date, and the type of customer being served. The table below is the practical summary; legal nuance for edge cases belongs with counsel, not a blog post.

DeadlineWhat it coversB2C vs B2B nuance
2025-06-28EAA accessibility requirements apply to products and services newly placed on the EU market: e-commerce, consumer banking, e-books, electronic communications, audiovisual media access services, and passenger transport interfaces (Annex I)The e-commerce category is defined around a consumer contract (Article 3(30)); other categories such as banking and electronic communications do not carry that same consumer-only limitation
2025-06-28 to 2030-06-28Transitional window: service contracts concluded before 2025-06-28 may continue on their original terms until this date at the latestApplies regardless of customer type - the trigger is the contract date, not whether the buyer is a consumer or a business
Deployment date + up to 20 yearsSelf-service terminals (ATMs, ticket machines, check-in kiosks) already installed before the deadline can stay in service until end of useful life, capped at 20 yearsMostly a hardware point for physical terminals; rarely relevant to a pure WordPress build unless it drives an in-store kiosk
Ongoing, per financial yearMicroenterprise reassessment: if a service provider’s headcount or turnover crosses the Article 4(5) threshold, the exemption stops applying from that financial yearApplies to service providers only - product-side obligations were never covered by this exemption, at any size
National transposition datesMost member states transposed on or around the EU date - Germany’s BFSG entered into force the same day, 2025-06-28 - but local enforcement bodies, fine structures, and accessibility-statement rules vary by countryApplies to whichever market the product or service is placed into, not the operator’s country of incorporation

The practical read: if a WordPress site sells to EU consumers, runs a WooCommerce checkout, or offers a service in one of the Annex I categories, the deadline has already passed and the obligation is live now, not something to plan for “eventually.”

#Exemptions and micro-enterprise scoping

This is the section that gets misread most often. “We’re small, so we’re exempt” is a common assumption, and it is wrong more often than it is right. Directive 2019/882 defines several narrow carve-outs, not a general small-business pass.

ExemptionWho can claim itConditionsWhat it does NOT cover
Microenterprise exemption (Article 4(5))Enterprises with fewer than 10 employees AND annual turnover or balance-sheet total under EUR 2 millionBoth conditions must be met at the same time; the exemption is lost from the financial year either threshold is crossedOnly exempts services. Product manufacturing, importing, or distributing obligations apply regardless of enterprise size
Disproportionate burden (Article 14, Annex VI)Any economic operator, any sizeRequires a documented assessment against the criteria in Annex VI, weighing cost against benefit to users; must be renewed at least every five years and produced to authorities on requestNot a blanket opt-out - the operator still has to apply every requirement that is not shown to be disproportionate
Fundamental alteration (Article 14)Any economic operator, any sizeApplies only where meeting a requirement would fundamentally change the nature of the product or serviceRarely applicable to typical WordPress features (navigation, forms, content); more relevant to specialised hardware or bespoke software
Pre-existing service contracts (Article 32)Any sizeService contracts concluded before 2025-06-28 can run on original terms until 2030-06-28 at the latestDoes not extend to new contracts signed after the deadline, even with an existing client
Self-service terminals in use (Article 32)Any size, typically hardware operatorsTerminals already deployed before the deadline can continue until end of useful life, capped at 20 yearsDoes not apply to new terminals purchased or deployed after the deadline
Pre-recorded media published before 28 June 2025 (Article 2(4))Any sizeTime-based media (audio/video) published before the deadline is out of scope retroactivelyNew pre-recorded media published after the deadline must meet the requirements from day one

A real scoping call, worked through. Take a WooCommerce shop with four employees and turnover well under EUR 2 million, selling directly to consumers. Under Article 4(5) it is a service microenterprise, so the accessibility obligations for the shopping and checkout service itself do not apply to it. That exemption stops the moment the shop hires a fifth-through-tenth employee and crosses ten, or turnover passes EUR 2 million - there is no grace period written into the directive itself, so the safer planning assumption is to lose the exemption from the financial year the threshold is crossed, not from some later renewal date.

Now change one fact: the same four-person shop, but it operates as a wholesale supplier under a negotiated contract to a larger company, with no direct consumer checkout at all. Two separate things happen here, not one. First, the e-commerce category in the EAA is defined around concluding a consumer contract (Article 3(30), recital 42) - a purely B2B sales channel can sit outside that category on its own terms, independent of the microenterprise exemption. Second, and this is the part that trips people up: being outside the EAA’s own e-commerce obligation does not mean the shop is free of accessibility requirements in that relationship. If the larger buyer is itself subject to EAA, NIS2, or public-procurement accessibility clauses, its own compliance programme can require WCAG-conformant supplier tooling by contract, regardless of whether the supplier is a microenterprise or outside the e-commerce category under EU law. The EAA exemption protects against the EAA’s own enforcement; it does nothing to a customer’s contractual accessibility clause.

This is a factual framing, not legal advice - if a specific classification is disputed or the revenue math is close to the threshold, confirm it with counsel before relying on an exemption in a public statement or a procurement answer.

#WCAG 2.1 AA in practice on WordPress

WCAG 2.1 AA is not a checklist you tick once; it is a set of testable success criteria that either pass or fail on a given page, form, or component. Four areas account for most of the real-world work on a WordPress site.

Keyboard operability. Every interactive element - menu, dropdown, modal, carousel control, add-to-cart button - has to be reachable and operable using only Tab, Shift+Tab, Enter, and arrow keys, with a visible focus indicator at every step. This is where page builders and slider plugins fail most often: a slideshow that only advances on mouse hover, or a mega-menu that opens on hover but never on focus, silently locks out anyone who cannot use a mouse. The fix is rarely a rewrite; it is usually adding the missing keyboard event handlers and a visible :focus style with sufficient contrast.

Color contrast. WCAG 2.1 AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text against its background. Brand palettes built for a logo, not for body copy, are the most common failure: a light grey on white that looks elegant in a mockup but fails the ratio for anyone with low vision. Contrast failures are cheap to fix once flagged and expensive to leave unfixed, because they affect every page that inherits the theme’s typography settings.

Forms. Every input needs a programmatically associated label (<label for="id">, not just placeholder text that disappears on focus), every required field needs to announce that it is required, and every validation error needs to be described in text near the field, not conveyed only through a red border. Checkout forms and contact forms are the highest-stakes surfaces here, because a form a screen-reader user cannot complete is a transaction lost, not just a compliance gap.

Media. Video needs captions, audio needs a transcript, and every meaningful image needs alt text that describes its function or content rather than repeating the filename. Decorative images (background textures, spacers) should carry an empty alt="" so assistive technology skips over them instead of announcing noise. This is one of the areas where editorial discipline matters as much as code: a developer can build an accessible image component, but only a trained content editor keeps every new upload compliant.

#Common WordPress failure patterns we see in audits

A few patterns recur across nearly every WordPress audit we run, independent of theme or niche. Heading hierarchy breaks first: page builders frequently emit an <h1> or <h2> for every section’s hero text regardless of its actual place in the document outline, so a page can carry five h1 tags and no logical h2/h3 nesting underneath. Screen-reader users navigate by heading structure; a broken outline makes the page far harder to scan than sighted users would ever notice.

Icon-only controls come next - an add-to-cart or search button rendered as a bare icon with no visible text and, often, no aria-label either, leaves assistive technology with nothing to announce. Auto-rotating carousels are a close third: no pause control, no keyboard navigation, and content that changes every four seconds regardless of whether the reader has finished reading the current slide.

The fourth pattern is quieter but just as consequential: cookie-consent banners and newsletter modals that trap keyboard focus. A user tabs into the modal and can never tab back out to the page content, because the developer never wired a focus trap that releases on Escape or on a close action. It is invisible in a mouse-driven QA pass and immediately obvious the first time someone tests with a keyboard only.

None of these are exotic bugs. They are the direct, repeatable output of popular plugins and themes used the way most sites use them, which is exactly why an audit finds the same handful of patterns across unrelated projects. The 2026 compliance stack article walks through the plugin-by-plugin failure list - page builders, WooCommerce templates, slider plugins, form plugins - with the specific WCAG success criteria each one breaks and the concrete fix for each.

#Implementation path: audit, remediate, statement, monitor

Turning “we need to comply” into a shipped, defensible result follows the same four-stage path on every project we run.

Audit. Start with a scoped WCAG 2.1 AA review against the site’s actual customer journeys - homepage, navigation, search, forms, and every revenue-critical checkout step - not just an automated scanner run against the homepage. Automated tools (axe-core, Lighthouse, WAVE) catch roughly half of real issues; the rest need a human tester with a keyboard and a screen reader.

Remediate. Fix in the order that protects the highest-value journeys first: keyboard traps and unlabelled checkout controls before cosmetic contrast tweaks on a footer link. One shared-component fix - the theme’s focus style, the form plugin’s label markup - often clears dozens of repeated findings at once, which is why remediation should target shared templates before individual pages.

Publish an accessibility statement. A statement declaring the conformance level, any known limitations, and a working contact channel for accessibility complaints is mandatory under several national transposition laws (Germany’s BFSG among them) and is good practice everywhere else. It also gives procurement teams something concrete to file.

Monitor. Accessibility drifts the moment a new plugin update, a new page-builder template, or a new content editor joins without training. An automated check in CI catches regressions on every deploy; an annual manual re-test catches what automation cannot see.

For the full legal stack - WCAG 2.2’s nine new success criteria, the EAA-BFSG relationship, and the plugin-level remediation detail - read the 2026 compliance stack for WordPress. If you want a scoped, written audit rather than a self-serve checklist, the EU compliance audit for WordPress covers accessibility alongside NIS2/DORA and AI Act exposure in one engagement, with an individual quote based on your site’s actual scope.

#Why accessibility overlaps with SEO and AI readability

Most of the technical work behind WCAG 2.1 AA is also, separately, good SEO and good AI-answer-engine hygiene, which is why accessibility budgets are easier to justify than they first appear. A clean, sequential heading hierarchy is exactly what search-engine crawlers and large-language-model summarisers use to understand what a page is actually about; the same fix that helps a screen-reader user navigate a page also helps an AI system extract the right section when answering a query about it. Descriptive alt text does double duty as image-search signal and as a fallback description any AI system reading the page’s markup can use when the image itself is not processed.

Semantic HTML - real <button> and <nav> elements instead of styled <div> soup, proper <label> associations on forms - produces markup that is both accessible and easier for automated systems to parse reliably, whether that system is a screen reader, a search crawler, or a retrieval pipeline behind an AI assistant. None of this is a coincidence: both accessibility and machine-readability standards converge on the same underlying requirement, which is content that carries its own structure and meaning in the markup rather than relying entirely on visual styling. Treating a WCAG remediation project purely as a legal cost misses that a large share of the work pays for itself in organic visibility.

#Where to go next

Ready to move past assessment and into action? Contact us to scope an accessibility review for your WordPress site, or start with whichever resource matches where you are:

Next step

Turn the article into an actual implementation

This block strengthens internal linking and gives readers the most relevant next move instead of leaving them at a dead end.

Want this implemented on your site?

If you want to convert the article into a working site improvement, redesign, or build plan, I can define the scope and implement it.

Related cluster

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

What are EAA and WCAG 2.1?#
The European Accessibility Act (Directive 2019/882) is EU law requiring accessible products and services. It legally references EN 301 549, which currently incorporates WCAG 2.1 Level AA as the technical bar most websites and apps must meet.
Since when has the EAA applied, and is it still relevant in 2026?#
The EAA has applied to products and services newly placed on the EU market since June 28, 2025. It remains fully in force in 2026; national transposition laws (such as Germany's BFSG) add local enforcement and fine structures on top of the EU baseline.
Does the EAA apply to a small WooCommerce shop?#
It depends on the operator, not the shop's size alone. A service microenterprise (fewer than 10 employees, turnover or balance sheet under EUR 2 million) is exempt from EAA obligations for the services it provides under Article 4(5), but that exemption never covers product-side obligations, and it stops applying the financial year either threshold is crossed.
Do B2B-only online stores fall under the EAA's e-commerce rules?#
Often not under that specific category. The EAA defines e-commerce services around concluding a consumer contract (Article 3(30)). A store that sells exclusively to other businesses under negotiated B2B terms can sit outside the e-commerce category for that reason alone, separately from the microenterprise exemption, though other EAA service categories do not carry the same consumer-only limitation.
What happens if a WordPress site is not compliant?#
Consequences depend on the member state's transposition law and the market surveillance authority involved. Germany's BFSG, for example, sets fines in the upper five-figure euro range per infraction under paragraph 37. Beyond fines, non-compliant sites carry procurement risk, since public and enterprise buyers increasingly ask for accessibility evidence before signing.
How do you start implementing EAA and WCAG 2.1 on WordPress?#
Start with a scoped accessibility audit against WCAG 2.1 AA, prioritise the highest-risk gaps (checkout, forms, navigation), remediate in verified batches, publish an accessibility statement, then keep a monitoring cadence so new content and plugin updates do not reintroduce the same failures.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles

AI-slop content cleanup

A YMYL diagnostic for WordPress sites: how to find fake stats, fabricated citations, duplicate AI pages, wrong dates, and invented team bios before they damage trust, compliance, or AI citations.