Accessibility Kit is a TypeScript tool for ARIA patterns, accessibility linting, and practical HTML checks.
It is designed for developers, maintainers, documentation teams, and site owners who want a lightweight way to catch common accessibility issues before publishing.
Accessibility Kit checks HTML files for common accessibility problems, including missing image alt text, unnamed buttons, unnamed links, unlabeled form controls, invalid ARIA roles, focusable hidden elements, and skipped heading levels.
It also includes reference notes for common ARIA patterns such as disclosures, modal dialogs, and tabs.
npm installRun the checker against HTML files:
npm run dev -- check "examples/**/*.html"Build the project:
npm run buildRun the built CLI:
node dist/cli/index.js check "examples/**/*.html"a11y-kit check "public/**/*.html"
a11y-kit check "public/**/*.html" --format json
a11y-kit rules
a11y-kit patternsFiles checked: 2
Findings: 7
Severity Rule File Message
-------- --------------------------- ------------------------- ------------------------------
error images-have-alt examples/bad.html Image is missing an alt attribute.
images-have-altbuttons-have-nameslinks-have-namesform-controls-have-labelsvalid-aria-rolesaria-hidden-focusableheading-order
src/
cli/ Command-line interface
patterns/ ARIA pattern references
rules/ Accessibility rules
checker.ts File checking engine
format.ts Output formatters
examples/ Good and bad HTML examples
docs/ End-user documentation
import { checkPaths } from 'accessibility-kit';
const result = await checkPaths(['public/**/*.html']);
console.log(result.findings);Automated checks are helpful, but they do not replace manual testing with keyboard navigation, screen readers, browser zoom, reduced motion settings, and real users. Use this tool as an early warning system, not as the final measure of accessibility quality.
MIT