Close

Β 

WCAG Accessibility Quick Reference Guide

Based on 2024 – march 2026 NGI project audits – Comprehensive reference to implement WCAG 2.2 Level AA compliance in web applications and mobile apps

πŸ“– About This Reference

This document is a quick reference of the most common WCAG errors found across 78 real projects. Each issue includes a brief overview and code snippets.

For detailed implementation with interactive demos, use these dedicated component guides:

  • Accessible Dropdown Menus – Complete guide with keyboard navigation, ARIA, and screen reader support
  • Keyboard Navigation – Tab order, focus trapping, skip links, and arrow key patterns (2,410 violations)
  • Color Contrast – Contrast ratios, accessible palettes, and a live contrast checker (1,431 violations)
  • Coming soon: Form Labels – Label association, ARIA naming, icon buttons, and fieldsets (487 violations)
  • Coming soon: Form Validation – Error identification, ARIA live regions, and real-time feedback (45 violations)

Executive Summary

Analysis Overview: Based on comprehensive accessibility audits of 78 NGI projects conducted in 2024– march 2026, with a total of 5,812 documented WCAG violations. This data represents the most common accessibility issues found across tested web applications, mobile apps, and desktop software.

πŸ“‹ Note on Document Structure: While the table below shows issues ranked by frequency, the guide sections (1-15) are organized pedagogically – from fundamental concepts to advanced implementation. This helps developers build accessibility knowledge systematically, starting with the highest-impact basics.

Top 5 Most Critical Issues

RankIssue TypeTotal ViolationsPrimary Affected Areas
1Keyboard Navigation (2.1.1)2,410Mobile apps, XR/VR, complex UI components (77/78 projects)
2Color Contrast (1.4.3)1,431Links, buttons, focus indicators, modern UI (75/78 projects)
3Image Alt Text (1.1.1)301Missing alt text, decorative images, icons (39/78 projects)
4Form Labels (3.3.2)238Labels, input fields, form instructions (44/78 projects)
5Headings and Labels (2.4.6)228Heading structure, descriptive labels (27/78 projects)

Key Insights

  • Keyboard Navigation is #1 Issue: 2,410 violations across 77 of 78 projects β€” by far the most prevalent accessibility barrier, especially in mobile apps and XR/VR interfaces
  • Color Contrast remains persistent: 1,431 violations across 75 of 78 projects, confirming this fundamental issue affects nearly every project regardless of type
  • Keyboard + Contrast = 70% of all issues: These two categories alone account for 3,841 of 5,812 total violations β€” fixing them has the biggest impact
  • Image Alt Text widespread: 301 violations in half of all projects β€” a quick win that is often overlooked
  • Form and label issues underestimated: 487 combined form-related violations (labels, ARIA naming, validation) across 44 projects
  • Advanced projects struggle with ARIA: Complex implementations often contain errors, suggesting need for better ARIA training

1. Keyboard Navigation – 2,410 Violations

WCAG Reference: 2.1.1 Keyboard – Level A

The most common accessibility issue found, particularly affecting mobile apps and XR/VR applications that often lack proper keyboard alternatives.

Common Problems

  • Can’t navigate the entire site using only Tab, Shift+Tab, Enter, Space, and arrow keys
  • Dropdown menus not accessible via keyboard
  • Modals don’t trap focus properly
  • Custom components (sliders, carousels) lack keyboard support
  • Missing skip links for main content
Show Code Examples & Implementation
Essential patterns for keyboard accessible components

β–Ό

Quick Test: Unplug your mouse β†’ Use only Tab, Enter, Space, Arrow keys β†’ Verify all functionality works


2. Color Contrast Issues – 1,431 Violations

WCAG Reference: 1.4.3 Contrast (Minimum) – Level AA

A persistent and widespread issue, affecting everything from simple links to complex modern UI patterns including dark themes, gradients, and subtle interactive states.

