Accessibility in Web Design: Why Inclusive Design Is Now a Business Requirement
ADA Title III lawsuits targeting digital accessibility reached their highest recorded levels in 2025, according to UsableNet's annual report. The pattern is consistent: plaintiff's law firms identify non-compliant e-commerce sites using automated scanning tools, send demand letters citing violations of the Americans with Disabilities Act, and offer to settle before litigation. Settlement amounts average $50,000 per case; litigation costs significantly more. The companies targeted are not exclusively large enterprises — the majority of demand letters go to mid-market companies and growing startups, precisely because they are less likely to have legal teams who have audited their digital properties for compliance.
In June 2025, the enforcement period began for the European Accessibility Act (EAA), which extends mandatory digital accessibility requirements to private sector companies providing products and services in EU member states. Any company selling software, SaaS products, e-commerce goods, or digital services to European customers is now subject to enforcement — including North American companies serving European markets. The EAA enforcement mechanism operates through national market surveillance authorities, with fines calibrated to company size and infringement severity.
The business case for web accessibility is no longer primarily ethical — it is legal and financial. Fifteen percent of the global population lives with some form of disability, according to the World Health Organisation. In markets where this population has legal recourse for inaccessible digital products, the cost of non-compliance exceeds the cost of native accessible development by a factor that grows with company size and litigation exposure. This guide covers the current legal landscape, the WCAG 2.2 requirements that define compliance, the three implementation approaches and their real costs, a five-step technical implementation plan, two case studies, and the four accessibility mistakes with the highest remediation costs.
Record
ADA Title III digital lawsuits in 2025 — mid-market e-commerce companies are the primary targets, not just enterprises
What WCAG 2.2 Actually Requires: Key Changes from 2.1
WCAG 2.2, published by the W3C Web Accessibility Initiative in October 2023, is the current baseline standard referenced by the ADA (via DOJ guidance), the European Accessibility Act, and most international digital accessibility legislation. The legal demand is typically conformance to WCAG 2.2 AA — the intermediate conformance level, which is the enforceable standard in most jurisdictions. AAA conformance (the highest level) is considered aspirational rather than legally mandated in most markets.
For development teams transitioning from WCAG 2.1 compliance, WCAG 2.2 introduces nine new success criteria and removes one (4.1.1 Parsing, which was deprecated because modern browsers handle the underlying parsing issues automatically). The table below covers the new and significantly updated criteria most relevant to commercial web products.
Criterion
| Level | What It Requires | Most Common Failure Mode | Status vs 2.1 | 2.4.11 Focus Not Obscured (Minimum) |
|---|---|---|---|---|
| AA | When a component receives keyboard focus, it must not be entirely hidden by author-created content (e.g., sticky headers, cookie banners, chat widgets) | Sticky navigation bars covering focused elements during keyboard navigation — the user tabs to a link but cannot see it because the header is overlapping | New in 2.2 | 2.4.12 Focus Not Obscured (Enhanced) |
| AAA | The focused component must be fully visible — no part obscured by author-created content | Partial overlap from sticky elements — more stringent than 2.4.11 | New in 2.2 | 2.4.13 Focus Appearance |
| AA | Keyboard focus indicators must meet minimum size (enclosed area of at least 2 CSS pixels around the component) and contrast (3:1 against adjacent colours) requirements | Default browser focus rings removed with outline: none in CSS without a custom replacement — the most common single accessibility failure in modern web development | New in 2.2 | 2.5.3 Label in Name |
| A | For UI components with visible text labels, the accessible name must contain the visible text — a button labelled "Submit" cannot have an aria-label of "Send form" | Custom icon buttons with aria-labels that don't match or include the visible label text, breaking voice control software | Updated in 2.2 | 2.5.7 Dragging Movements |
| AA | Any functionality that requires a dragging movement must also be achievable with a single pointer action (click/tap) — drag-and-drop cannot be the only interaction method | Kanban boards, sortable lists, and file upload areas that only accept drag-and-drop, excluding users who cannot perform precise dragging movements | New in 2.2 | 2.5.8 Target Size (Minimum) |
| AA | Interactive targets must be at least 24×24 CSS pixels, or have sufficient spacing from adjacent targets so that a 24px circle centred on the target doesn't intersect another target | Icon buttons in toolbars and navigation menus that are 16×16px or smaller, and close buttons on modal dialogs that are too small for users with motor impairments | New in 2.2 | 3.2.6 Consistent Help |
| A | If a help mechanism is provided across multiple pages (contact link, chat widget, phone number), it must appear in the same relative location on each page | Help links and contact CTAs that appear in different positions across pages — inconsistency creates navigation problems for users with cognitive disabilities | New in 2.2 | 3.3.7 Redundant Entry |
| A | Information already entered by the user in the same process must be auto-populated or available for selection — users should not need to re-enter data already provided in a prior step | Multi-step checkout forms that ask for the same information (shipping address, contact details) across multiple steps without populating from prior entries | New in 2.2 | 3.3.8 Accessible Authentication (Minimum) |
| AA | A cognitive function test (CAPTCHA, puzzle, memory test) cannot be required for authentication unless an alternative is available — standard login must work without cognitive tests | CAPTCHA-only login flows with no alternative authentication path — excluding users with cognitive disabilities from accessing accounts | New in 2.2 | 1.4.3 Contrast (Minimum) |
| AA | Text must have a contrast ratio of at least 4.5:1 against its background (3:1 for large text at 18pt+ or 14pt+ bold) | Light grey text on white backgrounds, brand colour combinations that pass visual design review but fail contrast validation — unchanged from 2.1 but the most frequently cited violation | Unchanged from 2.1 | Three Approaches to Accessibility Implementation |
High Risk
- ▸Cost: $15,000–$40,000 for standard web applications
- ▸Timeline: 6–12 weeks under deadline pressure
- ▸Legal protection during work: Partial — a documented remediation plan with a committed timeline reduces litigation exposure but does not eliminate it
Avoid
- ▸Cost: $500–$2,000/year subscription
- ▸WCAG violations fixed: Estimated 20–30% of automated-detectable issues only
- ▸Legal protection: None — several lawsuits filed against overlay users specifically
Recommended
- ▸Added cost on new builds: Zero — integrated into standard development process
- ▸Timeline impact: Zero additional weeks when designed in from the start
- ▸Legal protection: WCAG 2.2 AA conformance documentation with audit trail
Five Implementation Steps for WCAG 2.2 AA Compliance
Run the current brand colour palette through a WCAG contrast checker — WebAIM Contrast Checker or Stark for Figma — and identify every colour pair that fails the 4.5:1 ratio for normal text or 3:1 for large text and UI components. The most common failures: light grey body text (#999999) on white (#ffffff) produces a 2.85:1 ratio, well below the 4.5:1 requirement; many brand primary colours used as text on white backgrounds fail when the primary is a saturated mid-tone. Adjusting failing colours requires a luminance change of 10 to 20 percent in most cases — not a full colour redesign, but a systematic validation that must be completed before development begins. Also check focus indicator contrast: WCAG 2.2's new 2.4.13 criterion requires focus indicators to meet a 3:1 contrast ratio against adjacent colours, and a minimum enclosed area of 2 CSS pixels.
Watch for: Thin-weight text (300 or 400 weight) on patterned or image backgrounds — these combinations are visually appealing in design but consistently fail contrast requirements when the background image varies in lightness. The fix is a semi-transparent overlay on the background or a move to a solid background behind the text.
Tab through the entire primary user flow using only the keyboard — no mouse. Every interactive element (links, buttons, form fields, dropdowns, modals, date pickers) must receive a visible focus state in the correct tab order, and the focus must never become trapped in a non-modal context. The most common critical failures: CSS outline: none or outline: 0 applied globally to remove the default browser focus ring without providing a custom focus style — this makes keyboard navigation invisible for all users who rely on it; modal dialogs that do not trap focus inside the modal when open, allowing keyboard users to tab behind the modal into the underlying page; and sticky navigation elements that obscure the focused element when the user tabs to a link near the top of the page (the new WCAG 2.2 criterion 2.4.11).
For React and Next.js applications, Nexentity's standard: every interactive component has an explicit :focus-visible CSS rule that produces a 2px solid outline in the brand's accessible accent colour, with a 2px offset. This applies on tab focus but not on mouse click, which avoids the aesthetic problem of focus rings appearing on mouse-clicked buttons while preserving keyboard accessibility.
Watch for: Navigation modals that trap keyboard focus — the user opens a menu by pressing Enter on a menu button, and the first Tab from that button exits the menu rather than moving focus to the first menu item. This requires explicit focus management: on menu open, focus is programmatically moved to the first menu item; on menu close, focus returns to the trigger button.
Every image in the product must be categorised as one of three types, each with a different accessibility treatment: informative (communicates content — requires descriptive alt text that conveys the meaning, not the visual description); decorative (adds visual interest but carries no content meaning — requires alt="" so screen readers skip it); and functional (an image used as a link or button — requires alt text that describes the function, not the appearance). The most common failure: decorative images with alt text describing their visual appearance ("abstract blue background"), which screen readers announce on every page, adding noise that degrades the experience for screen reader users. The second most common failure: the reverse — informative images (charts, product photos, infographics) with empty alt text, which removes the content from the accessible version of the page entirely.
Watch for: CMS-managed image libraries where alt text is optional or skipped at upload. The fix is a required alt text field in the CMS upload workflow, with a written policy distinguishing decorative and informative image categories.
Forms are the highest-risk accessible content type because they require both input and output accessibility: users must be able to navigate to and complete each field (input), and they must receive clear, associated error messages when validation fails (output). WCAG requires that error messages be programmatically associated with their field — not just visually adjacent, but connected via aria-describedby or aria-errormessage so screen readers announce the error when the field receives focus. A red border on a failing field with no associated error text fails this requirement, regardless of how clear the visual indication appears on screen. Error messages must identify the specific field and the specific required correction: "Email address is required" is compliant; "Please check your input" is not.
WCAG 2.2's new 3.3.7 Redundant Entry criterion requires that information already entered in a prior step of a multi-step process be auto-populated or available for selection — users should not re-enter their email address on step 3 of a checkout if they entered it on step 1. This requires state management at the form level, storing entered values and pre-filling subsequent steps.
Watch for: CAPTCHA-only authentication flows — WCAG 2.2 AA now requires that authentication not depend solely on a cognitive function test. An audio alternative to image CAPTCHA satisfies the requirement; a "I'm not a robot" checkbox or passkey/magic-link authentication satisfies it more cleanly.
WCAG 2.2's new 2.5.8 Target Size criterion requires interactive elements to meet a minimum 24×24 CSS pixel touch target. The most common failures: icon-only buttons in toolbars (share, edit, delete icons typically rendered at 16×16px), close buttons on modal dialogs, social share icons in blog footers, and navigation items in compressed mobile menus. The fix for elements that must remain visually small is to increase the clickable/tappable area without increasing the visual size — using padding to extend the touch target beyond the visible icon boundary. A 16×16px icon with 4px padding on all sides produces a 24×24px touch target while maintaining the 16×16px visual appearance.
Mobile accessibility testing must be conducted on a physical device with VoiceOver (iOS) or TalkBack (Android) enabled — emulators do not accurately replicate assistive technology behaviour on touch screens. Common mobile-specific failures not identified in desktop testing: swipe gesture conflicts between the app's custom gestures and screen reader navigation gestures; touch target sizes that pass on desktop but fail at the viewport sizes of the most common mobile devices in the target market.
Two Case Studies: Quantified Outcomes from Accessible Development
US E-Commerce Platform — Checkout Flow Rebuild
Situation: A US retail company generating $5 million annually received an ADA demand letter citing screen reader failures in the checkout flow. An internal audit confirmed that the product detail page and checkout sequence had no ARIA labels on dynamic price update elements, no programmatic error association on form validation failures, and keyboard focus trapping in a promotional modal that prevented keyboard users from reaching the Add to Cart button. Blind users experienced 100 percent cart abandonment on these flows.
Approach: Nexentity rebuilt the checkout flow using accessible React components. Dynamic pricing elements received live region ARIA attributes (aria-live="polite") to announce price changes to screen readers without interrupting ongoing navigation. Form errors were rewritten with programmatic association and plain-language descriptions. The promotional modal was rebuilt with a proper focus trap and an accessible close button meeting the 2.5.8 touch target requirement.
Results (6 weeks from audit to deployment): Assistive technology users completed checkout at a 45 percent higher rate. The codebase cleanup eliminated an estimated 200 hours of future remediation work as the component patterns established during the engagement became the standard for subsequent development. Projected annual revenue increase from the newly accessible customer segment: $300,000. Legal exposure: resolved through documented WCAG 2.2 AA conformance, avoiding litigation.
UK SaaS Dashboard — European Accessibility Act Compliance
Situation: A UK B2B SaaS company was in active contract negotiations with three European enterprise buyers who required WCAG 2.2 AA certification as a procurement condition — a requirement that became standard among European public sector and large enterprise buyers following EAA enforcement. An internal accessibility audit found low-contrast data visualisation colour pairs, keyboard navigation that skipped critical reporting filter controls, and no focus indicators on custom dropdown components.
Approach: Nexentity redesigned the full UI component library to WCAG 2.2 AA standards. Data visualisation palettes were rebuilt using colour combinations that meet the 3:1 non-text contrast requirement and remain distinguishable under colour blindness simulation. Keyboard navigation was implemented across all filter and reporting controls. Custom dropdowns were rebuilt as accessible combobox components with proper ARIA roles, states, and keyboard interaction patterns per the ARIA Authoring Practices Guide.
Results (8 weeks): 100 percent pass rate on the third-party WCAG 2.2 AA audit required by the enterprise buyers. Accessibility-related support tickets decreased 20 percent as improved interaction clarity reduced confusion for all users. Three European enterprise contracts signed, totalling £850,000 in annual contract value — contracts that were blocked pending the compliance certification.
Four Accessibility Mistakes with the Highest Remediation Costs
Mistake 1: Deploying an Overlay Widget as the Accessibility Solution
export default function Layout({ children }) {
const mainRef = useRef(null);
const router = useRouter();
useEffect(() => {
// Move focus to main on every route change
if (mainRef.current) mainRef.current.focus();
}, [router.asPath]);
return <main ref={mainRef} tabIndex={-1}>{children}</main>;
}
Mistake 4: Desktop-Only Accessibility Testing
Ready to build something great?
Speak with our enterprise engineering team today.
Get Expert Insights
Join our growing community receiving our technical architecture updates.