Equall

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).

On this page