@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.1 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 52ms across 5,000 real-world sites
  • Comprehensive — 93 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.1 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.