WCAG 2.2: Complete Guide to the New Accessibility Standards

Discover what's new in WCAG 2.2, released October 2023. Learn about the 9 new success criteria and how they impact web design and development.

18 min read
#wcag#accessibility#web-standards#compliance#best-practices

Introduction to WCAG 2.2

On October 5, 2023, the World Wide Web Consortium (W3C) officially published WCAG 2.2 as a W3C Recommendation—the highest level of web standard. This update represents a significant step forward in making the web more accessible to people with disabilities, particularly those with cognitive, learning, motor, and vision impairments.

If you're a web developer, designer, or digital content creator, understanding WCAG 2.2 isn't just about compliance—it's about creating better experiences for all users. With approximately 1.3 billion people worldwide living with some form of disability, accessibility isn't a niche concern; it's a fundamental requirement for inclusive digital design.

In this comprehensive guide, we'll explore everything you need to know about WCAG 2.2, from the new success criteria to practical implementation strategies that will help you build more accessible websites and applications.

What's New: WCAG 2.2 vs WCAG 2.1

WCAG 2.2 builds upon the foundation of WCAG 2.1, adding nine new success criteria while maintaining backward compatibility. This means that if your website meets WCAG 2.2 requirements, it automatically satisfies WCAG 2.1 and WCAG 2.0 as well.

ℹ️Backward Compatibility

WCAG updates are designed to be backward-compatible. Meeting WCAG 2.2 standards ensures your site complies with all previous versions of the guidelines.

Key Changes at a Glance

  • 9 new success criteria focused on cognitive, motor, and visual accessibility
  • 1 criterion removed (4.1.1 Parsing) as it's now obsolete due to HTML standards evolution
  • Enhanced focus visibility requirements for keyboard navigation
  • Stricter authentication standards that reduce cognitive load
  • Improved mobile accessibility with target size requirements

The primary beneficiaries of these updates are:

  • Users with low vision who rely on visible focus indicators
  • People with cognitive or learning disabilities who benefit from reduced redundancy
  • Users with motor impairments who need larger touch targets and alternatives to dragging
  • Mobile users who interact with touch interfaces

The Nine New Success Criteria in Detail

Let's explore each new success criterion, understand its purpose, and learn how to implement it effectively.

Level A Criteria

2.4.7 Focus Visible (Previously Level AA, now includes new requirements)

While technically not new, focus visibility has been enhanced with additional requirements in 2.4.11 and 2.4.13.

3.3.7 Redundant Entry (Level A)

What it means: Users shouldn't have to enter the same information multiple times within a single session unless absolutely necessary for security or when the information is no longer valid.

Why it matters: Re-entering information is frustrating for everyone but particularly challenging for users with cognitive disabilities, memory impairments, or motor difficulties.

Practical implementation:

  • Save form data as users progress through multi-step processes
  • Auto-fill previously entered information (like billing and shipping addresses)
  • Use session storage or cookies to remember user inputs
  • Provide clear options to copy information from one field to another
💡Implementation Tip

Use browser autocomplete attributes and localStorage to remember non-sensitive information across form steps. For sensitive data like passwords, ensure your security practices align with this criterion.

// Example: Save non-sensitive form data to localStorage
function saveFormData(fieldName, value) {
  if (!isSensitiveField(fieldName)) {
    localStorage.setItem(`form_${fieldName}`, value);
  }
}

function retrieveFormData(fieldName) {
  return localStorage.getItem(`form_${fieldName}`);
}

Exceptions:

  • Security purposes (password re-entry)
  • When the information is no longer valid
  • When re-entering is essential to the process

3.3.8 Accessible Authentication (Minimum) (Level AA)

What it means: Authentication processes shouldn't rely solely on cognitive function tests like memorizing passwords, solving puzzles, or recalling specific information.

Why it matters: Traditional authentication methods can exclude users with cognitive disabilities, memory impairments, or those who use assistive technologies.

Practical implementation:

  • Support password managers and browser autofill
  • Offer email or SMS-based authentication links
  • Provide biometric authentication options (fingerprint, face recognition)
  • Allow users to paste passwords from clipboard
  • Use OAuth/social login as an alternative
⚠️What to Avoid

Avoid using CAPTCHA puzzles that require identifying objects in images, solving math problems, or remembering specific information without accessible alternatives.

<!-- Example: Support password managers with proper autocomplete -->
<input
  type="email"
  name="email"
  autocomplete="email"
  id="user-email"
/>
<input
  type="password"
  name="password"
  autocomplete="current-password"
  id="user-password"
/>

Level AA Criteria

2.4.11 Focus Not Obscured (Minimum) (Level AA)

