CASOON Open Source
Accessibility audits of the page the browser actually renders.
auditmysite loads each page in Chrome, reads Chrome's own accessibility tree over the DevTools Protocol and checks it against WCAG 2.2 AA. One binary, JSON for automation, PDF reports in German and English.
curl -fsSL https://raw.githubusercontent.com/casoon/auditmysite/main/install.sh | bashcargo install auditmysite$ auditmysite https://www.casoon.de/ --format table --no-sitemap-suggest --lang en --request-mode browser _ _ _ _ __ __ ____ _ _ / \ _ _ __| (_) |_| \/ |_ _/ ___|(_) |_ ___ / _ \| | | |/ _` | | __| |\/| | | | \___ \| | __/ _ \ / ___ \ |_| | (_| | | |_| | | | |_| |___) | | || __/ /_/ \_\__,_|\__,_|_|\__|_| |_|\__, |____/|_|\__\___| |___/ AuditMySite v1.7.0 - WCAG 2.2 AA Accessibility Checker Audit plan Mode: Single URL Format: table Report level: standard Modules: Accessibility, Accessibility Journey, Best Practices, Dark Mode, HTML Conformance, Journey, Mobile, Performance, Security, SEO, AI Visibility, Tech Stack, Commerce, UX, Source Quality, Content Visibility Output: stdout, casoon-de-2026-09-30-single-report-screen-reader-audit.json Checking: https://www.casoon.de/ Starting browser... Found: Chrome 154.0.8037.93 (/Applications/Google Chrome.app/Contents/MacOS/Google Chrome) Auditing: https://www.casoon.de/ ✔ Website Health Report Accessibility: 100 Combined technical: 93 Grade: A Certificate: EXCELLENT Violations: 0 Duration: 9561ms Done: Screen-reader JSON report saved to casoon-de-2026-09-30-single-report-screen-reader-audit.json PASS
- WCAG 2.2 A/AA success criteria in scope
- 55
- of them covered by automated checks
- 30
- listed for manual review, never silently passed
- 25
- prebuilt release targets (macOS arm64, Linux x64/arm64, Windows x64)
- 4
What it does
Chrome's accessibility tree, not a static guess
Pages are rendered in Chrome and audited through the DevTools Protocol, so JavaScript-rendered content, computed styles and the browser’s own accessible names are what gets checked.
Honest WCAG coverage
A criterion counts as automated only if a rule can report a violation. The numbers are frozen in docs/PARITY_CONTRACT.jsonc and guarded by a test; every report carries them in summary.wcag_coverage.
JSON contract, PDF for people
The JSON report is canonical English and schema-backed for automation. The PDF is tagged PDF/UA-1 and rendered in German or English (--lang de|en).
Single pages and whole sites
Audit one URL in depth, or a sitemap, a URL list or a same-domain crawl as one aggregated batch report with averages, ranking and recurring issues. Technician mode writes one JSON per page plus a flat findings.jsonl instead.
Shared rules with barrierlab
Common WCAG rules, accessible name computation and HTML conformance come from the barrierlab crates, so the same rule IDs apply in auditmysite, astro-post-audit and liveaudit.
What an audit will do
All examples →
_ _ _ _ __ __ ____ _ _
/ \ _ _ __| (_) |_| \/ |_ _/ ___|(_) |_ ___
/ _ \| | | |/ _` | | __| |\/| | | | \___ \| | __/ _ \
/ ___ \ |_| | (_| | | |_| | | | |_| |___) | | || __/
/_/ \_\__,_|\__,_|_|\__|_| |_|\__, |____/|_|\__\___|
|___/
AuditMySite v1.7.0 - WCAG 2.2 AA Accessibility Checker
Audit plan
Mode: Single URL
Format: pdf
Report level: standard
Modules: Accessibility, Accessibility Journey, Best Practices, Dark Mode, HTML Conformance, Journey, Mobile, Performance, Security, SEO, AI Visibility, Tech Stack, Commerce, UX, Source Quality, Content Visibility
Output: casoon-de-2026-09-30-single-report.pdf, casoon-de-2026-09-30-single-report.json, casoon-de-2026-09-30-single-report-screen-reader-audit.json
Real output of auditmysite, recorded against casoon.de with examples/record.sh and rendered when this site is built. The showcase has technician mode, the JSON coverage block and report-lint as well.
examples/plan.txtQuickstart
Install the binary, make sure a Chrome is available, point it at a URL. The documentation covers batch modes, reports and CI.
- Install with the installer script,
cargo install auditmysiteor a release binary. - Run
auditmysite browser detect. Without a system Chrome,auditmysite browser installfetches Chrome for Testing. - Run
auditmysite <url>for a report, or-f jsonfor automation.
# check which browser auditmysite will use
auditmysite browser detect
# full single-page audit: terminal summary, PDF and JSON in the current directory
auditmysite https://example.com
# machine-readable, for CI
auditmysite https://example.com -f json -o report.json --quiet
# domain-wide, aggregated
auditmysite --sitemap https://example.com/sitemap.xml --max-pages 20