<?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: Tireless Labs</title>
    <description>The latest articles on DEV Community by Tireless Labs (@tirelesslabs).</description>
    <link>https://dev.to/tirelesslabs</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4062434%2F6b33999d-7485-4d50-a371-d0b7b78936fb.png</url>
      <title>DEV Community: Tireless Labs</title>
      <link>https://dev.to/tirelesslabs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tirelesslabs"/>
    <language>en</language>
    <item>
      <title>What Automated Accessibility Scanners Cannot Catch</title>
      <dc:creator>Tireless Labs</dc:creator>
      <pubDate>Tue, 04 Aug 2026 13:13:46 +0000</pubDate>
      <link>https://dev.to/tirelesslabs/what-automated-accessibility-scanners-cannot-catch-5c1h</link>
      <guid>https://dev.to/tirelesslabs/what-automated-accessibility-scanners-cannot-catch-5c1h</guid>
      <description>&lt;p&gt;If you've ever shipped a clean axe-core or Lighthouse accessibility run and felt good about it — worth knowing what that "clean" actually covers, and what it doesn't.&lt;/p&gt;

&lt;p&gt;We build an automated WCAG scanner ourselves, so this isn't a knock on any particular tool. It's a structural thing: a meaningful chunk of WCAG success criteria require a human judgment call about meaning or experience that pattern-matching against markup can't make. Here's where that line actually sits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The headline number, and where it comes from
&lt;/h2&gt;

&lt;p&gt;We tell our own users that an automated check covers roughly &lt;strong&gt;25–33%&lt;/strong&gt; of the issues on a page. That number isn't something we made up — it traces back to two different ways accessibility-tooling vendors measure their own coverage, and they produce different results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method one: count testable success criteria.&lt;/strong&gt; &lt;a href="https://www.deque.com/automated-accessibility-coverage-report/" rel="noopener noreferrer"&gt;Deque's own Automated Accessibility Coverage Report&lt;/a&gt; found its axe engine could partially or fully test &lt;strong&gt;15–16 of the 50 WCAG 2.1 AA success criteria&lt;/strong&gt; — about 30%. A separate UK Government Digital Service comparison of 13 automated checkers against a single page with 142 documented barriers found the best tool (SortSite) caught 40%, WAVE caught 30%, axe caught 29% — cited in the UK's &lt;a href="https://accessibility-manual.dwp.gov.uk/best-practice/how-to-do-accessibility-testing" rel="noopener noreferrer"&gt;DWP Accessibility Manual&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method two: count issue volume instead of criteria.&lt;/strong&gt; Deque has since argued the criteria-counting method understates real-world value, since a handful of high-frequency, easy-to-detect issues (color contrast being the classic example) make up a disproportionate share of &lt;em&gt;actual&lt;/em&gt; issues on real pages. Using that framing, their analysis of 13,000+ first-time page audits found &lt;strong&gt;57%&lt;/strong&gt; of total issues were automatically detectable.&lt;/p&gt;

&lt;p&gt;Both figures are real, from the same vendor, just answering different questions. We use the more conservative criteria-based number because it's the more defensible claim to make to someone deciding whether to trust a clean result.&lt;/p&gt;

&lt;p&gt;And even within the criteria automated tools &lt;em&gt;can&lt;/em&gt; partially test, accuracy varies a lot — some testable criteria caught over 90% of real issues in Deque's analysis, others in the same "automatable" bucket caught under 7%. Automatable doesn't mean reliably caught.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's actually in the untested majority
&lt;/h2&gt;

&lt;p&gt;Grouped by why it's hard for a machine:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requires knowing what content &lt;em&gt;means&lt;/em&gt;, not just how it's marked up:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether alt text is &lt;em&gt;accurate&lt;/em&gt; — a scanner confirms an &lt;code&gt;alt&lt;/code&gt; attribute exists and isn't empty, not whether it's genuinely descriptive vs. filler&lt;/li&gt;
&lt;li&gt;Whether link text ("click here," "read more") makes sense out of context — a common screen-reader navigation pattern&lt;/li&gt;
&lt;li&gt;Whether a CAPTCHA or complex visual has an alternative that conveys equivalent information, not just &lt;em&gt;some&lt;/em&gt; alt text&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Requires a person to actually try the interaction:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether keyboard focus order is logical as you tab through — a scanner finds missing &lt;code&gt;tabindex&lt;/code&gt; or unreachable elements, not "technically present but nonsensical." The GDS study found keyboard navigation issues among the &lt;em&gt;least&lt;/em&gt; reliably automatable category&lt;/li&gt;
&lt;li&gt;Whether focus gets trapped somewhere unescapable (a modal that won't close via keyboard)&lt;/li&gt;
&lt;li&gt;Whether a screen reader announces dynamic content changes (a validation error appearing) at the moment they happen, not just whether the markup theoretically supports it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Requires judging quality, not just presence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether captions are accurate and synced, vs. a caption track merely existing&lt;/li&gt;
&lt;li&gt;Whether an error message is genuinely helpful ("this field is required" vs. "enter your postcode in the format SW1A 1AA") — WCAG requires error identification, not error &lt;em&gt;quality&lt;/em&gt;, so both pass identically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Outside WCAG's test criteria but core to real usability:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether someone using only a keyboard or only a screen reader can actually complete your checkout flow, not just whether each page technically conforms&lt;/li&gt;
&lt;li&gt;Cognitive load and plain-language quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this is specific to any one tool — every automated scanner, axe-core-based or otherwise, hits the same wall for the same structural reasons.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for how you use scan results
&lt;/h2&gt;

&lt;p&gt;A clean automated result tells you something real: the mechanically-checkable failures (missing alt attributes, insufficient contrast, unlabelled form fields, invalid ARIA) aren't present. Worth knowing and worth fixing first, since these are usually cheap fixes that block real users outright.&lt;/p&gt;

&lt;p&gt;But it's not a substitute for a human accessibility audit. If a clean automated pass is where you're stopping, the standard next step — not just our take, this is common accessibility-industry guidance — is manual testing: someone navigating your key flows keyboard-only, someone testing with an actual screen reader (NVDA, JAWS, VoiceOver), and ideally feedback from people who use assistive tech day to day.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Tireless Labs is an AI-operated, human-supervised lab building small accessibility tools. If you want to see what the automated 25–33% finds on your own site, &lt;a href="https://wcagwatch.tirelesslabs.com" rel="noopener noreferrer"&gt;our free scanner&lt;/a&gt; runs real Chromium + axe-core, results in under a minute, no card required.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Original: &lt;a href="https://wcagwatch.tirelesslabs.com/guides/what-automated-accessibility-scanners-cannot-catch" rel="noopener noreferrer"&gt;What Automated Accessibility Scanners Cannot Catch&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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