What it means: When a user interface component receives keyboard focus, the focused element must not be completely hidden by author-created content like sticky headers, cookie banners, or modal dialogs.

Why it matters: Keyboard-only users need to see where they are on the page. If focus indicators are hidden behind fixed elements, users can lose their place entirely.

Practical implementation:

  • Ensure sticky headers don't overlap with focused elements
  • Add appropriate z-index management for focus indicators
  • Implement scroll behavior that reveals focused elements
  • Test your site navigation using only the keyboard (Tab, Shift+Tab)
/* Example: Ensure focus indicators appear above sticky elements */
:focus {
  position: relative;
  z-index: 1000; /* Higher than sticky header */
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

.sticky-header {
  z-index: 999; /* Lower than focus indicators */
}

2.4.12 Focus Not Obscured (Enhanced) (Level AAA)

What it means: The stricter AAA version requires that no part of the focused element is hidden by author-created content.

Implementation: Similar to 2.4.11 but with stricter requirements. Consider implementing scroll-margin or scroll-padding to ensure focused elements are fully visible.

/* Example: Add scroll margin to ensure full visibility */
:focus {
  scroll-margin-top: 100px; /* Height of sticky header + buffer */
}

2.5.7 Dragging Movements (Level AA)

What it means: Any functionality that requires dragging (click-hold-move-release) must have a single-pointer alternative that doesn't require dragging.

Why it matters: Dragging gestures are difficult or impossible for users with motor disabilities, tremors, or those using assistive technologies.

Practical implementation:

  • Provide alternative controls for sliders (increment/decrement buttons)
  • Offer click-to-select options for drag-and-drop interfaces
  • Add keyboard shortcuts for rearranging items
  • Include up/down buttons for sortable lists
#2563EBInteractive blue for buttons
<!-- Example: Accessible slider with button alternatives -->
<div class="slider-control">
  <button type="button" aria-label="Decrease value">−</button>
  <input
    type="range"
    min="0"
    max="100"
    value="50"
    aria-label="Volume control"
  />
  <button type="button" aria-label="Increase value">+</button>
</div>

Exception: When dragging is essential to the functionality (like drawing or handwriting apps).

2.5.8 Target Size (Minimum) (Level AA)

What it means: Interactive elements must have a minimum target size of at least 24 by 24 CSS pixels, or have adequate spacing between smaller targets.

Why it matters: Small touch targets are difficult to activate accurately, especially for users with motor impairments, tremors, or those using mobile devices.

Practical implementation:

  • Set minimum width and height of 24px for all interactive elements
  • Add padding to increase clickable area without enlarging visual size
  • Ensure at least 8px spacing between smaller adjacent controls
  • Use CSS to expand hit areas beyond visible boundaries

Preview

Sample Text

#FFFFFF
#2563EB

Contrast Ratio

5.17:1
WCAG AA (4.5:1)
WCAG AAA (7:1)
/* Example: Minimum target size for buttons */
.button {
  min-width: 24px;
  min-height: 24px;
  padding: 8px 16px; /* This increases the actual target size */
}

/* Example: Small icon with expanded hit area */
.icon-button {
  width: 16px;
  height: 16px;
  padding: 12px; /* Total target: 40px x 40px */
}

/* Example: Spacing alternative for small adjacent targets */
.button-group .small-button {
  width: 16px;
  height: 16px;
  margin: 8px; /* Creates 24px spacing */
}

Exceptions:

  • Inline links within sentences
  • Targets where size is determined by the user agent (browser defaults)
  • When a larger equivalent control exists on the same page
  • When the target size is essential to the information conveyed
💡Testing Tip

Use the 24×24 Pixel Cursor Bookmarklet by Adrian Roselli to visually test your target sizes. It turns your cursor into a 24×24 pixel square for easy verification.

3.2.6 Consistent Help (Level A)

What it means: If help mechanisms (contact links, chat buttons, FAQs, help pages) appear on multiple pages, they must be in the same relative order on each page.

Why it matters: Users with cognitive disabilities benefit from predictable, consistent interface patterns. When help is in a different location on each page, it creates confusion and makes it harder to get assistance.

Practical implementation:

  • Place help links in the same position across all pages (e.g., always in the header or footer)
  • Use the same order for multiple help mechanisms
  • Maintain consistent labeling ("Help," "Support," "Contact")
  • Keep help buttons in fixed positions for single-page applications
<!-- Example: Consistent help in footer across all pages -->
<footer>
  <nav aria-label="Help and support">
    <ul>
      <li><a href="/faq">FAQ</a></li>
      <li><a href="/contact">Contact Us</a></li>
      <li><a href="/help">Help Center</a></li>
      <li><button id="chat-support">Live Chat</button></li>
    </ul>
  </nav>
</footer>

Level AAA Criteria

2.4.13 Focus Appearance (Level AAA)

What it means: Focus indicators must meet specific size and contrast requirements:

  • Minimum area of at least a 2 CSS pixel thick perimeter around the focused element
  • At least 3:1 contrast ratio between focused and unfocused states
  • At least 3:1 contrast against adjacent colors

Why it matters: While most browsers provide default focus indicators, custom designs often reduce visibility, making it hard for keyboard users to track their position.

Practical implementation:

  • Design custom focus styles that meet size and contrast requirements
  • Test focus indicators against all background colors in your design system
  • Use our contrast checker to verify focus indicator colors

Want to check your color contrast?

Try the Contrast Checker →
/* Example: WCAG 2.2 compliant focus indicator */
:focus {
  outline: 2px solid #005fcc; /* Minimum 2px thickness */
  outline-offset: 2px; /* Creates visible separation */
  /* Blue #005fcc has >3:1 contrast against most backgrounds */
}

/* Example: Enhanced focus for dark mode */
@media (prefers-color-scheme: dark) {
  :focus {
    outline: 2px solid #60a5fa; /* Lighter blue for dark backgrounds */
    outline-offset: 2px;
  }
}

Testing your focus indicators:

  1. Navigate your site using only the Tab key
  2. Verify focus is visible on all interactive elements
  3. Check contrast ratios using automated tools
  4. Test with different color schemes (light mode, dark mode)

3.3.9 Accessible Authentication (Enhanced) (Level AAA)

What it means: The stricter AAA version requires that authentication doesn't rely on cognitive function tests, with no exceptions for object recognition or personal content identification.

Implementation: Follow the same principles as 3.3.8 but without using CAPTCHAs or image recognition challenges at all.

One Removed Criterion: 4.1.1 Parsing

WCAG 2.2 officially obsoletes Success Criterion 4.1.1 Parsing, which required valid HTML markup. This criterion became unnecessary because:

  • Modern HTML specifications define how browsers should handle malformed markup
  • Browsers now consistently parse and error-correct HTML
  • Assistive technologies rely on the accessibility tree, not raw HTML validity
ℹ️What This Means

While you no longer need to validate HTML for WCAG compliance, writing clean, semantic HTML is still a best practice for maintainability and performance.

Color Contrast and WCAG 2.2

While WCAG 2.2 doesn't introduce new color contrast ratios, the new focus indicator requirements directly impact how you design and test contrast:

Focus Indicator Contrast Requirements

The new Success Criterion 2.4.13 (Focus Appearance) specifically requires:

  • 3:1 minimum contrast between focused and unfocused states
  • 3:1 minimum contrast against adjacent colors

This means your focus indicators must be carefully chosen to work across your entire color palette.

Practical Color Contrast Considerations

1. Test Focus Indicators Against All Backgrounds

Your focus outline color must maintain 3:1 contrast against every background color it might appear on. This is particularly challenging for sites with image backgrounds or varied color schemes.

/* Example: Dual-color focus indicator for better contrast */
:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #ffffff; /* White buffer for dark backgrounds */
}

