Skip to main content
interlace
Plugin: react-a11y

Changelog

Release history for eslint-plugin-react-a11y

Generated from the release history

Built from this package's CHANGELOG.md at deploy time, so it matches the version these docs describe. The full cross-package history lives on the changelog.

2.5.2

  • FixThe README logo now links to the plugin's own documentation.

2.5.1

  • FixAdd an install-size badge to the README prelude, linking to each package's packagephobia page. npm renders the README from the last publish, so a badge only appears on npmjs.com after a release.
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.18.2

2.5.0

  • Feature🐛 Fix — a template literal is a string, in 82 rules that disagreed
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.18.0

2.4.0

  • Fixprefer-tag-over-role stops reporting on <svg role="img"> and on components
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.17.3

2.3.1

  • Fixpoint meta.docs.url at documentation that exists #683
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.17.2

2.3.0

  • Accessibility rules cite WCAG, not CWE. #610
  • DependenciesUpdated internal dependencies

2.2.0

  • Two React rules now judge evidence rather than names. #565
  • DependenciesUpdated internal dependencies

2.1.15

  • Bound the TypeScript peer range and declare the React peer #499

2.1.14

  • Correct the declared ESLint floor: ^8.0.0^8.40.0. #407
  • Correct the ESLint peer range shown in the README Compatibility table. #423
  • DependenciesUpdated internal dependencies

2.1.13

  • Ship the JavaScript without tsc's layout. #411
  • DependenciesUpdated internal dependencies

2.1.12

  • Load rule modules on demand instead of at plugin load. #381
  • Declare what we support, load only what we use #381
  • Fix the ./oxlint subpath export, which pointed at src/oxlint.js — a file no build produces. require('<package>/oxlint') threw MODULE_NOT_FOUND on every published package, while every README documented that exact wiring for oxlint's jsPlugins. The export now points at the build output, dist/src/oxlint.js. #335
  • DependenciesUpdated internal dependencies

2.1.11

  • Add the ecosystem and oxlint marks to the README logo row. Each plugin now #364

2.1.10

  • Re-publish every package so npm carries the optimised artifact #338
  • DependenciesUpdated internal dependencies

2.1.9

  • Rewrite description and keywords on every published package for npm search discovery. npm ranks on name, description, and keywords, and the registry only picks up these fields at publish — so this is metadata-only and takes effect for each package on its next release. #294
  • DependenciesUpdated internal dependencies

2.1.8

  • Docsdocs: dual-logo README header (Interlace mark + ESLint mark side by side) and closing Interlace footer — refreshes the README rendered on npmjs.com. No runtime changes. #269
  • DependenciesUpdated internal dependencies

2.1.7

  • Fix Codecov badge showing "unknown" — switch from flag to component URL format #252

2.1.6

  • Fixfix: role-aware false-positive reduction in three Base UI / headless UI rules #180
  • DependenciesUpdated internal dependencies

2.1.3

  • align codecov component IDs with full package names
  • fix changelog header format across all packages
  • Ofri Peretz

2.1.2

  • align codecov component names and update docs components
  • Ofri Peretz

1.0.0

  • Initial release with 37 accessibility rules
  • WCAG 2.1 Level A, AA, and AAA coverage
  • LLM-optimized error messages with structured 2-line format
  • Auto-fix capabilities for applicable rules
  • ESLint 8 and ESLint 9 flat config support
  • TypeScript type definitions for all rule options
  • Four preset configurations:
  • Anchor Rules (3): anchor-ambiguous-text, anchor-has-content, anchor-is-valid
  • ARIA Rules (4): aria-activedescendant-has-tabindex, aria-props, aria-role, aria-unsupported-elements
  • Form & Input Rules (3): autocomplete-valid, control-has-associated-label, label-has-associated-control
  • Event Rules (2): click-events-have-key-events, mouse-events-have-key-events
  • Content Rules (5): heading-has-content, html-has-lang, iframe-has-title, lang, media-has-caption
  • Image Rules (2): img-redundant-alt, img-requires-alt
  • Interactive Element Rules (6): interactive-supports-focus, no-interactive-element-to-noninteractive-role, no-noninteractive-element-interactions, no-noninteractive-element-to-interactive-role, no-noninteractive-tabindex, no-static-element-interactions
  • Focus & Navigation Rules (5): no-access-key, no-aria-hidden-on-focusable, no-autofocus, no-keyboard-inaccessible-elements, tabindex-no-positive
  • Visual & Distraction Rules (3): no-distracting-elements, no-missing-aria-labels, no-redundant-roles
  • Role Rules (3): role-has-required-aria-props, role-supports-aria-props, prefer-tag-over-role
  • Scope Rule (1): scope

Building secure JavaScript with Interlace? Star the repo to get new rules and CWE coverage as we ship them — or follow the AI-code-security benchmarks behind them.