European Accessibility Act
EAA compliance for Remix: WCAG 2.1 AA checklist & fixes
Remix's philosophy of leaning on the web platform helps accessibility — server-rendered HTML, real form submissions, and progressive enhancement reduce the surface area for failures. The Remix-specific risks are nested route transitions and the use of useFetcher for partial UI updates that must announce changes. React framework focused on web fundamentals; popular for content-heavy sites.
- Category
- Web framework
- 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 Remix site
The European Accessibility Act (Directive 2019/882) applies to consumer-facing online services from 28 June 2025. For a Remix 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 Remix-specific failure points we see most often during scans.
Top WCAG failures we see on Remix sites
Across hundreds of Remix 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.
Nested route transitions silent to AT
When a child route swaps without announcing, screen-reader users miss the change.
4.1.3useFetcher mutations without status feedback
Inline form mutations need role="status" so success/error is announced.
4.1.3
Concrete code fixes for Remix
Below are copy-paste fixes for the most common Remix 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.
Live region for navigation announcements
import { useNavigation } from '@remix-run/react';
import { useEffect, useState } from 'react';
export function RouteAnnouncer() {
const nav = useNavigation();
const [msg, setMsg] = useState('');
useEffect(() => {
if (nav.state === 'idle' && nav.location) {
setMsg(`Navigated to ${document.title}`);
}
}, [nav.state, nav.location]);
return <div role="status" aria-live="polite" className="sr-only">{msg}</div>;
}Drop into your root layout. Polite announcements after every navigation, no focus stealing.
Tools and plugins worth installing first
eslint-plugin-jsx-a11y
@axe-core/react
How to scan a Remix 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.
Audit production builds; debug HMR injects extra DOM.
Run a free public scan against any Remix URL right now — no signup, results in 60 seconds.
Other web framework platforms
EAA compliance for Next.js
The dominant React meta-framework for production sites; chosen by Stripe, Notion, TikTok,
EAA compliance for React
The most-used UI library; the foundation of Next.js, Remix, and most modern SPAs.
EAA compliance for Vue.js
Top 3 frontend framework; common in SMB and education sites across Europe.
EAA compliance for Angular
Enterprise default in many EU public-sector portals; subject to EAA and EN 301 549.
Find every accessibility issue on your site in 60 seconds.
Free public scan. No card. AI-generated fixes for every issue we find.