NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm
An eslint plugin for checking Vue.js files for accessibility
Last release 5 days ago
07 Oct 2026
Release timing varies
gaps range from 4 weeks to 1.6 years
Nearly every release is documented
notes for 31 of 32 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
32 releases · first in 2020
One column per quarter.
feat: deprecate no-onchange rule ( #854 ) 3fe0f5b
engines.node to package.json 3d6ae13Note truncated.
Add rule no-static-element-interactions ( #680 ) 7d02a25
no-static-element-interactions (#680) 7d02a25Require aria-query version 5.0.0 or higher. This is a breaking change for this dependency, meaning it's a breaking change for this package.
labelComponents options to add custom label components in form-control-has-label.controlComponents options to add custom control components in form-control-has-label.aria-query version 5.0.0 or higher. This is a breaking change for this dependency, meaning it's a breaking change for this package.Nothing published for this version
Deprecate the accessible-emoji rule. See https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/627 for details.
alt-text handling of different element case names.anchor-has-content handling for content directives (v-html, v-text) on child elements.Change the peer dependency to allow ESLint 8 without a warning.
Major bump because of the aria-query dependency major bump.
aria-query dependency major bump.Reduce overall bundle size by ignoring a lot more files in .npmignore.
.npmignore.The accessibleDirectives option to both heading-has-content and anchor-has-content.
accessibleDirectives option to both heading-has-content and anchor-has-content.Fix iframe-has-title such that if the attribute is ommitted completely that it fires correctly.
iframe-has-title such that if the attribute is ommitted completely that it fires correctly.form-control-has-label to ignore form controls nested inside aria-hidden elements.Fix up the extra quote at the end of the doc links.
For the heading-has-content and the anchor-has-content rules, add an accessibleChildren option that always marks certain children as being accessible.
heading-has-content and the anchor-has-content rules, add an accessibleChildren option that always marks certain children as being accessible.role-has-required-aria-props and non string literal value for kind attribute in media-has-caption.When you pass a conditional expression into an :is, then getElementType would not be able to handle it. It doesn't truly handle it now, as it just end
:is, then getElementType would not be able to handle it. It doesn't truly handle it now, as it just ends up returning null for the value of the :is expression, but at least now it doesn't break.Ensure all rules that allow configuring extra components that should match certain conditions support both forms of casing (VFoo and v-foo).
VFoo and v-foo).anchor-has-content rule, we're now going to allow images with an alt tag as the screen reader should pick that up as the content.The controlComponents option for the label-has-for rule, which allows you to configure the rule to allow additional control components.
controlComponents option for the label-has-for rule, which allows you to configure the rule to allow additional control components.When emojis are hidden from the a11y tree, don't warn with the accessible-emoji rule.
accessible-emoji rule.For the anchor-has-content rule, allow anchors with explicit aria labels to pass.
anchor-has-content rule, allow anchors with explicit aria labels to pass.label-has-for rule when validating that there is correct nesting, ensure that we're actually checking for form controls and not just checking for VElement nodes.Bump the dependency on aria-query to 4.2.2.
aria-query to 4.2.2.Support deeply nested input controls for the form-control-has-label rule.
input controls for the form-control-has-label rule.Support using v-bind to pass an object, as in v-bind:$attrs.
v-bind to pass an object, as in v-bind:$attrs.hasContent check should be assume slots will have content.Fix checking for directives when they don't have any arguments.
aria-props rule when checking custom directives.[unreleased]: https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/compare/v2.4.1...HEAD [2.4.1]: https://github.com/vue-a11y/eslint-plugin-v
Your coding agent can read these notes before it upgrades. Set up the MCP server →