2. Consider Dark Mode Implications

If your site supports dark mode, focus indicators need different colors to maintain contrast requirements in both modes.

💡Design System Tip

Include focus indicator colors as part of your design system's color palette. Document which focus colors work with which background colors.

3. Use Color Contrast Tools

Testing focus indicators manually against every background is time-consuming. Use tools to systematically check combinations:

Want to check your color contrast?

Try the Contrast Checker →

Target Size and Visual Design

The new 24×24 pixel minimum target size (SC 2.5.8) affects your visual design decisions:

  • Mobile-first design naturally creates larger touch targets
  • Spacing is your friend: Add margins between small controls
  • Consider padding vs visual size: Buttons can look small but have large hit areas

Implementation Strategy for WCAG 2.2

Updating your website to meet WCAG 2.2 doesn't require a complete redesign. Follow this systematic approach:

Phase 1: Audit Current Compliance

  1. Assess existing WCAG 2.1 compliance – If you already meet 2.1, you're most of the way there
  2. Identify gaps – Focus on the nine new success criteria
  3. Prioritize Level AA – Most legal requirements reference Level AA compliance

Phase 2: Focus on Quick Wins

These changes often require minimal development effort:

  • Add autocomplete attributes to forms (3.3.8)
  • Increase button and link sizes to 24×24px (2.5.8)
  • Standardize help link positions across pages (3.2.6)
  • Implement localStorage for form data persistence (3.3.7)

