eslint-plugin-jsx-a11y-x weekly downloads statistics
By es-tooling · npm · ESLint plugins
An ESLint plugin to apply various a11y rules to JSX templates
eslint-plugin-jsx-a11y-x has 119,339 recorded weekly downloads on npm, an increase of 67.4% over the past 30 days, ranking #452 of 2,391 tracked listings.
About eslint-plugin-jsx-a11y-x
eslint-plugin-jsx-a11y-x
Static AST checker for accessibility rules on JSX elements.
Why?
This plugin does a static evaluation of the JSX to spot accessibility issues in React apps. Because it only catches errors in static code, use it in combination with @axe-core/react to test the accessibility of the rendered DOM. Consider these tools just as one step of a larger a11y testing process and always test your apps with assistive technology.
Installation
You'll first need to install ESLint:
# npm
npm install eslint --save-dev
# yarn
yarn add eslint --dev
Next, install eslint-plugin-jsx-a11y-x:
# npm
npm install -D eslint-plugin-jsx-a11y-x
# yarn
yarn add -D eslint-plugin-jsx-a11y-x
# pnpm
pnpm add -D eslint-plugin-jsx-a11y-x
Note: If you installed ESLint globally (using the -g flag in npm, or the global prefix in yarn) then you must also install eslint-plugin-jsx-a11y globally.
<a id="usage"></a>
Usage (eslint.config.js)
The default export of eslint-plugin-jsx-a11y-x is a plugin object.
import jsxA11yX from 'eslint-plugin-jsx-a11y-x';
export default [
// …
{
files: ['**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'],
plugins: {
'jsx-a11y-x': jsxA11yX,
},
languageOptions: {
parserOptions: {
ecmaFeatures: {
jsx: true,
},
},
},
rules: {
// ... any rules you want
'jsx-a11y-x/alt-text': 'error',
},
// ... others are omitted for brevity
},
…
];
Shareable Configs
There are two shareable configs, provided by the plugin.
configs.recommendedconfigs.strict
CJS
const jsxA11yX = require('eslint-plugin-jsx-a11y-x');
export default [
jsxA11yX.configs.recommended,
{
// Your additional configs and overrides
},
];
ESM
import jsxA11yX from 'eslint-plugin-jsx-a11y-x';
export default [
jsxA11yX.configs.recommended,
{
// Your additional configs and overrides
},
];
Note: Our shareable configs do NOT configure files or languageOptions.globals.
For most of the cases, you probably want to configure some of these properties yourself.
import jsxA11yX from 'eslint-plugin-jsx-a11y-x';
import globals from 'globals);
export default [
…
{
files: ['**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'],
...jsxA11yX.configs.recommended,
languageOptions: {
...jsxA11yX.configs.recommended.languageOptions,
globals: {
...globals.serviceworker,
...globals.browser,
},
},
},
…
];
Component Mapping
To enable your custom components to be checked as DOM elements, you can set global settings in your configuration file by mapping each custom component name to a DOM element type.
Attribute Mapping
To configure the JSX property to use for attribute checking, you can set global settings in your configuration file by mapping each DOM attribute to the JSX property you want to check.
For example, you may want to allow the for attribute in addition to the htmlFor attribute for checking label associations.
Polymorphic Components
You can optionally use the polymorphicPropName setting to define the prop your code uses to create polymorphic components.
This setting will be used determine the element type in rules that require semantic context.
For example, if you set the polymorphicPropName setting to as then this element:
<Box as="h3">Configurations </Box>
will be evaluated as an h3. If no polymorphicPropName is set, then the component will be evaluated as Box.
To restrict polymorphic linting to specified components, additionally set polymorphicAllowList to an array of component names.
⚠️ Polymorphic components can make code harder to maintain; please use this feature with caution.
Supported Rules
<!-- begin auto-generated rules list -->💼 Configurations enabled in.
🚫 Configurations disabled in.
☑️ Set in the recommended configuration.
🔒 Set in the strict configuration.
💡 Manually fixable by editor suggestions.…
Description from the npm listing.
- jsx
- a11y
- eslint
- eslint-plugin
- eslint-plugin-jsx-a11y
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
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.
Each band is one page of 20. Weekly downloads on a linear 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.
Recent observations
Full history (122)Similar npm ESLint plugins plugins
All 20 eslint-plugin-jsx-a11y-x alternativesData 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/eslint-plugin-jsx-a11y-x. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.