WCAG 2.2 EAA tactical checklist — the 23 things to fix before audit
European Accessibility Act came into force June 28, 2025. WCAG 2.2 AA is the de-facto compliance baseline. This is the tactical checklist — 23 concrete fixes that get most EU sites from failing to passing. Ordered by impact-to-effort ratio.
European Accessibility Act (EAA, Directive 2019/882) became enforceable June 28, 2025. It mandates WCAG 2.2 AA conformance for B2C digital services in finance, e-commerce, transport, telecom, ebooks, and ATM/POS terminals. Fines are set by member states — typically 5-10k EUR per violation per day in Romania, higher in DE and FR.
The good news: most accessibility failures are concentrated in ~20-30 common patterns. Fix those and you go from failing to broadly passing. This list is ordered by impact-to-effort.
Top 5 quick wins (under 1 day each)
- Image alt text everywhere. Every
<img>needsalt=""(decorative) or descriptive alt. Missing alts are the #1 axe violation. Build a CMS rule: no publish without alt. - Form labels associated. Every
<input>needs<label for="id">oraria-label. Placeholders alone do NOT count — they disappear on focus. - Color contrast 4.5:1 minimum (text). WCAG 2.2 AA. Use any contrast checker. Brand grays at #999 on white = 2.85 (fails). Need ≥#767676 on white.
- Focus visible on all interactive elements. Don't remove outline. If you must restyle, make it equivalent visibility (e.g., 2px solid contrasting color).
- Lang attribute on
<html>. Single line fix.<html lang="ro">. Critical for screen readers.
Tier 2 — semantic structure (1-3 days)
- Single
<h1>per page, hierarchical headings (no skipping h2 → h4). - Landmarks:
<header>,<nav>,<main>,<footer>— not all<div>s. - Skip-to-main-content link as first focusable element.
- Lists in
<ul>/<ol>, not<div>with bullets. - Buttons are
<button>, links are<a>. Never<div onclick>.
Tier 3 — keyboard navigation (2-5 days)
- All interactive elements reachable by Tab in logical order.
- All interactive elements operable by Enter/Space.
- Modal dialogs trap focus (no Tab escape to background).
- Dropdowns navigable with arrow keys (ARIA combobox or native
<select>). - Custom widgets follow ARIA Authoring Practices.
Tier 4 — WCAG 2.2 new criteria (often missed)
- 2.4.11 Focus Not Obscured (AA new) — sticky headers/cookie banners must not cover focused element. Use
scroll-padding-top. - 2.5.7 Dragging Movements (AA new) — anything draggable must have alternative (e.g., click-and-click instead of drag).
- 2.5.8 Target Size (AA new) — touch targets minimum 24×24 CSS px (or have ≥24px spacing).
- 3.2.6 Consistent Help (A new) — Help/Contact link must be in same location across pages.
- 3.3.7 Redundant Entry (A new) — don't ask user to re-type info already provided in same session.
- 3.3.8 Accessible Authentication (AA new) — login can't require puzzle/cognitive test (CAPTCHA OK if alt provided).
Tier 5 — dynamic content + media
- Captions on videos (auto-generated YouTube captions count if accurate).
- Status messages via
aria-live(toast notifications, form errors).
How AuditOPE tests this
Our accessibility phase runs axe-core 4.10 against the audited page, producing findings per WCAG 2.2 criterion. The new EAA compliance phase (v0.19.1) checks for accessibility statement page presence, contact mechanism for accessibility complaints (Article 14 requirement), and conformity declaration link. Together these give you a defensible audit trail for procurement and regulator inquiries.
The PDF report categorizes findings by WCAG criterion + tier so your dev team can prioritize. We test bilingual sites in both languages — EAA applies to all locales served from the same EU entity.
Want this kind of analysis on your own site?
Run a free audit →