Phase 3: Address Complex Changes

These require more planning and development:

  • Audit drag-and-drop interfaces and add alternatives (2.5.7)
  • Review and update focus indicators for visibility and contrast (2.4.11, 2.4.13)
  • Redesign authentication flows to support password managers (3.3.8)
  • Test and fix focus obscuration from fixed elements (2.4.11)

Phase 4: Test Thoroughly

  • Keyboard-only navigation: Tab through your entire site
  • Screen reader testing: Verify assistive technology compatibility
  • Automated scanning: Use tools like axe DevTools, WAVE, or Lighthouse
  • Manual verification: Some criteria require human judgment
  • Real user testing: Include people with disabilities in your testing process
⚠️Don't Rely Solely on Automated Tools

Automated accessibility checkers can only catch about 30-40% of accessibility issues. Manual testing and real user feedback are essential for true WCAG compliance.

Common Mistakes to Avoid

1. Ignoring Focus Visibility

The mistake: Removing focus outlines for aesthetic reasons without providing alternatives.

The fix: Always provide visible focus indicators. Style them to match your design, but never remove them entirely.

/* DON'T do this */
:focus {
  outline: none; /* Removes visibility for keyboard users */
}

/* DO this instead */
:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

2. Creating Tiny Touch Targets

The mistake: Designing mobile interfaces with targets smaller than 24×24 pixels without adequate spacing.

The fix: Use padding to expand hit areas or add spacing between controls.

3. Breaking Authentication with Paste Prevention

The mistake: Preventing users from pasting passwords, breaking password manager functionality.

The fix: Never disable paste functionality on authentication fields. It's required for accessible authentication.

// DON'T do this
input.addEventListener('paste', (e) => e.preventDefault());

// DO allow pasting
// (Simply don't add paste prevention)

4. Inconsistent Help Placement

The mistake: Moving help links, chat buttons, or contact forms to different positions on each page.

The fix: Create a consistent help navigation pattern and maintain it across your site.

5. Hidden Focused Elements

The mistake: Using high z-index values for sticky headers or modals that hide focused elements.

The fix: Manage z-index carefully and ensure focused elements are always visible.

Real-World Examples

Example 1: Accessible Multi-Step Form

Here's how to implement a WCAG 2.2-compliant multi-step form that satisfies SC 3.3.7 (Redundant Entry):

// Save form data across steps
const FormStorage = {
  save(step, data) {
    const existing = this.load();
    localStorage.setItem('formData', JSON.stringify({
      ...existing,
      [step]: data,
      lastUpdated: new Date().toISOString()
    }));
  },

  load() {
    const data = localStorage.getItem('formData');
    return data ? JSON.parse(data) : {};
  },

  clear() {
    localStorage.removeItem('formData');
  }
};

// Use in your form
function handleStepComplete(stepName, formData) {
  FormStorage.save(stepName, formData);
  navigateToNextStep();
}

// Auto-fill on page load
function initializeForm() {
  const savedData = FormStorage.load();
  if (savedData.currentStep) {
    populateFormFields(savedData.currentStep);
  }
}

Example 2: Accessible Slider with Drag Alternative

Implementing SC 2.5.7 (Dragging Movements):

<div class="price-filter">
  <label id="price-label">Price Range</label>

  <div class="range-control">
    <button
      type="button"
      aria-label="Decrease minimum price"
      onclick="adjustMin(-10)"
    >−</button>

    <input
      type="range"
      min="0"
      max="1000"
      step="10"
      value="100"
      aria-labelledby="price-label"
      aria-valuenow="100"
      aria-valuemin="0"
      aria-valuemax="1000"
      aria-valuetext="$100"
    />

    <button
      type="button"
      aria-label="Increase minimum price"
      onclick="adjustMin(10)"
    >+</button>
  </div>

  <output>$100 - $500</output>
</div>

Tools and Resources for WCAG 2.2 Compliance

Testing Tools

Automated Scanners:

  • axe DevTools: Browser extension for accessibility testing
  • WAVE: Visual feedback about accessibility issues
  • Lighthouse: Built into Chrome DevTools
  • Pa11y: Command-line accessibility testing

Focus Testing:

  • 24×24 Pixel Cursor Bookmarklet: Test target sizes visually
  • Keyboard Navigation Testing: Use Tab, Shift+Tab, Enter, Space
  • Browser DevTools: Inspect focus states and z-index layers

Color Contrast Testing:

Want to check your color contrast?

Try the Contrast Checker →

Official Resources

