Handbook
WCAG, ADA & Accessibility Compliance
Purpose: Project-agnostic guide to digital accessibility — WCAG conformance, common legal hooks (US, EU, Canada, Australia), engineering mappings, testing, VPAT, and procurement. Not legal advice; ADA circuit splits and…
Audience: Product, design, and engineering teams shipping web and mobile experiences. Cross-ref: Compliance body of knowledge, Compliance frameworks (index).
Overview
Accessibility is both a legal obligation in many jurisdictions and an ethical and commercial imperative: broader usable products, lower litigation/procurement friction, and better UX for everyone (including temporary and situational disabilities). WCAG is the technical backbone referenced by laws and procurement standards worldwide; conformance claims must name version, level, and scope (which pages/flows).
Legal landscape (summary)
| Framework | Scope | Applies to | Conformance target | Enforcement / notes |
|---|---|---|---|---|
| ADA Title III (US) | Places of public accommodation — digital applicability debated by circuit; DOJ rulemaking moving toward WCAG 2.1 AA for state/local Title II (distinct but influential). | Businesses open to the public (interpretation varies). | Often WCAG 2.x AA cited in settlements. | Private suits, DOJ matters; damages/injunctive relief. |
| Section 508 (US federal) | Federal agencies’ ICT; vendor products sold to federal government. | Agencies + contractors under specified procurements. | WCAG 2.0 AA via Rev 508; VPAT common in sales. | Procurement gate; agency enforcement. |
| European Accessibility Act (EAA) | Products/services in scope (e.g. e-commerce, banking, transport, media devices — phased). | EU market actors from June 2025 (enforcement timelines vary by Member State). | EN 301 549 (references WCAG for web). | Market surveillance; penalties per national law. |
| EN 301 549 (EU) | Harmonized standard for accessibility of ICT in public procurement and policy contexts. | Public sector procurement; referenced by EAA implementation. | Includes WCAG-based criteria for web content. | Supports conformity assessment. |
| AODA (Ontario) | Organizations in Ontario; WCAG 2.0 AA commonly referenced for web. | Public and private sector per size thresholds. | WCAG 2.0 AA (verify current regulation). | Administrative penalties. |
| DDA (Australia) | Disability discrimination law; standards adopted under it (e.g. AS EN 301 549 in federal procurement). | Service providers; government ICT. | Often WCAG 2.x-aligned in practice. | Complaints and legal action. |
WCAG 2.2 conformance levels
| Level | What it adds | Legal / practical notes |
|---|---|---|
| A | Baseline (e.g. alt text for non-decorative images, keyboard operability foundations, no keyboard traps). | Rarely sufficient alone for enterprise or public-sector claims. |
| AA | Contrast (e.g. 4.5:1 normal text), resize to 200%, focus visible, more form/error guidance, additional nav requirements. | Most cited level in law, settlement, and RFP. |
| AAA | Stricter contrast, sign language, extended audio description, etc. | Whole-site AAA is often impractical; sometimes partial AAA for critical flows. |
WCAG compliance workflow
WCAG-to-engineering mapping (selected)
| Success criterion | Technical implementation |
|---|---|
| 1.1.1 Non-text content | Meaningful alt; aria-label where appropriate; decorative images alt="" / role="presentation". |
| 1.4.3 Contrast (minimum) | Design tokens at 4.5:1 normal text / 3:1 large; check graphical objects and UI components (related SCs). |
| 2.1.1 Keyboard | All interactive controls focusable and operable without pointer; no traps; custom widgets with keyboard model + ARIA. |
| 2.4.x Nav / focus | Skip links, logical focus order, visible focus indicators, descriptive headings. |
| 3.3.x Input assistance | Labels associated with inputs; clear error messages; suggestions where known. |
| 4.1.2 Name, role, value | Semantic HTML first; ARIA only when necessary; live regions for dynamic updates. |
Testing methodology comparison
| Layer | Examples | Catches well | Coverage (indicative) |
|---|---|---|---|
| Automated | axe-core, Lighthouse, WAVE, pa11y | Obvious violations, missing labels, some contrast | Often ~30–40% of issues — tool-dependent |
| Manual | Keyboard-only pass, 200% zoom, reflow at 320px, forms | Focus order, custom widgets, logical structure | High for expert review |
| Assistive technology | NVDA, JAWS, VoiceOver, magnifiers | Screen reader announcements, live regions, real-world friction | Critical for complex apps |
VPAT (Voluntary Product Accessibility Template)
- Purpose: Disclose how product meets Section 508 / WCAG / EN 301 549 criteria for procurement.
- Structure: Tables per standard with criteria, Conformance level, remarks.
- Conformance levels per row: Supports, Partially Supports, Does Not Support, Not Applicable — must be evidence-based.
- Update frequency: Major releases or annual refresh for active sales cycles.
- Public disclosure: Many vendors publish ACRs; accuracy matters for false claims risk.
Accessibility audit process
- Scope: URLs, states (auth, errors), components, design system.
- Sampling: Representative templates + high-risk flows (checkout, auth, data entry).
- AT testing on agreed browser/SR combinations.
- Findings report with WCAG refs, severity, repro steps.
- Remediation priority: P1 blocks access; P2 significant difficulty; P3 minor.
Design system accessibility
- Component library with documented keyboard and ARIA patterns.
- Color tokens with contrast pairs; no color-only status.
- Focus styles that meet 2.4.7 / 2.4.11 expectations.
prefers-reduced-motionfor animation.- Responsive typography and reflow-friendly layouts.
Procurement
- Section 508 — VPAT/ACR and sometimes Accessibility Conformance Report in RFP responses.
- Accessibility clause in RFPs: WCAG 2.1/2.2 AA, remediation SLAs, VPAT updates.
Is WCAG AA legally required? (decision tree)
Common fixes
| Issue | Fix |
|---|---|
| Missing alt | Descriptive alt; alt="" if decorative. |
| Color-only information | Add text, pattern, or icon + text. |
| Missing labels | <label for> or aria-labelledby. |
| Keyboard traps | Focus management in modals/menus; inert / focus trap libs done right. |
| No skip link | “Skip to main content” as first focusable element. |
| Autoplay | No unexpected audio; user control. |
| Low contrast | Token updates; avoid text on busy images without overlay. |
Accessibility statement
Elements: Commitment; standard (e.g. WCAG 2.2 AA); scope; known limitations; feedback channel and response time; date of last review.
Monitoring and regression prevention
- CI: axe-core (e.g. Cypress/Playwright), linting (eslint-plugin-jsx-a11y).
- Design review gates for new components.
- Periodic audits (annual or per major redesign).
Anti-patterns
- Overlay widgets marketed as “instant compliance” — often fail real AT use and draw enforcement scrutiny.
- Accessibility as a single phase at launch — without CI and design discipline.
- VPAT without testing — procurement and legal exposure.
- PDF neglect — tagged PDFs or HTML-first alternatives.
External references
- W3C WAI
- WebAIM
- Deque University
- ITI VPAT template
- Section508.gov
- European Accessibility Act (EU Commission overview)
Keep project-specific compliance documentation in docs/security/compliance/, DPIAs in docs/security/, and compliance decisions in docs/adr/, not in this file.
On this page
Overview Legal landscape (summary) WCAG 2.2 conformance levels WCAG compliance workflow WCAG-to-engineering mapping (selected) Testing methodology comparison VPAT (Voluntary Product Accessibility Template) Accessibility audit process Design system accessibility Procurement Is WCAG AA legally required? (decision tree) Common fixes Accessibility statement Monitoring and regression prevention Anti-patterns External references