Written by

Halkwinds Editorial Team

Halkwinds Research & Editorial

Published July 11, 2026
Blog image
Application

Building Accessible Web Applications: WCAG 2.2 Complete Implementation Guide

How to meet WCAG 2.2 AA requirements without rebuilding — practical checklists, testing approaches, and tooling.

Accessibility used to be treated as a checkbox exercise handled at the end of a project — a last-minute audit, a few color contrast tweaks, and a sign-off nobody fully understood. That approach no longer holds up. WCAG 2.2 became a W3C Recommendation in October 2023, adding nine new success criteria, and legal exposure around inaccessible software has grown sharply. For engineering managers, the real challenge isn't understanding what accessibility is — it's meeting WCAG 2.2 AA requirements without rebuilding an existing application, without derailing the roadmap, and without turning every ticket into a philosophical debate. This guide gives you a practical implementation path: the concepts that matter, the tooling that catches real defects, and the operational habits that keep accessibility from regressing sprint after sprint.

  • Background / Why This Matters
  • Core Concepts and Architecture
  • Implementation Strategy
  • Scaling and Operational Considerations
  • Common Mistakes / What to Avoid
  • Frequently Asked Questions
  • Conclusion

Background / Why This Matters

Accessibility is fundamentally about whether people can actually use what you ship. Research suggests that a significant share of the population — estimates commonly cited hover around 15–20% globally — live with some form of disability affecting vision, hearing, motor control, or cognition. That includes permanent conditions, temporary ones (a broken wrist), and situational ones (bright sunlight on a phone screen). When your web application fails these users, you're not just excluding an edge case; you're degrading the experience for a broad and shifting population.

For engineering managers, three pressures usually force the issue:

  • Legal and procurement risk. In the US, ADA-related digital accessibility lawsuits have been filed in large numbers year over year. In the EU, the European Accessibility Act carries enforcement deadlines. Enterprise buyers increasingly require a VPAT (Voluntary Product Accessibility Template) before they'll sign.
  • Contractual obligations. Government and enterprise RFPs frequently mandate WCAG 2.1 or 2.2 AA conformance as a hard requirement. No conformance, no deal.
  • Product quality. Accessible code tends to be more semantic, more testable, and more resilient — the same discipline that makes a screen reader work well also improves keyboard support, SEO, and automated testing.

Actionable takeaway: Reframe accessibility internally as a quality and risk requirement, not a compliance afterthought. Get a named owner on your team and a target conformance level (WCAG 2.2 AA is the practical standard) written into your definition of done.

Core Concepts and Architecture

WCAG is organized around four principles, remembered by the acronym POUR: content must be Perceivable, Operable, Understandable, and Robust. Each principle contains success criteria rated at three conformance levels — A, AA, and AAA. Almost everyone targets AA, because A is insufficient for real-world use and AAA is impractical to meet across an entire application.

What WCAG 2.2 adds

WCAG 2.2 is backward-compatible with 2.1, so meeting 2.2 means you've met 2.1 too. The new AA-level criteria most engineering teams need to address include:

  • 2.4.11 Focus Not Obscured (Minimum) — when an element receives keyboard focus, it can't be fully hidden behind sticky headers, cookie banners, or chat widgets.
  • 2.5.7 Dragging Movements — any drag interaction (sliders, kanban cards, reordering) needs a single-pointer alternative like tap-to-select.
  • 2.5.8 Target Size (Minimum) — interactive targets should be at least 24×24 CSS pixels, with exceptions.
  • 3.2.6 Consistent Help — help mechanisms (contact link, chat, FAQ) appear in a consistent location across pages.
  • 3.3.7 Redundant Entry — don't force users to re-enter information they've already provided in the same session.
  • 3.3.8 Accessible Authentication (Minimum) — don't rely on cognitive tests like transcribing codes or solving puzzles; support password managers and paste.

The architectural foundation: semantic HTML

The single highest-leverage decision is using native HTML semantics before reaching for ARIA. A native button element is keyboard-operable, announced correctly by NVDA and VoiceOver, and focusable by default. A styled div with a click handler is none of those things until you manually add role, tabindex, and keyboard handlers — which teams routinely get wrong.

