Vai al contenuto principale
EAAPass
  • Prezzi
  • Dashboard
  • Blog
  • Informazioni sull'EAA
Blog / Web Accessibility Checklist: 50 Points for WCAG 2.1 AA

Web Accessibility Checklist: 50 Points for WCAG 2.1 AA

3 giugno 2026 · EAAPass Team accessibility checklist wcag checklist wcag 2.1 aa compliance checklist audit checklist

Your Complete WCAG 2.1 AA Checklist

Achieving WCAG 2.1 Level AA conformance requires meeting 50 success criteria across four principles: Perceivable, Operable, Understandable, and Robust. This checklist provides a practical, actionable way to audit your website against every requirement. Use it alongside automated testing tools like EAAPass to ensure comprehensive coverage.

Each item below maps to a specific WCAG success criterion. Items marked with [A] indicate automated tools can detect issues, while [M] indicates manual testing is required.

Perceivable (Items 1-22)

Text Alternatives

  1. [A][M] All images have alt text — Every <img> element has an alt attribute. Informative images have descriptive text; decorative images have empty alt (alt=""). (1.1.1)
  2. [M] Alt text is meaningful — Alt text describes the purpose and content of each image in context, not just what it literally shows. (1.1.1)
  3. [A] Form image buttons have alt text — Image-based submit buttons have descriptive alt text. (1.1.1)
  4. [A] Complex images have detailed descriptions — Charts, graphs, and infographics have extended descriptions via aria-describedby or a linked description. (1.1.1)

Time-Based Media

  1. [M] Videos have captions — All pre-recorded video content has synchronized captions. (1.2.2)
  2. [M] Videos have audio descriptions — Visual-only information in videos is available through audio description or text alternative. (1.2.5)
  3. [M] Live video has captions — Live audio content in video has real-time captions. (1.2.4)
  4. [M] Audio content has transcripts — Pre-recorded audio-only content has text transcripts. (1.2.1)

Adaptable Content

  1. [A] Proper heading hierarchy — Headings follow a logical order (H1 > H2 > H3) without skipping levels. (1.3.1)
  2. [A] Lists use proper markup — Lists use <ul>, <ol>, or <dl> elements, not visual formatting. (1.3.1)
  3. [A] Tables have headers — Data tables use <th> elements to identify headers. (1.3.1)
  4. [A] Form fields have labels — Every form input has a programmatically associated label. (1.3.1)
  5. [A] Reading order is logical — Content makes sense when CSS is disabled. (1.3.2)
  6. [M] Instructions do not rely on sensory characteristics — Directions do not use only shape, size, color, or location. (1.3.3)
  7. [M] Content works in any orientation — No restriction to portrait or landscape. (1.3.4)
  8. [A] Input purpose is identified — Personal data fields use autocomplete attributes. (1.3.5)

Distinguishable

  1. [M] Color is not the only indicator — Information is not conveyed by color alone. (1.4.1)
  2. [A] Text contrast is at least 4.5:1 — Normal text meets 4.5:1 ratio; large text meets 3:1. (1.4.3)
  3. [A] Text can be resized to 200% — Text resizes without loss of content or functionality. (1.4.4)
  4. [M] No images of text — Real text is used instead of images of text (except logos). (1.4.5)
  5. [M] Content reflows at 320px width — No horizontal scrolling at 320 CSS pixels. (1.4.10)
  6. [A] Non-text contrast is at least 3:1 — UI components and graphics meet 3:1 ratio. (1.4.11)

Operable (Items 23-37)

Keyboard Accessible

  1. [M] All functionality works with keyboard — Every interactive element can be operated via keyboard. (2.1.1)
  2. [M] No keyboard traps — Focus can always be moved away from any component using keyboard. (2.1.2)
  3. [M] Character shortcuts can be disabled — Single-character key shortcuts can be turned off or remapped. (2.1.4)

Enough Time

  1. [M] Time limits are adjustable — Users can turn off, adjust, or extend time limits. (2.2.1)
  2. [M] Auto-updating content can be paused — Moving, blinking, or auto-updating content has pause/stop/hide controls. (2.2.2)

