AccessiGuardAccessiGuard

What We Scan

AccessiGuard runs 22 automated accessibility checks against WCAG 2.1 Level AA guidelines. Here's exactly what we test — and what automated tools can't catch.

⚠️ Important: No automated tool catches everything

Automated scanning typically catches 30-40% of WCAG issues. The remaining 60-70% require manual testing, including keyboard navigation, screen reader testing, cognitive evaluation, and real user testing. Our scans are a strong starting point — not certification. We recommend combining automated scans with periodic manual audits for full compliance.

3

Critical

10

Serious

8

Moderate

1

Minor

22 Checks We Run
01
Image Alt TextWCAG 1.1.1critical

Verifies all images have descriptive alt attributes so screen reader users understand image content.

02
Form Input LabelsWCAG 1.3.1critical

Ensures every form field (input, select, textarea) has an associated label via `for`, `aria-label`, or wrapping `<label>`.

03
Page LanguageWCAG 3.1.1serious

Checks the `<html>` element has a `lang` attribute so screen readers use the correct pronunciation.

04
Link TextWCAG 2.4.4serious

Detects links with no discernible text (empty links without text, aria-label, or alt-text images).

05
Button NamesWCAG 4.1.2serious

Ensures all buttons have accessible names through text content or `aria-label`.

06
Heading HierarchyWCAG 1.3.1moderate

Validates heading levels aren't skipped (h1→h3 without h2), which confuses screen reader navigation.

07
Main LandmarkWCAG 2.4.1moderate

Checks for a `<main>` element or `role="main"` so screen readers can skip directly to content.

08
Duplicate IDsWCAG 4.1.1moderate

Finds duplicate `id` attributes that break ARIA references and form label associations.

09
Document TitleWCAG 2.4.2serious

Verifies the page has a `<title>` element for browser tabs and screen reader announcements.

10
Table HeadersWCAG 1.3.1serious

Checks that data tables have `<th>` elements so screen readers can announce column/row context.

11
ARIA Role ValidationWCAG 4.1.2serious

Validates that all `role` attributes use valid ARIA role values from the specification.

12
Tabindex OrderWCAG 2.4.3moderate

Flags positive `tabindex` values that disrupt natural keyboard navigation order.

13
Zoom DisabledWCAG 1.4.4critical

Detects `user-scalable=no` or `maximum-scale=1` in the viewport meta tag that prevents zooming.

14
Skip NavigationWCAG 2.4.1moderate

Checks for a 'skip to content' link so keyboard users can bypass repetitive navigation.

15
Iframe TitlesWCAG 4.1.2serious

Ensures all `<iframe>` elements have a descriptive `title` attribute explaining their content.

16
Descriptive Link TextWCAG 2.4.4moderate

Flags generic link text like 'click here', 'read more', or 'here' that lacks context.

17
H1 ValidationWCAG 1.3.1serious

Checks for exactly one `<h1>` per page — flags missing or multiple h1 elements.

18
List StructureWCAG 1.3.1serious

Detects `<li>` elements outside of `<ul>` or `<ol>` containers, breaking semantic structure.

19
Definition List StructureWCAG 1.3.1moderate

Validates `<dl>` elements only contain `<dt>`, `<dd>`, or `<div>` children.

20
Input AutocompleteWCAG 1.3.5minor

Checks that common fields (email, phone, name) have `autocomplete` attributes for assistive technology.

21
ARIA ReferencesWCAG 4.1.2serious

Validates that `aria-labelledby` and `aria-describedby` reference existing element IDs.

22
Required Field IndicationWCAG 3.3.2moderate

Ensures required fields have `aria-required="true"` or visual indicators for assistive technology.

What Automated Scanning Can't Catch

These areas require manual testing or browser-based analysis. We're working on expanding coverage, but being honest about limitations is part of our commitment to genuine accessibility.

Color Contrast

Requires visual rendering and computed style analysis. We plan to add this with browser-based scanning.

Keyboard Navigation

Requires interactive testing — can't be verified from static HTML alone.

Focus Management

Focus trapping, focus order in dynamic content, and modal focus management need runtime testing.

Audio/Video Captions

Verifying captions exist and are accurate requires media analysis beyond HTML parsing.

Dynamic Content (SPAs)

JavaScript-rendered content, ARIA live regions, and route changes need browser-based scanning.

Touch Target Size

WCAG 2.5.5 requires computed layout analysis, not just HTML inspection.

Cognitive & Reading Level

Content readability and cognitive load are subjective and require human evaluation.

🚀 On the Roadmap

  • Color contrast checking — automated WCAG 2.1 contrast ratio analysis
  • Browser-based scanning — catch issues in JavaScript-rendered content
  • Weekly monitoring — get alerted when new issues appear