Benchmarks
axe-core vs @accesslint/core, tested against 5,000 sites from the Chrome UX Report.
Speed
Median audit time across 4,498 successful site audits.
Coverage
What @accesslint/core detects and how often axe-core agrees. 87% of detections are confirmed by axe-core. Click a criterion to see examples.
| WCAG Criterion | @accesslint/core detects | axe confirms | @accesslint/core unique |
|---|---|---|---|
| 4.1.2 Name, Role, Value | 2,922 | 2,584 | 338 |
| 1.4.3 Contrast (Minimum) | 2,793 | 2,339 | 454 |
| 2.4.4 Link Purpose (In Context) | 2,047 | 2,006 | 41 |
| 1.1.1 Non-text Content | 1,532 | 1,363 | 169 |
| 1.3.1 Info and Relationships | 928 | 578 | 350 |
| 1.4.4 Resize Text | 912 | 907 | 5 |
| 3.1.1 Language of Page | 832 | 829 | 3 |
| 2.1.1 Keyboard | 340 | 121 | 219 |
Key findings
@accesslint/coreis 12× faster than axe-core at median- 87% of
@accesslint/coredetections are confirmed by axe-core - Near-perfect agreement with axe-core on link-name, resize-text, and language-of-page
Methodology
- Sample: 5,000 origins from the Chrome UX Report, seeded random sample
- Runner: Chromium via Playwright, headless, on GitHub Actions (
ubuntu-latest) - axe-core: default configuration (no custom rules enabled). Only violations are compared
@accesslint/core: latest, default configuration- Per-site timeout: 15 s (navigation + audit), 5 concurrent pages per shard, 20 shards
- Source: accesslint/accesslint-bench
Last updated