Common Problems

  • Links that don’t meet the minimum 4.5:1 contrast ratio requirement
  • Focus indicators with insufficient contrast against backgrounds
  • Subtle hover states and button outlines that blend with backgrounds
  • Modern minimal design with insufficient contrast
  • Dark themes with inadequate light text contrast
  • Gradient backgrounds affecting text readability
Show Code Examples & Implementation
CSS patterns for proper contrast ratios and focus indicators

β–Ό

Quick Test: Use a contrast checker β†’ Verify all text meets 4.5:1 (normal) or 3:1 (large text) β†’ Check focus indicators


3. Form Accessibility – 487 Violations

WCAG Reference: 4.1.2 Name, Role, Value – Level A

Common Problems

  • Calendar and notification buttons without proper labels
  • Login and register elements missing labels
  • iframe elements without accessible names
  • Form validation errors shown without proper identification
  • Submit buttons with only icons and no text alternatives
  • Toggle buttons missing state information (pressed/unpressed)
Show Code Examples & Implementation
Proper form labels, button states, and validation patterns

β–Ό

Quick Test: Use screen reader β†’ Navigate through form β†’ Verify all fields and buttons are clearly announced


4. Information and Relationships – 167 Violations

WCAG Reference: 1.3.1 Info and Relationships – Level A

Common Problems

  • H1 and H5 headings present, but intermediate heading levels (H2-H4) are skipped
  • Improper semantic structure breaking screen reader navigation
  • Content that looks like headings but isn’t marked up as headings
  • Missing landmark regions (header, nav, main, aside, footer)
Show Code Examples & Implementation
Semantic structure patterns for proper heading hierarchy

β–Ό

Quick Test: Use browser DevTools β†’ Check document outline β†’ Verify logical heading structure


WCAG Reference: 2.4.1 Bypass Blocks – Level A

Common Problems

  • No skip links provided on pages
  • Skip links that don’t work or lead to wrong content
  • Skip links only visible on focus but poorly positioned
  • Missing skip links for repetitive content blocks
Show Code Examples & Implementation
Skip link patterns and CSS for proper navigation

β–Ό

Quick Test: Press Tab on page load β†’ Skip link appears β†’ Press Enter β†’ Focus jumps to main content


6. Focus Visibility – 103 Violations

WCAG Reference: 2.4.7 Focus Visible – Level AA

Common Problems

  • Interactive elements without visible focus indicators
  • Focus indicators with insufficient contrast against backgrounds
  • CSS that removes all focus indicators (outline: none)
  • Focus indicators that disappear behind other elements
Show Code Examples & Implementation
High-contrast focus indicator patterns

β–Ό

Quick Test: Use Tab key β†’ Navigate through all interactive elements β†’ Verify clear focus indicators


7. Headings and Labels – 228 Violations

WCAG Reference: 2.4.6 Headings and Labels – Level AA

Common Problems

  • Generic headings like “Welcome” that don’t describe content
  • Form labels that don’t clearly explain what’s expected
  • Links with generic text like “click here” or “read more”
  • Buttons labeled only with icons
Show Code Examples & Implementation
Descriptive heading and label patterns

β–Ό

Quick Test: Read headings out of context β†’ Do they make sense? β†’ Check form labels are clear


8. Use of Color – 20 Violations

WCAG Reference: 1.4.1 Use of Color – Level A

Common Problems

  • Links only indicated by color without other visual cues
  • Form validation errors shown only in red color
  • Status indicators using only color (green=success, red=error)
  • Charts and graphs relying solely on color coding
Show Code Examples & Implementation
Multiple visual indicator patterns beyond color

β–Ό

Quick Test: Use grayscale filter β†’ Check all information is still clear β†’ Test with color blindness simulator


WCAG Reference: 2.4.4 Link Purpose (In Context) – Level A

Common Problems

  • Multiple “read more” or “click here” links on the same page
  • Links that don’t describe their destination
  • Download links without file type or size information
  • Links that open in new windows without warning
Show Code Examples & Implementation
Self-describing link patterns and external link handling

β–Ό

Quick Test: Read link text alone β†’ Does it make sense out of context? β†’ Check external link warnings


