vitest-accessibility-checker has 18 recorded weekly downloads on npm, a decrease of 64.0% over the past 30 days.
It ranks #1850 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by -96.4%.
PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.
About vitest-accessibility-checker
vitest-accessibility-checker
⚠️ Important: This package requires Vitest Browser Mode
Accessibility testing plugin for Vitest that integrates IBM Equal Access Accessibility Checker. This package is designed specifically for Vitest Browser Mode and requires a real browser environment to run accessibility scans.
Requirements
• Vitest 2.0+ with Browser Mode enabled • A browser provider (Playwright, WebdriverIO, or Puppeteer) • Node.js 16 or higher
Installation
Optional: XLSX Report Format
If you want to generate reports in XLSX format, you need to install exceljs as an additional dependency:
Without exceljs installed, all other report formats (JSON, HTML, CSV) will work normally, but XLSX format will be disabled with a warning message.
Usage
1. Configure Vitest with Browser Mode
Browser Mode is required. Add the plugin to your vitest.config.js and ensure browser mode is enabled:
2. Setup Custom Matcher (Optional but Recommended)
Create a setup file to extend Vitest's expect with the toBeAccessible matcher:
Add it to your vitest config:
3. Write Tests
Using the Custom Matcher (Recommended)
The toBeAccessible matcher provides the cleanest syntax:
Using Direct API Calls
You can also use the API functions directly:
Testing with Inline HTML
You can also test accessibility by rendering HTML directly:
API
Custom Matcher
expect(element).toBeAccessible(label)
Custom Vitest matcher that scans an element and asserts it has no accessibility violations.
• element: DOM element or document to scan • label: String label for this scan • Throws: Assertion error if violations found • Returns: Promise
Example:
Direct API Functions
All functions can be imported from vitest-accessibility-checker/commands:
getCompliance(content, label)
Scans the provided content and returns a compliance report.
• content: DOM element or document to scan • label: String label for this scan • Returns: Promise - Accessibility report with results array
Example:
assertCompliance(report)
Checks a report and returns a status code based on violations and baseline comparison.
• report: Report object from getCompliance • Returns: Promise - 0 if passes, 1 if fails baseline, 2 if fails on failLevels
Example:
getBaseline(label)
Gets the baseline for a specific label.
• label: String label for the baseline • Returns: Promise - Baseline data
getDiffResults(label, actual)
Gets diff results between current scan and baseline.
• label: String label for comparison • actual: Current report object • Returns: Promise - Array of diff objects with 'kind' property
getConfig()
Gets the current accessibility checker configuration.
• Returns: Promise - Configuration object
stringifyResults(report)
Converts a report to a formatted string for display.
• report: Report object • Returns: String - Formatted report string
Configuration
Create an .achecker.yml or achecker.js file in your project root:
If your project uses ES modules ("type": "module" in package.json), Node.js cannot load a CommonJS achecker.js file. Use an achecker.mjs file with a default export instead:
Reports
Reports are generated in the results folder (configurable) with: • JSON reports for each scan • HTML summary report • Baseline comparison (if enabled)
License
Apache-2.0 - See LICENSE in the equal-access repository
Description from the npm listing.
- ci
- integration
- continuous
- accessibility-checker
- vitest
- vitest-plugin
- vitest-accessibility-checker
- a11y
- accessibility
- IBMa
Where vitest-accessibility-checker sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (543)Similar npm Testing plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/vitest-accessibility-checker. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.