Website Accessibility Checker - WCAG 2.2 & EAA
Pricing
Pay per event
Website Accessibility Checker - WCAG 2.2 & EAA
Bulk WCAG 2.2 audit in a real browser, mapped to EN 301 549 (European Accessibility Act). Per-page score, selectors and fix hints. No certification.
Pricing
Pay per event
Rating
0.0
(0)
Developer
psx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Website Accessibility Audit - WCAG 2.2 + European Accessibility Act (EN 301 549) checker
Audit any public web page with axe-core in a real Chromium browser (JavaScript executed, so SPAs work). Every finding is mapped to its WCAG success criterion and the matching EN 301 549 clause, the harmonised standard behind the European Accessibility Act (EAA), in force since 28 June 2025.
Use cases
- EAA readiness checks for e-shops, SaaS and agencies selling into the EU.
- Agency prospecting and client reports - batch hundreds of domains, sort by score.
- CI / monitoring - run on a schedule through the Apify API, alert when issues appear.
- AI agents (MCP) - one structured JSON record per page, with selectors and fix hints.
Input
| Field | Default | Description |
|---|---|---|
urls | required | Up to 500 pages or bare domains. |
wcagLevel | AA | A, AA or AAA. AA is what EN 301 549 requires. |
maxPagesPerSite | 1 | >1 also audits same-site pages linked from the start page (one level, robots.txt respected). |
includeBestPractices | false | Add axe best-practice rules. |
includeIncomplete | false | Add needsManualReview items. |
maxExamplesPerIssue | 3 | Failing elements shown per rule. |
viewportWidth | 1280 | Use 375 for mobile. |
concurrency / delaySecs | 2 / 2 | Polite defaults; same-site pages are spaced by delaySecs. |
respectRobots | true | Skip pages disallowed for this bot. |
{ "urls": ["https://example.com"], "wcagLevel": "AA", "maxPagesPerSite": 5 }
Output (one item per page)
{"url": "https://www.w3.org/WAI/demos/bad/before/home.html","status": 200, "lang": "en", "score": 60,"summary": { "violatedRules": 6, "affectedElements": 46, "byImpact": { "critical": 2, "serious": 4, "moderate": 0, "minor": 0 } },"violations": [{"id": "image-alt", "impact": "critical", "description": "Images must have alternative text","wcagCriteria": ["1.1.1"], "wcagLevel": "A", "en301549": ["9.1.1.1"], "nodeCount": 12,"examples": [{ "selector": "img[src=\"logo.png\"]", "html": "<img src=...>", "fix": "Fix any of the following: ..." }]}],"note": "Automated testing detects roughly 30-40% of WCAG issues ..."}
score is a simple heuristic (100 minus weighted violated rules), useful for ranking, not an official metric.
Important limits (honest disclaimer)
Automated tools find about 30-40% of accessibility problems. A clean result is not proof of conformance with WCAG, EN 301 549 or the EAA, and this is not legal advice. WCAG 2.2-only criteria have no EN 301 549 clause yet (v3.2.1 is based on WCAG 2.1) and show en301549 empty.
Pricing (pay per event)
| Event | When charged | Price |
|---|---|---|
apify-actor-start | once per run | $0.005 |
page-audited | each page successfully audited | $0.015 (= $15 per 1,000 pages) |
Why this price: each page runs in real Chromium (JavaScript executed), which costs far more compute than HTTP-only checks. Cheap actors in the Store charge $2-$30 per 1,000 pages (some with weaker output), and the biggest named scanners charge $25-$200 per 1,000. We price at the lower-middle with the EN 301 549 / EAA mapping as the differentiator. Example: 100 sites x 1 page = $1.50; 100 sites x 5 pages = $7.50. A manual audit costs from $499 and SaaS scanners about $19/month, so this is a cheap triage step.
Politeness and safety
- Identifies as
A11yEaaAudit, respects robots.txt, max 5 browser pages, per-site delay. - Only http/https; localhost, internal hosts and private/reserved IPs are blocked (also for sub-requests).
- Audits only public, unauthenticated pages. Output contains page HTML snippets of failing elements only.
FAQ
Does a clean result mean I comply with the EAA?
No. Automated testing finds roughly 30-40% of WCAG issues. Use this for triage and monitoring, then add manual testing. Not legal advice.
Who has to comply with the European Accessibility Act?
Since 28 June 2025 many consumer-facing digital products and services sold in the EU (e-commerce, banking, transport, e-books, telecom) must be accessible. Microenterprises providing services are exempt. Check with a lawyer for your case.
What is EN 301 549?
The harmonised European standard that gives presumption of conformity with the EAA. v3.2.1 is based on WCAG 2.1 AA, so WCAG 2.2-only criteria show an empty en301549 list.
Can it audit many pages per site?
Yes, maxPagesPerSite follows same-site links one level deep and respects robots.txt.
Can it audit pages behind a login?
No. Public, unauthenticated pages only.
Part of the Site Audit Suite
Run the same list of domains through every audit:
- Website Tech Stack Detector
- Security Headers + TLS Audit
- Broken Link Checker + On-Page SEO Audit
- llms.txt Generator and Sitemap + robots.txt Analyzer (coming soon)
Tip: pipe one domain list into several actors with an Apify Task or the API and join the results by url.
Develop
npm install && npm testmkdir -p storage/key_value_stores/defaultecho '{"urls":["https://example.com"]}' > storage/key_value_stores/default/INPUT.jsonnpm start # results in storage/datasets/default/ (needs: npx playwright install chromium)docker build -t a11y-eaa-audit .
Deploy (needs Apify account): npx apify-cli login && npx apify-cli push.
Verified (2026-10-05, local)
Run on w3.org BAD demo (score 60, 6 rules), example.com (100), bbc.com + subpage (90/95); Docker image builds and runs (docker run --user 996 -v <dir>:/home/myuser/storage).