Skip to content

Features

Everything a11yscan does in Phase 1, and what's coming next.

Scanning

Auto Sitemap Discovery

Just give it a URL like "example.com". a11yscan auto-prepends https:// and checks for /sitemap.xml. No flags needed.

Concurrent Scanning

Scans up to 5 pages in parallel using Playwright with p-limit concurrency control. Default: 5 parallel pages.

Crash Recovery

If Chromium crashes mid-scan, the browser automatically relaunches and scanning continues. No lost progress.

SSRF Protection

Blocks localhost, private IPs (10.x, 172.16-31.x, 192.168.x), link-local, and non-HTTP protocols.

Interactive Wizard

Run a11yscan with no arguments to launch a step-by-step guided setup. Prompts for site URL, sitemap location, directories to include or exclude, output formats, concurrency, and report retention — then shows a summary before scanning. No flags to memorize.

Filtering

Section URL & Prefix Filter

Include the path in the URL to auto-filter: a11yscan example.com/about. Reports saved to section-specific folders for easy diffing. Or use --filter "/research" explicitly.

Glob Patterns

Flexible picomatch-powered matching: --filter-glob "/*/services/**". Combine with prefix filter using AND logic.

Exclude Paths

Skip sections with comma-separated prefixes: --exclude "/blog,/archive".

Depth & Limit

Control scan scope with --depth (URL path depth) and --limit (max pages to scan).

Analysis

Pattern Grouping

Groups violations by axe-core rule ID + normalized CSS selector. Strips positional pseudo-classes and inline styles for cleaner grouping.

Root Cause Hints

Auto-detects which framework causes the violation: Vuetify, Nuxt, WordPress, Material UI, Shopify, Elementor, and more.

LLM-Ready Output

Every pattern includes htmlSnippet, failureSummary, rawSelector, and suggestedFix URL. Ready for automated code generation.

Impact Sorting

Patterns sorted by affected page count descending. Critical issues affecting the most pages appear first.

Reporting

JSON Reports

Structured report with patternGroups and flat patterns array. Grouped by violation type for easy consumption by LLMs and CI/CD pipelines.

CSV Reports

11-column spreadsheet grouped by violation type. Includes HTML snippet, failure summary, and pipe-separated affected URLs.

HTML Reports

Collapsible violation groups sorted by severity with color-coded impact borders, jump-nav table of contents, summary dashboard, LLM-ready JSON download, and 96-rule reference. Critical and serious violations auto-expand.

Markdown Reports

GitHub-flavored Markdown with summary table, violation sections, and collapsible URL lists. Paste directly into GitHub issues or PRs.

Scan History & Auto-Pruning

Reports saved to ./reports/{hostname}/{section?}/{timestamp}/. Auto-prunes to keep latest 3 runs (configurable via --keep). Use `a11yscan prune` to manage old reports.

</> a11yscan

Pattern-aware accessibility auditor. Groups thousands of violations into actionable patterns for ARIA roles, accessible names, and color contrast.

MIT License. Built with Nuxt, Playwright, and axe-core.

v1.5.0|Changelog|Illinois Criminal Justice Information Authority