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.