
Accessibility automated website scans and how much can they catch
Automated accessibility testing tools have gained traction due to their ability to quickly analyze web pages for compliance with accessibility standards, such as the Web Content Accessibility Guidelines (WCAG). These tools can scan a website’s code and identify potential issues, making them an attractive option for developers and organizations looking to improve accessibility.
Introduction
Automated website scans offer a fast and efficient way to assess web accessibility, making them ideal for integration into CI/CD pipelines. These tools provide consistent results by validating against a predefined set of rules, ensuring that no accessibility cases are overlooked.
However, they may generate false positives due to the complexity of web code and content, and they struggle with nuanced judgments, such as evaluating the relevance of alt text descriptions. In practice, automated tests cannot cover every WCAG requirement because of current technological limitations, leaving some failure patterns that commonly appear in lawsuits undetected.
While automated testing is a valuable component of a comprehensive accessibility strategy, it should be complemented by manual testing and real-user testing, including input from individuals with disabilities, to ensure a truly inclusive digital experience across devices and assistive technologies.
What percentage of accessibility issues can automated tools catch?
WCAG 2.2 Level AAA defines 87 Success Criteria (SC), but only a subset can be translated into deterministic, machine-testable rules suitable for automation.
Research that maps WCAG 2.2 SC to automated rules puts the theoretical ceiling at 20%-40% of all possible SC failures. That figure is not fixed and it shrinks or grows depending on how many of the 87 Success Criteria (SC) are actually present on the page under test.
For instance, a static marketing site with no multimedia or complex forms might expose only 30 relevant SCs, while a transactional SaaS dashboard could surface 60 or more.
Because automation can only validate criteria that lend themselves to binary pass/fail logic, such as color contrast, missing alt attributes, or duplicate IDs, the real-world catch rate
is always a fraction of the applicable Success Criteria, not a universal percentage. In other words, the practical catch rate
depends on the scope of features present in the tested instance, not the full WCAG catalog.
What automated tools can catch
Think of an automated accessibility checker as a spell-checker for code: it scans for clear-cut mistakes it can quantify with confidence.
- Missing alternative text on images.
- Text that doesn’t meet the minimum color contrast ratio but only when foreground and background colors can be reliably identified. If the text sits over a background image, gradient, semi-transparent overlay, or sticky/fixed layer, the tool may report
contrast can’t be determined
. - Form fields lacking associated labels.
- Improper heading structure (e.g., an
h3directly following anh1). - Duplicate element IDs, or interactive elements like buttons and links that are empty or unlabeled.
If an issue can be expressed as a binary yes/no rule, the tool can flag it instantly and across every page.
The major advantage: the automated audit never gets tired. It tests every rule, on every element, every time, so nothing that can be detected is ever skipped. This makes results predictable, repeatable, and easy to integrate into a build pipeline.
Why manual testing is non-negotiable
Automated scans end where human experience begins. Code can flag a missing <label>, but it can’t determine whether the visible text beside a control is intelligible, or whether a keyboard trap appears only when the viewport is zoomed to 200%. The following three mini-case studies illustrate the gap in action.
Perfect
contrast that fails in sunlight.A fintech dashboard scored 100% on an automated color-contrast audit. In user testing, two low-vision participants could not read error messages on a glossy tablet outdoors because the automated test only sampled the CSS colour values, not the semi-transparent red overlay that JavaScript injected on submit. A five-minute manual check caught the issue and the fix was one line of Sass.
Keyboard order that logic can’t see
A travel-booking flow passed the automated test for the
tab order
rule. However, manual keyboard navigation revealed a calendar widget that sent focus to a hiddenclose
button in the DOM, stranding keyboard users three modal layers away from the main content. No rule in the engine recognized that the widget was visually hidden but still focusable.Alt text that is present and meaningless
An e-commerce gallery included
altattributes on every product image:img-1
,img-2
,img-3
, etc. The automated report passed, but screen reader users heard only meaningless filenames. A quick manual review rewrote the strings to describe product type, color, and key feature – cutting customer support calls significantly in the next release.
These patterns-dynamic state, intent, real-world context-recur in every audit. Until tools can ask why is this here?
and does it make sense to a person?
, expert and disabled person testing remains the only safety net that prevents compliance metrics from becoming a vanity score.
WCAG 2.2 quick-reference: which Success Criteria can be scripted, which can’t, and why
Below is a table outlining all WCAG Success Criteria, along with corresponding test cases, an indication of whether they can be automated (YES/NO), and a justification column explaining why certain criteria cannot be automated or the challenges involved.
| Success Criteria | Test-case (one-line) | Can be automated? | Justification | Primary Technique(s) |
|---|---|---|---|---|
| 1.1.1 Non-text Content – Level A | ||||
| 1.1.1 Controls, Input | <input type="image">, <button>, icon-only controls have accessible name
that describes purpose (matches visible label) | Yes |
| H37, ARIA6, ARIA10 |
| 1.1.1 Time-Based Media | Still-frame poster or adjacent text gives descriptive ID of media (e.g. Video: CEO welcome) | No |
| G94 (guidance only) |
| 1.1.1 Test / Exercise | Alt text identifies the test only (Color-vision screening plate 3) without revealing the answer | No |
| G94 (guidance only) |
| 1.1.1 Sensory | Alt text identifies the sensory asset (Abstract ambient background video) | No |
| G94 (guidance only) |
| 1.1.1 CAPTCHA | Alt text states purpose (CAPTCHA – visual verification) and a non-visual CAPTCHA alternative (audio, SMS, email) is present | No |
| G94 + human-verified alternative |
| 1.1.1 Decoration, Formatting, Invisible | Decorative/icon-span images use empty alt="", CSS background-image, or
aria-hidden="true" | Yes |
| H37 (empty alt), C9 (CSS bg), ARIA5 |
| 1.2.1 Audio-only and Video-only (Prerecorded) – Level A | ||||
| 1.2.1 Prerecorded Audio-only | Equivalent text transcript or other alternative for prerecorded audio-only content is available | No |
| G158 |
| 1.2.1 Prerecorded Video-only | Equivalent text transcript or audio track describing visuals for prerecorded video-only content is available | No |
| G159 |
| 1.2.2 Captions (Prerecorded) – Level A | ||||
| 1.2.2 Captions (Prerecorded) | <track kind="captions"> (or equivalent) exists for every prerecorded
<video>/<audio> | Yes |
| H95 |
| 1.2.2 Captions (Prerecorded) | Captions text is accurate, complete and synchronized | No |
| G93 |
| 1.2.2 Captions (Prerecorded) – exception | Media labelled as media alternative for text (e.g. Audio version of article) and no captions provided | Yes |
| G159 |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) – Level A | ||||
| 1.2.3 Audio Description | <track kind="descriptions"> or separate description audio is provided for prerecorded video
| Yes |
| H96 |
| 1.2.3 Audio Description | Description text accurately conveys essential visual information | No |
| G78 |
| 1.2.3 Media Alternative | Full text transcript provided that includes all visual and auditory information | No |
| G69 |
| 1.2.4 Captions (Live) – Level AA | ||||
| 1.2.4 Captions (Live) | Live caption track (WebVTT stream, embedded caption window, or third-party player captions) is active for every live audio/video stream | Yes |
| G9 |
| 1.2.4 Captions (Live) | Live captions are accurate and synchronized with speech | No |
| G9 (guidance only) |
| 1.2.5 Audio Description (Prerecorded) – Level AA | ||||
| 1.2.5 Audio Description | <track kind="descriptions"> or secondary audio file provides audio description for
prerecorded video | Yes |
| H96 |
| 1.2.5 Audio Description | Description track is synchronized with video and accurately conveys essential visual information | No |
| G78 |
| 1.2.6 Sign Language (Prerecorded) – Level AAA | ||||
| 1.2.6 Sign Language | Sign-language interpretation track or inset video is provided for prerecorded media | Yes |
| H97 |
| 1.2.6 Sign Language | Sign-language interpretation is accurate, complete and synchronized with spoken content | No |
| H97 (guidance only) |
| 1.2.7 Extended Audio Description (Prerecorded) – Level AAA | ||||
| 1.2.7 Extended Audio Description | Extended description track or segmented video with pauses is provided for prerecorded media | Yes |
| H96 + G8 |
| 1.2.7 Extended Audio Description | Extended descriptions fit into added pauses and convey all essential visual information | No |
| G8 (guidance only) |
| 1.2.8 Media Alternative (Prerecorded) – Level AAA | ||||
| 1.2.8 Media Alternative | Full text document (transcript) that includes all visual and auditory information is provided and linked adjacent to media | Yes |
| G69 |
| 1.2.8 Media Alternative | Transcript contains complete dialogue, speaker IDs, scene descriptions, and on-screen text | No |
| G69 (guidance only) |
| 1.2.9 Audio-only (Live) – Level AAA | ||||
| 1.2.9 Audio-only (Live) | Real-time text alternative (live transcript/captions) is provided for live audio-only stream | Yes |
| G150 |
| 1.2.9 Audio-only (Live) | Live text alternative is accurate and synchronized with speech | No |
| G150 (guidance only) |
| 1.3.1 Info and Relationships – Level A | ||||
| 1.3.1 Info and Relationships | Heading elements <h1>-<h6> are used and form a logical outline | Yes |
| H42 |
| 1.3.1 Info and Relationships | Lists use correct semantic markup <ul>, <ol>, <dl> | Yes |
| H48 |
| 1.3.1 Info and Relationships | Table cells use <th> with scope (or id/headers) for
column/row headers | Yes |
| H51 |
| 1.3.1 Info and Relationships | Form fields use explicit <label> or aria-labelledby | Yes |
| H44, ARIA9 |
| 1.3.1 Info and Relationships | ARIA roles, states and properties correctly mirror native semantics when native HTML is insufficient | Yes |
| ARIA5, ARIA17 |
| 1.3.2 Meaningful Sequence – Level A | ||||
| 1.3.2 Meaningful Sequence | DOM order matches visual reading order (no CSS flex/grid order or positive tabindex
that breaks sequence) | Yes |
| C27 |
| 1.3.2 Meaningful Sequence | Content read by screen-reader is coherent when CSS is disabled | No |
| G57 |
| 1.3.3 Sensory Characteristics – Level A | ||||
| 1.3.3 Sensory Characteristics | Instructions do not rely solely on sensory characteristics (shape, color, sound, location, visual orientation) | No |
| G96 |
| 1.3.3 Sensory Characteristics | Where color is used, a second visual cue (text, shape, icon) is present | Yes |
| G182 |
| 1.3.4 Orientation – Level AA | ||||
| 1.3.4 Orientation | Content does not lock orientation; works in both portrait and landscape | Yes |
| C31 |
| 1.3.4 Orientation | Layout reflows acceptably when device is rotated | No |
| C31 (guidance only) |
| 1.3.5 Identify Input Purpose – Level AA | ||||
| 1.3.5 Identify Input Purpose | All fields that collect user data use correct autocomplete token | Yes |
| H98 |
| 1.3.5 Identify Input Purpose | Autocomplete token is appropriate to the visible label | No |
| H98 (guidance only) |
| 1.3.6 Identify Purpose – Level AAA | ||||
| 1.3.6 Identify Purpose | Common UI components use ARIA roles, icons use role="img" with accessible name, and landmarks use
standard ARIA landmark roles | Yes |
| ARIA11 |
| 1.3.6 Identify Purpose | Purpose of common icons and controls is programmatically determinable via ARIA or schema.org | Yes |
| ARIA13 |
| 1.3.6 Identify Purpose | Same-purpose icons/controls use consistent accessible names across pages | No |
| ARIA13 (guidance only) |
| 1.4.1 Use of Color – Level A | ||||
| 1.4.1 Use of Color | Color is not the only visual means of conveying information | Yes |
| G182 |
| 1.4.1 Use of Color | Links are distinguishable by more than color (underline, icon, or focus outline) | Yes |
| G183 |
| 1.4.1 Use of Color | Error states use both colour and text/icon (e.g., red border + error message) | Yes |
| G182 (guidance only) |
| 1.4.2 Audio Control – Level A | ||||
| 1.4.2 Audio Control | Any audio that plays automatically for more than 3 seconds has a pause/stop control and volume control independent of system level | Yes |
| G170 |
| 1.4.2 Audio Control | Automatic audio duration ≤ 3 s OR user preference remembered across pages | Yes |
| G60 |
| 1.4.3 Contrast (Minimum) – Level AA | ||||
| 1.4.3 Contrast (Minimum) | Text and images of text have a contrast ratio of at least 4.5:1 (3:1 for large text) | Yes |
| G18 |
| 1.4.3 Contrast (Minimum) | Incidental text (inactive, decorative, invisible, logotypes) is excluded from requirement | No |
| G18 (guidance only) |
| 1.4.4 Resize Text – Level AA | ||||
| 1.4.4 Resize Text | Content remains usable when page is zoomed to 200 % without horizontal scrolling and without loss of information or functionality | Yes |
| G179 |
| 1.4.4 Resize Text | Text can be resized up to 200 % via browser zoom without assistive technology | Yes |
| C28 |
| 1.4.5 Images of Text – Level AA | ||||
| 1.4.5 Images of Text | Text is implemented via real text, not raster images, unless essential (logo, screenshot, etc.) | Yes |
| G174 |
| 1.4.5 Images of Text | Essential images of text (logos, screenshots, diagrams) remain essential and unchanged | No |
| G174 (guidance only) |
| 1.4.6 Contrast (Enhanced) – Level AAA | ||||
| 1.4.6 Contrast (Enhanced) | Text and images of text have a contrast ratio of at least 7:1 (4.5:1 for large text) | Yes |
| G17 |
| 1.4.6 Contrast (Enhanced) | Incidental text (inactive, decorative, invisible, logotypes) is excluded | No |
| G17 (guidance only) |
| 1.4.7 Low or No Background Audio – Level AAA | ||||
| 1.4.7 Low or No Background Audio | Speech audio is ≥ 20 dB louder than background sound (or background can be disabled) | No |
| G56 |
| 1.4.8 Visual Presentation – Level AAA | ||||
| 1.4.8 Visual Presentation | Width ≤ 80 characters (or 40 CJK), text-align left/right, line-height ≥ 1.5, no justified text, user can select foreground/background colours | No |
| C20 |
| 1.4.9 Images of Text (No Exception) – Level AAA | ||||
| 1.4.9 Images of Text (No Exception) | Zero images of text used (pure decoration and logotypes only) | Yes |
| G205 |
| 1.4.10 Reflow – Level AA | ||||
| 1.4.10 Reflow | Content reflows to 320 CSS px width without horizontal scrollbar and without loss of content/function | Yes |
| C33 |
| 1.4.11 Non-text Contrast – Level AA | ||||
| 1.4.11 Non-text Contrast | UI components and graphical objects have ≥ 3:1 contrast against adjacent colours | Yes |
| G207 |
| 1.4.12 Text Spacing – Level AA | ||||
| 1.4.12 Text Spacing | With user styles: line-height 1.5, paragraph-spacing 2× font-size, letter-spacing 0.12×, word-spacing 0.16× — no loss of content/function | Yes |
| C36 |
| 1.4.13 Content on Hover or Focus – Level AA | ||||
| 1.4.13 Content on Hover or Focus | Additional content shown on hover/focus is dismissible, hoverable, and persistent | Yes |
| C42 |
| 2.1.1 Keyboard – Level A | ||||
| 2.1.1 Keyboard | All functionality available through keyboard interface (no mouse-only handlers) | Yes |
| G90 |
| 2.1.2 No Keyboard Trap – Level A | ||||
| 2.1.2 No Keyboard Trap | Focus can be moved away from any element using standard keys (Tab, Shift+Tab, arrow keys, ESC) | Yes |
| G21 |
| 2.1.3 Keyboard (No Exception) – Level AAA | ||||
| 2.1.3 Keyboard (No Exception) | All content functions via keyboard without exception (no time limit, no path-dependent gestures) | Yes |
| G91 |
| 2.1.4 Character-Key Shortcuts – Level A | ||||
| 2.1.4 Character-Key Shortcuts | If a single printable-key shortcut exists, user can remap it, disable it, or it is active only on focus | Yes |
| C41 |
| 2.2.1 Timing Adjustable – Level A | ||||
| 2.2.1 Timing Adjustable | User can turn off, adjust, or extend time limits (≥ 10× default) before expiry | Yes |
| G180 |
| 2.2.2 Pause, Stop, Hide – Level A | ||||
| 2.2.2 Pause, Stop, Hide | Moving/blinking/scrolling/auto-updating content can be paused, stopped, or hidden by user | Yes |
| C42 |
| 2.2.3 No Timing – Level AAA | ||||
| 2.2.3 No Timing | No essential time limits; any remaining limits can be turned off by user | Yes |
| G5 |
| 2.2.4 Interruptions – Level AAA | ||||
| 2.2.4 Interruptions | Interruptions (alerts, pop-ups) can be postponed or suppressed by user | Yes |
| G75 |
| 2.2.5 Re-authenticating – Level AAA | ||||
| 2.2.5 Re-authenticating | User can extend/continue session without data loss; re-auth preserves user data | Yes |
| G105 |
| 2.2.6 Timeouts – Level AAA | ||||
| 2.2.6 Timeouts | Users are warned about any inactivity timeout that could cause data loss, with option to extend | Yes |
| G181 |
| 2.3.1 Three Flashes or Below Threshold – Level A | ||||
| 2.3.1 Three Flashes or Below Threshold | No element flashes >3 times in any 1-second period and flash is below red-scale thresholds | Yes |
| G176 |
| 2.3.2 Three Flashes – Level AAA | ||||
| 2.3.2 Three Flashes | No element flashes at any frequency (zero flashes allowed) | Yes |
| G19 |
| 2.3.3 Animation from Interactions – Level AAA | ||||
| 2.3.3 Animation from Interactions | Motion triggered by interaction can be disabled unless essential | Yes |
| C39 |
| 2.4.1 Bypass Blocks – Level A | ||||
| 2.4.1 Bypass Blocks | Skip to main contentlink or landmark is the first focusable element | Yes |
| G1 |
| 2.4.2 Page Titled – Level A | ||||
| 2.4.2 Page Titled | <title> element exists and describes page purpose | Yes |
| H25 |
| 2.4.3 Focus Order – Level A | ||||
| 2.4.3 Focus Order | Tab order follows logical reading sequence (no positive tabindex) | Yes |
| C27 |
| 2.4.4 Link Purpose (In Context) – Level A | ||||
| 2.4.4 Link Purpose (In Context) | Link text or context describes purpose (no generic click here, read morewithout context) | No |
| G91 |
| 2.4.5 Multiple Ways – Level AA | ||||
| 2.4.5 Multiple Ways | At least two of: site search, nav menu, sitemap, breadcrumb, table of contents, link list | Yes |
| G125 |
| 2.4.6 Headings and Labels – Level AA | ||||
| 2.4.6 Headings and Labels | Headings and labels describe topic or purpose (not empty, not generic) | No |
| G130 |
| 2.4.7 Focus Visible – Level AA | ||||
| 2.4.7 Focus Visible | Keyboard focus indicator is visible (minimum 2 px outline or equivalent area) | Yes |
| C40 |
| 2.4.8 Location – Level AAA | ||||
| 2.4.8 Location | User can determine current location within site (breadcrumb, nav highlight, sitemap) | Yes |
| G65 |
| 2.4.9 Link Purpose (Link Only) – Level AAA | ||||
| 2.4.9 Link Purpose (Link Only) | Link text alone describes purpose (no reliance on context) | No |
| G91 |
| 2.4.10 Section Headings – Level AAA | ||||
| 2.4.10 Section Headings | Long content organised with headings that identify logical sections | Yes |
| G141 |
| 2.4.11 Focus Appearance – Level AAA | ||||
| 2.4.11 Focus Appearance | Focus indicator ≥ 2 CSS px thick, surrounds element, contrast ≥ 3:1 against all adjacent colours, and has minimum area | Yes |
| C40 |
| 2.4.12 Focus Not Obscured – Level AA | ||||
| 2.4.12 Focus Not Obscured | Component receiving focus is at least partially visible (not fully hidden by sticky/floating content) | Yes |
| C42 |
| 2.4.13 Focus Not Obscured (Enhanced) – Level AAA | ||||
| 2.4.13 Focus Not Obscured (Enhanced) | Component receiving focus is entirely visible (no part hidden by other content) | Yes |
| C42 |
| 2.5.1 Pointer Gestures – Level A | ||||
| 2.5.1 Pointer Gestures | Complex gestures (multi-point, path-based) have single-pointer alternative | Yes |
| G212 |
| 2.5.2 Pointer Cancellation – Level A | ||||
| 2.5.2 Pointer Cancellation | Down-event alone does not trigger action; up-event completes action and can be aborted | Yes |
| G210 |
| 2.5.3 Label in Name – Level A | ||||
| 2.5.3 Label in Name | Visible label text matches accessible name (case-insensitive substring) | Yes |
| H96 |
| 2.5.4 Motion Actuation – Level A | ||||
| 2.5.4 Motion Actuation | Functions triggered by device motion have UI control and respect prefers-reduced-motion | Yes |
| G213 |
| 2.5.5 Target Size – Level AAA | ||||
| 2.5.5 Target Size | Pointer targets ≥ 44 × 44 CSS px (or equivalent spacing, or inline, or user-agent size) | Yes |
| General |
| 2.5.6 Concurrent Input Mechanisms – Level AAA | ||||
| 2.5.6 Concurrent Input Mechanisms | Content does not restrict input modality (touch + mouse + keyboard + speech) simultaneously | Yes |
| G209 |
| 2.5.7 Dragging Movements – Level AA | ||||
| 2.5.7 Dragging Movements | Functionality that uses dragging (e.g., slider, sortable list) provides single-pointer alternative | Yes |
| G219 |
| 2.5.8 Target Size (Minimum) – Level AA | ||||
| 2.5.8 Target Size (Minimum) | Pointer targets ≥ 24 × 24 CSS px (or spacing offset, or inline, or user-agent size, or essential exception) | Yes |
| C42 |
| 3.1.1 Language of Page – Level A | ||||
| 3.1.1 Language of Page | <html lang> attribute present and valid | Yes |
| H57 |
| 3.1.2 Language of Parts – Level AA | ||||
| 3.1.2 Language of Parts | Foreign-language passages use lang attribute | Yes |
| H58 |
| 3.1.3 Unusual Words – Level AAA | ||||
| 3.1.3 Unusual Words | Idioms, jargon, abbreviations defined inline or via glossary link | No |
| G101 |
| 3.1.4 Abbreviations – Level AAA | ||||
| 3.1.4 Abbreviations | First occurrence of abbreviations/expansions is provided or linked to glossary | No |
| G102 |
| 3.1.5 Reading Level – Level AAA | ||||
| 3.1.5 Reading Level | Text requires ≤ lower-secondary reading level (or supplemental version available) | No |
| G153 |
| 3.1.6 Pronunciation – Level AAA | ||||
| 3.1.6 Pronunciation | Ambiguous pronunciation provided inline or via link | No |
| G120 |
| 3.2.1 On Focus – Level A | ||||
| 3.2.1 On Focus | Receiving focus does not trigger context change (new window, submission, focus jump) | Yes |
| G107 |
| 3.2.2 On Input – Level A | ||||
| 3.2.2 On Input | Changing value of form field does not cause context change without warning | Yes |
| G80 |
| 3.2.3 Consistent Navigation – Level AA | ||||
| 3.2.3 Consistent Navigation | Navigation order and labels remain same across pages | Yes |
| G61 |
| 3.2.4 Consistent Identification – Level AA | ||||
| 3.2.4 Consistent Identification | Icons/buttons with same function have identical accessible names and icons | Yes |
| G197 |
| 3.2.5 Change on Request – Level AAA | ||||
| 3.2.5 Change on Request | All major context changes require explicit user request (button, submit) | Yes |
| G76 |
| 3.2.6 Consistent Help – Level A | ||||
| 3.2.6 Consistent Help | Help mechanism (human contact details, self-help link, FAQ, fully-automated chat) appears in same relative order across pages | Yes |
| G220 |
| 3.3.1 Error Identification – Level A | ||||
| 3.3.1 Error Identification | Errors identified in text and exposed to assistive technology (aria-live, role=alert) | Yes |
| ARIA21 |
| 3.3.2 Labels or Instructions – Level A | ||||
| 3.3.2 Labels or Instructions | Each input has visible label or instruction | Yes |
| H90 |
| 3.3.3 Error Suggestion – Level AA | ||||
| 3.3.3 Error Suggestion | Error message offers corrective hint (format, allowed values, example) | No |
| G84 |
| 3.3.4 Error Prevention (Legal, Financial, Data) – Level AA | ||||
| 3.3.4 Error Prevention | User can review, correct, and confirm final submission | Yes |
| G98 |
| 3.3.5 Help – Level AAA | ||||
| 3.3.5 Help | Context-sensitive help (tooltip, link, inline text) provided for all form fields | No |
| G103 |
| 3.3.6 Error Prevention (All) – Level AAA | ||||
| 3.3.6 Error Prevention (All) | All forms allow review, correction, confirmation, and data is saved if re-authentication required | Yes |
| G99 |
| 3.3.7 Redundant Entry – Level A (Added in 2.2) | ||||
| 3.3.7 Redundant Entry | Previously entered data is auto-populated or selectable (unless re-entry essential) | Yes |
| G225 |
| 3.3.8 Accessible Authentication (Minimum) – Level AA (Added in 2.2) | ||||
| 3.3.8 Accessible Authentication (Minimum) | No cognitive test (object recognition, username+password) required; offers magic link, WebAuthn, etc. | Yes |
| G218 |
| 3.3.9 Accessible Authentication (Enhanced) – Level AAA (Added in 2.2) | ||||
| 3.3.9 Accessible Authentication (Enhanced) | Authentication requires no cognitive test and no username+password combo | Yes |
| G219 |
| 4.1.2 Name, Role, Value – Level A | ||||
| 4.1.2 Name, Role, Value | All interactive components expose accessible name, role, state, value programmatically | Yes |
| G108 |
| 4.1.3 Status Messages – Level AA | ||||
| 4.1.3 Status Messages | Important status messages (save success, errors, progress) announced to AT without receiving focus | Yes |
| ARIA22 |
Need help with digital accessibility?
- Audit and debug pages with reports in a user-friendly format directly from the browser.
- Install when you can't use browser extension.
- Audit fully rendered pages, including themes and plugins.
- Effortlessly audit every page automatically. Integrate a code snippet and manage multiple sites from a central dashboard.
Comments