<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dongwook</title>
    <description>The latest articles on DEV Community by Dongwook (@accesscheck).</description>
    <link>https://dev.to/accesscheck</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3886726%2F4ae97cef-7398-410f-b6a5-cf645388d01e.png</url>
      <title>DEV Community: Dongwook</title>
      <link>https://dev.to/accesscheck</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/accesscheck"/>
    <language>en</language>
    <item>
      <title>WCAG 2.2: The 9 New Success Criteria Explained (With Real Examples)</title>
      <dc:creator>Dongwook</dc:creator>
      <pubDate>Sun, 19 Apr 2026 05:56:11 +0000</pubDate>
      <link>https://dev.to/accesscheck/wcag-22-the-9-new-success-criteria-explained-with-real-examples-549f</link>
      <guid>https://dev.to/accesscheck/wcag-22-the-9-new-success-criteria-explained-with-real-examples-549f</guid>
      <description>&lt;p&gt;If you build for the web, WCAG 2.2 is no longer optional. It became a W3C Recommendation on October 5, 2023, and it’s already referenced by the EU’s European Accessibility Act (enforced since June 2025) and increasingly cited in ADA lawsuits in the U.S.&lt;br&gt;
The good news: WCAG 2.2 is fully backward-compatible with 2.1. You don’t have to re-test everything — just layer in the 9 new success criteria (SC) on top of what you already have.&lt;br&gt;
The less-good news: 6 of those 9 are Level AA, which means they’re the minimum legal bar in most jurisdictions. You need to know them.&lt;br&gt;
Here’s a practical breakdown of all 9, grouped by what they actually try to solve.&lt;/p&gt;




&lt;p&gt;Group 1: Keyboard focus should never be hidden&lt;br&gt;
Two closely related criteria about sticky headers and footers eating your keyboard focus.&lt;br&gt;
2.4.11 Focus Not Obscured (Minimum) — Level AA&lt;br&gt;
What it requires: When an element receives keyboard focus, at least part of it must remain visible. Sticky headers, cookie banners, or floating chat widgets cannot fully cover the focused element.&lt;br&gt;
Why it matters: Keyboard users navigate by Tab. If a sticky header covers the focused input, they literally cannot see where they are on the page.&lt;br&gt;
Common failure: A sticky position: fixed header that’s 80px tall. When the user tabs down to an input, the input scrolls into view — but behind the header.&lt;br&gt;
Quick fix: Add scroll-padding-top: 80px; to your html element so the browser scrolls focused elements into a safe zone below fixed headers.&lt;br&gt;
html {&lt;br&gt;
  scroll-padding-top: 80px;&lt;br&gt;
}&lt;br&gt;
2.4.12 Focus Not Obscured (Enhanced) — Level AAA&lt;br&gt;
Same idea, stricter: no part of the focused element can be hidden. Level AAA, so not a legal baseline for most orgs, but worth targeting for government and healthcare.&lt;/p&gt;




&lt;p&gt;Group 2: Focus indicators should be visible and strong&lt;br&gt;
2.4.13 Focus Appearance — Level AAA&lt;br&gt;
What it requires: Focus indicators must be thick enough and have enough contrast to actually be seen. Specifically: a perimeter at least as thick as a 2-CSS-pixel-wide line around the focused element, with a 3:1 contrast ratio against the unfocused state.&lt;br&gt;
Why it matters: A faint 1px dotted outline on a light grey background is technically a focus indicator. It’s also invisible to anyone over 40.&lt;br&gt;
Practical baseline: A solid 2px outline with a high-contrast color. Don’t disable browser defaults unless you’re replacing them with something better.&lt;br&gt;
:focus-visible {&lt;br&gt;
  outline: 2px solid #0066ff;&lt;br&gt;
  outline-offset: 2px;&lt;br&gt;
}&lt;/p&gt;




&lt;p&gt;Group 3: Input should work without fine motor control&lt;br&gt;
2.5.7 Dragging Movements — Level AA&lt;br&gt;
What it requires: Any functionality that works via dragging must also work via a single-pointer alternative (tap, click). Exception: when dragging is genuinely essential (like drawing on a canvas).&lt;br&gt;
Why it matters: Users with tremors, limited grip strength, or who use switch devices cannot drag reliably.&lt;br&gt;
Common failure: A Kanban board where the only way to move a card between columns is drag-and-drop.&lt;br&gt;
Fix: Add a menu, keyboard shortcuts, or a “move to” button next to each draggable item.&lt;br&gt;
2.5.8 Target Size (Minimum) — Level AA&lt;br&gt;
What it requires: Interactive targets must be at least 24x24 CSS pixels, unless they’re inline in text, part of a sentence, or the user agent handles sizing.&lt;br&gt;
Why it matters: Small buttons are a barrier for anyone with motor issues and extremely frustrating on mobile.&lt;br&gt;
Common failure: A close button that’s 16x16px in the corner of a modal.&lt;br&gt;
Fix: Even if the icon is small, pad the clickable area to at least 24x24.&lt;br&gt;
.close-button {&lt;br&gt;
  width: 24px;&lt;br&gt;
  height: 24px;&lt;br&gt;
  padding: 4px;&lt;br&gt;
}&lt;/p&gt;