Educational Resources

  • WebAIM: Comprehensive accessibility articles and tutorials
  • Deque University: Free accessibility courses
  • A11y Project: Community-driven accessibility best practices
  • MDN Web Docs: Accessibility guides for developers

When WCAG 2.2 Becomes Required

Different jurisdictions and regulations have varying timelines for adopting WCAG 2.2:

  • European Accessibility Act: Will likely reference WCAG 2.2 when it takes effect in June 2025
  • ADA (United States): No official WCAG version specified, but courts often reference WCAG 2.1 AA
  • Section 508 (US Federal): Currently references WCAG 2.0, expected to update
  • EN 301 549 (EU): The European standard is expected to adopt WCAG 2.2
🚨Don't Wait for Legal Requirements

Implementing WCAG 2.2 now improves user experience for everyone and positions you ahead of future legal requirements. Accessibility is about people, not just compliance.

Benefits Beyond Compliance

Meeting WCAG 2.2 provides benefits beyond avoiding legal issues:

  1. Larger audience reach: 1.3 billion people worldwide have disabilities
  2. Better SEO: Accessible sites often rank higher in search results
  3. Improved usability: Accessibility features benefit all users
  4. Mobile optimization: Many WCAG 2.2 criteria improve mobile experiences
  5. Brand reputation: Demonstrates commitment to inclusion
  6. Future-proofing: Staying current with standards reduces technical debt

Actionable Takeaways

Ready to implement WCAG 2.2? Here's your action plan:

Immediate Actions (This Week)

  1. Run an automated scan using axe DevTools or WAVE to identify obvious issues
  2. Test keyboard navigation through your site (Tab, Shift+Tab, Enter, Space)
  3. Verify target sizes using browser DevTools to measure button and link dimensions
  4. Check focus visibility by tabbing through your site and observing focus indicators
  5. Add autocomplete attributes to form fields for authentication (3.3.8)

Short-term Goals (This Month)

  1. Audit all interactive elements to ensure 24×24 pixel minimum sizes (2.5.8)
  2. Review drag-and-drop interfaces and add keyboard/click alternatives (2.5.7)
  3. Standardize help link positions across all pages (3.2.6)
  4. Implement form data persistence to prevent redundant entry (3.3.7)
  5. Update focus indicators to meet contrast requirements (2.4.13)

Long-term Strategy (Next Quarter)

  1. Conduct comprehensive manual testing with real users with disabilities
  2. Integrate accessibility into your design system and component library
  3. Train your team on WCAG 2.2 requirements and accessible development practices
  4. Establish accessibility testing as part of your CI/CD pipeline
  5. Create an accessibility statement documenting your compliance level
💡Start Small, Think Big

You don't need to fix everything at once. Prioritize high-traffic pages and critical user journeys, then systematically expand your accessibility improvements across your entire site.

Color Accessibility Tools

Color contrast remains a cornerstone of accessibility. Use these tools to ensure your color choices meet WCAG requirements:

Want to check your color contrast?

Try the Contrast Checker →

See how your design looks to colorblind users

Try the Simulator →

Generate accessible color palettes

Try the Palette Generator →

Conclusion

WCAG 2.2 represents a meaningful evolution in web accessibility standards, with a clear focus on cognitive accessibility, mobile usability, and keyboard navigation. The nine new success criteria address real barriers that millions of users face daily, from completing forms to navigating with a keyboard to authenticating securely.

Key points to remember:

  • WCAG 2.2 is backward compatible – Meeting 2.2 means you meet 2.1 and 2.0
  • Focus on Level AA for most compliance requirements
  • Nine new success criteria improve cognitive, motor, and visual accessibility
  • One criterion removed (4.1.1 Parsing) as it's now obsolete
  • Color contrast remains critical, especially for focus indicators
  • Testing requires both automated tools and manual verification

The most important thing to understand about WCAG 2.2 is that it's not just about compliance—it's about creating a better web for everyone. Every improvement you make benefits users with disabilities, elderly users, mobile users, and people in challenging situations.

Start with the quick wins, plan for the complex changes, and commit to making accessibility a core part of your design and development process. The web should be accessible to all, and WCAG 2.2 gives us the tools and guidelines to make that vision a reality.

Ready to check your color contrast? Try our free WCAG 2.2-compliant contrast checker tool to ensure your designs meet the latest accessibility standards.

Want to check your color contrast?

Try the Contrast Checker →

Need help with WCAG 2.2 compliance? Start by testing your color contrast, exploring accessible color palettes, and simulating different types of color blindness using our free tools. Every step toward accessibility makes the web better for everyone.

🛠️ Try These Tools

Ad Slot: blog-post-bottom

Related Articles