The first rule of ARIA is: don't use ARIA if a native HTML element or attribute already provides the semantics and behavior you need. Bad ARIA is worse than no ARIA.

Actionable takeaway: Audit your component library first. Reusable components (modals, dropdowns, date pickers, tabs, toasts) are where accessibility defects multiply. Fix the design system once, and every consuming screen improves.

Implementation Strategy

You don't need to rebuild. You need a prioritized, defect-driven plan. Here's a sequence that works for existing applications.

1. Establish a baseline with automated tooling

Automated tools catch roughly 30–40% of WCAG issues (estimates vary by source and tool), but they catch the cheap, high-volume ones fast. Run these across your key user flows:

  • axe — the industry-standard engine, available as a browser extension (axe DevTools) and as axe-core for automated test suites. It produces low false positives, which matters for developer trust.
  • Lighthouse — built into Chrome DevTools; its accessibility audit uses axe under the hood and gives a quick score plus a triage list.

Wire axe-core into your CI pipeline via @axe-core/playwright or jest-axe so new violations fail the build.

2. Test with real assistive technology

Automated tools can't tell you whether a screen reader announcement makes sense. Manual testing is non-negotiable for the remaining 60–70% of criteria. Establish a rotation with:

  • NVDA (free, Windows) paired with Firefox or Chrome — the most common screen reader for testing.
  • VoiceOver (built into macOS and iOS) paired with Safari — essential for validating the Apple ecosystem.
  • Keyboard-only testing — unplug the mouse and navigate every flow with Tab, Shift+Tab, Enter, Space, and arrow keys. This alone surfaces focus traps, invisible focus indicators, and unreachable controls.

3. Prioritize by user impact and reach

Not all violations are equal. A blocked checkout affects every user of that flow; a missing alt text on a decorative footer icon does not. Triage using a simple matrix.

Approach Coverage of WCAG Speed Best for
Automated (axe, Lighthouse) ~30–40% Seconds, CI-friendly Contrast, missing labels, ARIA misuse, alt text presence
Keyboard-only testing ~20% additional Minutes per flow Focus order, traps, visible focus, operability
Screen reader (NVDA/VoiceOver) ~20% additional Slower, requires skill Announcements, context, dynamic updates, forms
Manual expert audit Full AA coverage Days per audit Sign-off, VPAT, legal defensibility

4. Fix at the component layer

Address defects in shared components before page-specific ones. Common high-value fixes include: adding visible focus styles (never outline: none without a replacement), labeling form fields with real label elements, managing focus when modals open and close, and using aria-live regions for dynamic status messages so screen reader users hear updates.

This is exactly the kind of work Halkwinds handles inside our Application development and modernization engagements — retrofitting accessibility into an existing design system so improvements cascade instead of being reapplied page by page.

Actionable takeaway: Sequence your work as automated baseline → keyboard pass → screen reader pass → component fixes. Ship accessibility fixes as part of normal sprints, not a separate "accessibility project" that gets deprioritized.

Scaling and Operational Considerations

A one-time remediation degrades within months if nothing prevents regressions. Accessibility has to become part of how you build, not a periodic cleanup.

Shift left with automated gates

Add axe-core assertions to your component and end-to-end tests. When a developer introduces a button without an accessible name, the test suite fails before code review. This turns accessibility from a downstream audit into an immediate feedback loop — the same reason unit tests work.

Bake it into the workflow

  • Definition of done: add "keyboard operable, axe-clean, screen-reader-verified for new interactive components."
  • Design handoff: require designers to specify focus states, contrast-passing color pairs, and target sizes in the design file. Fixing contrast in Figma costs minutes; fixing it after launch costs a release cycle.
  • PR templates: a short accessibility checklist for anything touching UI.

Governance and documentation

Maintain a living conformance record — often a VPAT or an internal accessibility statement — so procurement and legal can answer buyer questions without pinging engineering every time. Schedule a full manual audit at least annually, or before major releases.

Team enablement

Most accessibility defects come from a knowledge gap, not negligence. A half-day workshop on semantic HTML, ARIA basics, and screen reader use pays for itself quickly. Designate at least one accessibility champion per squad who reviews UI PRs with an accessibility lens.

Actionable takeaway: Treat regressions as bugs with owners and SLAs. Put automated checks in C