The 12 checks we run before sign-off

The European Accessibility Act covers any commercial site that serves EU consumers. For most of our clients, the practical scope is WCAG 2.1 AA — and that maps to twelve recurring failure points we see across audits.

  1. Contrast ratio ≥ 4.5:1 for body text, 3:1 for large text
  2. Every <img> has a meaningful alt (or alt="" if decorative, with role="presentation")
  3. Heading hierarchy descends without skipping levels
  4. Focus order matches DOM order on tab
  5. Focus indicator is visible (not the browser default outline removed)
  6. Touch targets ≥ 44×44 CSS pixels (WCAG 2.5.5)
  7. Form fields have associated <label> elements
  8. Error messages are programmatically linked to the offending field via aria-describedby
  9. Page is operable without a mouse (test with Tab + Enter only)
  10. Page is readable at 200% zoom without horizontal scroll
  11. <html lang="..."> is set
  12. Motion respects prefers-reduced-motion

What we don't bother with

ARIA roles you can express with native HTML. We've never had a single audit issue from "should have used role='button'" — only from "should have used <button> instead of <div role='button'>."