10. Reflow and Responsive Design – 149 Violations

WCAG Reference: 1.4.10 Reflow – Level AA

Common Problems

  • Fixed-width layouts that break when zoomed
  • Text that overlaps or disappears at high zoom levels
  • Horizontal scrolling required at 400% zoom
  • Content that becomes unusable on small screens
Show Code Examples & Implementation
Flexible layout patterns that work at all zoom levels

β–Ό

Quick Test: Zoom to 400% β†’ Verify no horizontal scrolling β†’ Check all content remains accessible


11. Focus Order and Navigation – 122 Violations

WCAG Reference: 2.4.3 Focus Order – Level A

Common Problems

  • Sidebars that interrupt main content flow
  • Modal dialogs that don’t trap focus properly
  • Dynamic content insertion breaking tab order
  • Skip links that don’t work correctly
  • Illogical tab sequences that confuse keyboard users
Show Code Examples & Implementation
Focus management patterns for dynamic content and modals

β–Ό

Quick Test: Open modal β†’ Press Tab β†’ Verify focus stays within modal β†’ Press Escape β†’ Focus returns to trigger


12. Image Alt Text – 301 Violations

WCAG Reference: 1.1.1 Non-text Content – Level A

Common Problems

  • Images don’t have alternative text or are not descriptive
  • Icons lack alternative text descriptions
  • Decorative images with unnecessary alt text
  • Complex images without proper descriptions
  • Generic alt text like “image” or “photo”
Show Code Examples & Implementation
Patterns for informative, decorative, and complex images

β–Ό

Quick Test: Turn off images β†’ Use screen reader β†’ Verify all important visual information is conveyed through alt text


13. ARIA Implementation Issues – 154 Violations

WCAG Reference: 4.1.2 Name, Role, Value – Level A

Common Problems

  • Incorrect ARIA landmark usage
  • Missing or wrong ARIA controls relationships
  • Custom components without proper ARIA states
  • Conflicting semantic markup and ARIA
  • Improper live region implementation
Show Code Examples & Implementation
ARIA patterns for landmarks, state management, and live regions

β–Ό

Quick Test: Use screen reader β†’ Navigate landmarks β†’ Test dynamic content β†’ Verify state changes are announced


14. Form Validation and Error Identification – 45 Violations

WCAG Reference: 3.3.1 Error Identification – Level A | 3.3.2 Labels or Instructions – Level A

Common Problems

  • Form validation errors shown without proper identification
  • Submit buttons with only icons and no text alternatives
  • Toggle buttons missing state information (pressed/unpressed)
  • Required fields not clearly marked
  • Error messages not announced to screen readers
Show Code Examples & Implementation
Advanced form validation patterns with proper error handling

β–Ό

Quick Test: Submit form with errors β†’ Check error messages are announced β†’ Verify error association with fields


15. Page Language and Accessibility Name – 123 Violations

WCAG Reference: 3.1.1 Language of Page – Level A | 2.5.3 Label in Name – Level A

Common Problems

  • Missing lang attribute on html element
  • Accessible names that don’t match visible text
  • Language changes not announced to screen readers
  • Voice control users can’t activate elements by saying visible text
Show Code Examples & Implementation
Language declaration and accessible name patterns

β–Ό

Quick Test: Check HTML lang attribute β†’ Test voice control with button text β†’ Verify language changes


Testing Checklist

Automated Testing

Manual Testing

  • Navigate entire site using only keyboard
  • Test with screen reader (NVDA, JAWS, VoiceOver)
  • Verify 400% zoom doesn’t break layout
  • Check that all functionality works without color
  • Validate HTML structure and semantics
  • Keyboard Testing: Unplug your mouse and navigate with Tab, Arrow keys, Enter, Space

Code Review Points

  • All images have appropriate alt text
  • Forms have proper labels and validation
  • Heading structure is logical (no skipped levels)
  • Focus indicators are visible and have sufficient contrast
  • Interactive elements are keyboard accessible
  • Color is not the only way to convey information

Leave a Reply