Scanners
Which engines Equall aggregates, what they cover, and when to opt out.
Equall ships four scanners, all enabled by default. They run in parallel per file; failures in one scanner never affect the others.
axe-core
Covers: most of WCAG Level A and AA for static HTML. Strong on color contrast, ARIA validity, landmark structure, image alt text.
Runs on: .html, .htm, and extracted HTML from JSX/TSX/Vue/Svelte/Astro.
Why bundled: the de facto standard for automated a11y testing — same engine Deque's own tools use.
eslint-plugin-jsx-a11y
Covers: component-level rules for React JSX and TSX — things like alt-text, anchor-is-valid, click-events-have-key-events.
Runs on: .jsx, .tsx.
Note: on TSX files without @typescript-eslint/parser, this scanner returns zero issues. Equall bundles the parser automatically.
readability
Covers: WCAG 3.1.5 Reading Level (AAA). Uses the Flesch-Kincaid grade formula via text-readability.
Runs on: .html files with readable prose content.
⚠ English-only. The formula is calibrated on English corpora. Files whose <html lang="..."> attribute is set to a non-English language are skipped automatically — they don't contribute issues, but they also don't lower coverage.
Disable globally: --no-readability opts out entirely. Useful for non-English projects that don't want the disclaimer message.
error-identification
Covers: WCAG 3.3.1 (Error Identification) and 3.3.3 (Error Suggestion). Checks forms for proper labels, error feedback, and required-field semantics.
Runs on: .html, .jsx, .tsx.
Opting out
The generic disableScanners option in RunScanOptions accepts a list of scanner names. The CLI currently exposes this via --no-readability; future scanner-specific flags will follow the same --no-<name> convention (commander's --no-* pattern).