eslint-plugin-jsx-a11y
eslint-plugin-jsx-a11y is a free ESLint plugin that checks JSX in React applications for accessibility issues in static code.
What eslint-plugin-jsx-a11y is
eslint-plugin-jsx-a11y is a free ESLint plugin that checks JSX in React applications for accessibility issues in static code. It offers recommended and strict rule configurations, including options for legacy .eslintrc and flat eslint.config.js setups. Its rules cover ARIA properties, values and roles, alternative text, labels, keyboard access, and captions for audio and video. For example, checks can flag clickable elements that are not interactive but lack keyboard listeners, or interactive handlers on elements that cannot receive focus. Teams can configure mappings between custom components and DOM element types, as well as between DOM attributes and JSX properties. An optional polymorphicPropName setting is available, though the project warns that polymorphic components can make code harder to maintain. Installation instructions cover npm and Yarn, and ESLint must be installed separately. Static checks do not evaluate the rendered DOM; the maintainers recommend adding @axe-core/react and assistive technology testing. The repository links to Tidelift for professional support. The package is MIT-licensed and listed as free.
Good
- Recommended and strict rule configurations are available.
- Checks ARIA, labels, keyboard access, and captions.
- Custom components and JSX properties can be mapped.
- MIT-licensed, with a free plan.
Watch out
- Checks static code, not the rendered DOM.
- Requires ESLint to be installed separately.
- No manual review tools, mobile testing, or browser extension.
Who it suits
It suits React developers who want accessibility checks within an ESLint workflow. Teams needing checks of rendered pages should supplement its static analysis with DOM and assistive technology testing.
Verdict
eslint-plugin-jsx-a11y adds focused accessibility rules to JSX linting, with configurable checks for custom components. Treat it as one part of accessibility review, not a substitute for rendered-DOM and assistive technology testing.
Plans and prices
From eslint-plugin-jsx-a11y's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| MIT-licensed open-source package | Free | Static JSX code analysis |
The facts
Each one read from eslint-plugin-jsx-a11y's own pages, with the date it was checked.
What it does
- Accessibility rules
- Its documented rules cover topics including alternative text, ARIA properties and roles, keyboard access, labels, and captions for audio and video.checked 10 Oct 2026
- ARIA checks
- Its rules check ARIA properties, values, roles, and role requirements.checked 9 Oct 2026
- Automated scans
- Yeschecked 23 Sep 2026
- Configuration
- Users can map custom components to DOM element types and map DOM attributes to JSX properties for checking.checked 9 Oct 2026
- Configurations
- The plugin provides recommended and strict shareable configurations, including flat-config variants.checked 10 Oct 2026
- Custom components
- Configuration can map custom component names to DOM element types so the plugin can check those components.checked 10 Oct 2026
- ESLint dependency
- The installation instructions say to install ESLint before installing the plugin.checked 10 Oct 2026
- ESLint integration
- The README documents legacy .eslintrc and flat eslint.config.js setup.checked 9 Oct 2026
- Integrations
- The README includes instructions for installation through eslint-config-airbnb and recommends using @axe-core/react to test rendered DOM accessibility.checked 10 Oct 2026
- Keyboard access checks
- Rules flag clickable non-interactive elements without keyboard event listeners and interactive handlers on elements that are not focusable.checked 9 Oct 2026
- License
- The repository states that eslint-plugin-jsx-a11y is licensed under the MIT License.checked 10 Oct 2026
- Manual review tools
- Nochecked 23 Sep 2026
- Media accessibility
- A rule enforces captions by requiring a track for audio and video elements.checked 9 Oct 2026
- Mobile testing
- Nochecked 23 Sep 2026
- Package installation
- The README provides npm and Yarn commands to install the plugin as a development dependency.checked 10 Oct 2026
- Package managers
- Installation instructions are provided for npm and Yarn, and ESLint must also be installed.checked 9 Oct 2026
- Polymorphic components
- The plugin can use a configured prop, such as `as`, to determine the element type for rules requiring semantic context; the README cautions that polymorphic components can make code harder to maintain.checked 10 Oct 2026
- Professional support
- The repository links to Tidelift for professional support for the package.checked 9 Oct 2026
- Purpose
- eslint-plugin-jsx-a11y statically checks JSX elements for accessibility issues in React apps.checked 10 Oct 2026
- Remediation guidance
- Nochecked 23 Sep 2026
- Rule configurations
- It provides recommended and strict rule configurations.checked 9 Oct 2026
- Scope limit
- It catches issues in static code and recommends pairing it with @axe-core/react to test the rendered DOM and with assistive technology testing.checked 9 Oct 2026
Where it runs
- Browser extension
- Nochecked 23 Sep 2026
Money
- Free plan
- Yeschecked 23 Sep 2026
Alternatives to eslint-plugin-jsx-a11y
- 1
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 2
Masscan
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.2Free plan - 3
Nmap
Free planLinuxmacOSSelf-hostedWindows7.0From $9,980 a month - 4
Naabu
Free planAPILinuxmacOSSelf-hosted6.8Free plan - 5

Pentest-Tools Port Scanner
Free planWebAPI6.8From $95 a month - 6

ScanSearch
Free planWebAPILinux6.8From $0.30 a month