Seizures

  1. [M] No content flashes more than 3 times/second — No flashing content above threshold. (2.3.1)

Navigable

  1. [A] Skip navigation link exists — A skip link allows bypassing repeated content. (2.4.1)
  2. [A] Pages have descriptive titles — Each page has a unique, descriptive title. (2.4.2)
  3. [M] Focus order is logical — Tab order follows a meaningful sequence. (2.4.3)
  4. [A][M] Link purpose is clear — Link text describes the destination or action. (2.4.4)
  5. [A] Multiple navigation methods — At least two ways to find pages (nav, search, sitemap). (2.4.5)
  6. [M] Headings and labels are descriptive — All headings and labels describe their topic. (2.4.6)
  7. [M] Focus indicator is visible — Keyboard focus is clearly visible on all interactive elements. (2.4.7)

Input Modalities

  1. [M] Gestures have alternatives — Multipoint/path gestures also work with single tap/click. (2.5.1)
  2. [M] Labels match accessible names — Visible labels are contained in the accessible name. (2.5.3)

Understandable (Items 38-46)

Readable

  1. [A] Page language is set — The HTML lang attribute is present and correct. (3.1.1)
  2. [A] Language changes are marked — Content in other languages uses lang attribute. (3.1.2)

Predictable

  1. [M] Focus does not trigger changes — Receiving focus does not cause unexpected context changes. (3.2.1)
  2. [M] Input does not trigger unexpected changes — Changing a setting does not cause context changes without warning. (3.2.2)
  3. [M] Navigation is consistent — Navigation appears in the same order across pages. (3.2.3)
  4. [M] Components are identified consistently — Same functionality uses same labels. (3.2.4)

Input Assistance

  1. [A][M] Errors are identified in text — Input errors are described in text, not just color. (3.3.1)
  2. [M] Error suggestions are provided — When errors are detected, suggestions are offered. (3.3.3)
  3. [M] Important submissions are reversible — Legal/financial submissions can be reviewed, corrected, or confirmed. (3.3.4)

Robust (Items 47-50)

  1. [A] HTML is valid — No duplicate IDs, proper nesting, complete tags. (4.1.1)
  2. [A] Custom components have names and roles — All UI components have programmatic name, role, and value. (4.1.2)
  3. [M] Status messages use ARIA live regions — Dynamic messages are announced without focus change. (4.1.3)
  4. [A] ARIA attributes are valid — All ARIA roles, states, and properties are used correctly. (4.1.2)

How to Use This Checklist

  1. Run an automated scan first: Use EAAPass to check all items marked [A]. This covers about half the checklist automatically.
  2. Fix automated issues: Address all issues identified by the automated scan.
  3. Manual testing: Work through items marked [M] using keyboard navigation and a screen reader.
  4. Document results: Record your findings for each item, noting any issues and their locations.
  5. Retest after fixes: Run the automated scan again and repeat manual checks for fixed areas.

Start Your Audit Now

This checklist gives you the roadmap — EAAPass gives you the automated testing to cover the first half efficiently. Start with a free audit and use this checklist to complete your manual review. Get your free WCAG 2.1 AA audit today.

Related resources

  • EAA Compliance in Portugal
  • EAA Compliance in Germany
  • EAA Compliance in France
  • WCAG 1.4.3: Contrast (Minimum)
  • WCAG 4.1.2: Name, Role, Value
  • EAAPass vs AccessiBe
  • Pricing & Plans

Is your website EAA compliant?

The European Accessibility Act is mandatory since June 2025. Run a free WCAG 2.1 AA audit in under 60 seconds — no signup, no credit card.

Run free audit now

12,000+ audits completed. Trusted by businesses across 27 EU countries.

© 2026 EAAPass — Tecnologias Online Lda · NIF 517594340 · Portugal

TechsOn · Zavo · Analyze competitors: BenchSpy.com · info@eaapass.eu

  • Blog
  • Dichiarazione di accessibilità
  • Informativa sulla privacy
  • Termini di servizio