@accesslint/core

A pure accessibility rule engine: WCAG audit with zero browser dependencies.

What it does

@accesslint/core scans a DOM tree for WCAG 2.2 Level A and AA violations. It runs in any JavaScript environment that provides a Document object: browsers, headless browsers, or server-side DOMs like happy-dom.

Key features

  • Fast: median audit completes in 53ms across 5,000 real-world sites
  • Comprehensive: 95 rules covering images, forms, ARIA, landmarks, color contrast, and more
  • Zero dependencies: ships as a single ES module with no runtime deps
  • Standards-based: maps every rule to WCAG 2.2 success criteria
  • AI-ready: each rule includes guidance and prompts for AI-powered remediation

How it compares

Benchmarked against 5,000 sites from the Chrome UX Report, @accesslint/core is significantly faster than axe-core while maintaining high agreement on detections. See the benchmarks for details.

Quick start

npm install @accesslint/core
import { runAudit } from "@accesslint/core";

const result = runAudit(document);
console.log(result.violations);

See the Getting Started guide for a complete walkthrough.