Skip to content
PluginStats

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

View on npm Stale · Oct 18, 2026

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.

Weekly downloads
119,339
Official API · Oct 18, 2026
7-day growth
-31.5%
-54.8K weekly downloads
30-day growth
+67.4%
+48.1K weekly downloads
90-day growth
+418%
+96.3K weekly downloads
Rank
#452
Among tracked npm listings

About eslint-plugin-jsx-a11y-x

eslint-plugin-jsx-a11y-x

GitHub Actions Workflow Status npm GitHub Release

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.recommended
  • configs.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

eslint-plugin-jsx-a11y-x weekly downloads on npm, last 90 days: 119,339 weekly downloads as of Oct 18, 2026, +418% over 90 days.eslint-plugin-jsx-a11y-xWeekly downloads on npm · Last 90 days119,339downloads / week+418% over 90 days050K100K150K200KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 24, 2026 – Oct 18, 2026 · 87 observations · Updated Oc…pluginstats.com
eslint-plugin-jsx-a11y-x weekly downloads on npm, last 90 days: 119,339 weekly downloads as of Oct 18, 2026, +418% over 90 days.

7/30/90-day growth

eslint-plugin-jsx-a11y-x weekly downloads growth on npm: -31.5% over 7 days, +67.4% over 30 days, +418% over 90 days.eslint-plugin-jsx-a11y-xWeekly downloads growth on npm119,339downloads / week now7-day growth-54,780 weekly downloads-31.5%30-day growth+48,065 weekly downloads+67.4%90-day growth+96,300 weekly downloads+418%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
eslint-plugin-jsx-a11y-x weekly downloads growth on npm: -31.5% over 7 days, +67.4% over 30 days, +418% over 90 days.

Ranking history

eslint-plugin-jsx-a11y-x npm ranking history: currently #452 (by weekly downloads).eslint-plugin-jsx-a11y-xnpm ranking · by weekly downloads · Last 90 days#452current rank#450#452#454#456#458#460#462Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 18, 2026 – Oct 21, 2026 · 4 observations · Updated Oct 18, 2026pluginstats.com
eslint-plugin-jsx-a11y-x npm ranking history: currently #452 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,196 shown · page 23, #12 (overall #452)
All npm: every listing in weekly downloads order

Listing placement

ESLint plugins258 listings · 13 pages · page 5, #18 (overall #98)
ESLint plugins: every listing in weekly downloads order

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)
Recent weekly downloads observations for eslint-plugin-jsx-a11y-x
Date (UTC)Weekly downloadsChange vs. previous
119,339+25.3K
94,050-16.8K
110,894+7.1K
103,764-38.3K
142,112-33.9K
176,0360
176,036+1.9K
174,119+4.1K
170,069+2.4K
167,679+9.2K
158,450+8.9K
149,565+6.6K
142,964-23.6K
166,582—

Similar npm ESLint plugins plugins

All 20 eslint-plugin-jsx-a11y-x alternatives

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/eslint-plugin-jsx-a11y-x. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.