&lt;p&gt;Group 4: Help users remember less&lt;br&gt;
3.2.6 Consistent Help — Level A&lt;br&gt;
What it requires: If help mechanisms (contact info, help links, chat widgets, FAQs) appear on multiple pages, they must appear in the same relative order across those pages.&lt;br&gt;
Why it matters: Users with cognitive disabilities build a mental map of where things are. Moving the chat icon from bottom-right to top-left between pages forces them to re-learn the layout each time.&lt;br&gt;
Fix: Pick a spot for help and stick to it across the entire site.&lt;br&gt;
3.3.7 Redundant Entry — Level A&lt;br&gt;
What it requires: If a user has already entered information in the same session, don’t ask them to enter it again. Auto-populate, offer to copy from a previous step, or let them select from earlier entries. Exceptions: re-entry for security (password confirmation) or when the original info is no longer valid.&lt;br&gt;
Why it matters: Multi-step checkout flows that ask for the shipping address, then ask for the billing address again with no “same as shipping” option. Painful for everyone, impossible for some.&lt;br&gt;
Fix: A simple “Same as shipping” checkbox, or prefill billing from shipping by default.&lt;br&gt;
3.3.8 Accessible Authentication (Minimum) — Level AA&lt;br&gt;
What it requires: Authentication cannot rely on a cognitive function test (like remembering a password, transcribing a code, or solving a puzzle) without an alternative. Allowed alternatives: password managers (don’t block paste!), biometrics, magic links, passkeys, or object recognition (but not text-based puzzles).&lt;br&gt;
Why it matters: Remembering complex passwords is a cognitive test. So is typing a 6-digit code from an SMS while it’s still visible. People with dyslexia, dyscalculia, or memory issues are locked out.&lt;br&gt;
Common failure: Login forms that disable paste on the password field.&lt;br&gt;
Fix: Enable paste. Support password managers. Offer magic link or passkey as an alternative.&lt;br&gt;
3.3.9 Accessible Authentication (Enhanced) — Level AAA&lt;br&gt;
Same as above, but stricter: even object recognition and personal content tests are disallowed as the primary method. Level AAA, relevant for high-security contexts where you still want to be accessible.&lt;/p&gt;




&lt;p&gt;Quick reference table&lt;br&gt;
SC  Name    Level&lt;br&gt;
2.4.11  Focus Not Obscured (Minimum)    AA&lt;br&gt;
2.4.12  Focus Not Obscured (Enhanced)   AAA&lt;br&gt;
2.4.13  Focus Appearance    AAA&lt;br&gt;
2.5.7   Dragging Movements  AA&lt;br&gt;
2.5.8   Target Size (Minimum)   AA&lt;br&gt;
3.2.6   Consistent Help A&lt;br&gt;
3.3.7   Redundant Entry A&lt;br&gt;
3.3.8   Accessible Authentication (Minimum) AA&lt;br&gt;
3.3.9   Accessible Authentication (Enhanced)    AAA&lt;br&gt;
To hit WCAG 2.2 Level AA (the practical legal baseline), you need all the A and AA criteria — 6 of these 9.&lt;/p&gt;




&lt;p&gt;What automated tools can and can’t catch&lt;br&gt;
Automated scanners can reliably flag target size issues, focus indicators missing outright, and some dragging/keyboard problems. They struggle with:&lt;br&gt;
• Whether a specific drag-drop interaction has a keyboard alternative&lt;br&gt;
• Whether help placement is “consistent” across pages&lt;br&gt;
• Whether a user is actually being asked for redundant information&lt;br&gt;
Plan for automated scans to catch roughly half. The rest needs manual testing — real keyboard navigation, real screen reader walkthrough, real users with disabilities where possible.&lt;/p&gt;




&lt;p&gt;One more thing&lt;br&gt;
I’ve been building AccessCheck AI — an AI-powered scanner that goes beyond flagging violations and actually generates ready-to-paste Before/After code fixes for the issues it finds. Free plan includes 3 scans a month, no credit card. Built it because every other scanner I tried gave me a 300-row CSV and left me to figure out how to fix things.&lt;br&gt;
Would love feedback, especially if you find edge cases on your own sites. Drop a reply here or DM me.&lt;/p&gt;




&lt;p&gt;Sources&lt;br&gt;
• W3C WCAG 2.2 Recommendation&lt;br&gt;
• What’s New in WCAG 2.2 (W3C WAI)&lt;br&gt;
• U.S. Access Board announcement&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>webdev</category>
      <category>wcag</category>
    </item>
  </channel>
</rss>
