Registry /
testing / eslint-plugin-vuejs-accessibility
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
plugin (default export)
✓ const plugin = require('eslint-plugin-vuejs-accessibility');
// or
import plugin from 'eslint-plugin-vuejs-accessibility';
✗ import { rules } from 'eslint-plugin-vuejs-accessibility';
The default export is the plugin object containing rules and configs. Named exports are not available.
Flat config usage (ESM)
✓ import plugin from 'eslint-plugin-vuejs-accessibility';
export default [
plugin.configs['flat/recommended'],
{
rules: {
'vuejs-accessibility/alt-text': 'error'
}
}
];
✗ module.exports = {
plugins: ['vuejs-accessibility'],
extends: ['plugin:vuejs-accessibility/recommended']
};
Flat config is supported since v2.3.0. Legacy .eslintrc format still works. The config key for flat is 'flat/recommended' or 'flat/all'.
Legacy ESLint config (CJS)
✓ module.exports = {
extends: ['plugin:vuejs-accessibility/recommended'],
rules: {
'vuejs-accessibility/alt-text': 'error'
}
};
✗ extends: ['eslint-plugin-vuejs-accessibility/recommended']
Use the plugin prefix 'plugin:vuejs-accessibility/' in extends, not the full npm package name.
Custom rule configuration
✓ // .eslintrc
{
'vuejs-accessibility/click-events-have-key-events': 'warn'
}
✗ "vuejs-accessibility/click-events-have-key-events": "off"
Rules are prefixed with 'vuejs-accessibility/'. Each rule can have severity and options. Refer to docs for individual rule options.
Shows both flat config (ESLint v9+) and legacy .eslintrc setup for eslint-plugin-vuejs-accessibility v2.5.0.
// Install: npm install --save-dev eslint eslint-plugin-vuejs-accessibility
// Use with Flat config (ESLint v9+, recommended):
// eslint.config.js
import plugin from 'eslint-plugin-vuejs-accessibility';
import globals from 'globals';
export default [
{
languageOptions: {
globals: {
...globals.browser,
...globals.node
}
}
},
plugin.configs['flat/recommended'],
{
rules: {
'vuejs-accessibility/alt-text': ['error', { elements: ['img', 'area', 'input[type="image"]'] }],
'vuejs-accessibility/click-events-have-key-events': 'warn'
}
}
];
// For .eslintrc (legacy, ESLint v8):
// .eslintrc.js
module.exports = {
extends: ['plugin:vuejs-accessibility/recommended'],
rules: {
'vuejs-accessibility/alt-text': 'error'
}
};
Errors
Common errors & fixes
ESLint couldn't find the plugin "eslint-plugin-vuejs-accessibility".
Missing or incorrect installation of the plugin package.
fixRun `npm install --save-dev eslint-plugin-vuejs-accessibility` (or yarn equivalent). Ensure the package is in your devDependencies.
Definition for rule 'vuejs-accessibility/alt-text' was not found.
The rule prefix is missing or plugin not loaded correctly. Common mistake: using 'alt-text' instead of 'vuejs-accessibility/alt-text'.
fixPrefix rule names with 'vuejs-accessibility/'. Example: 'vuejs-accessibility/alt-text': 'error'.
Invalid plugin object, expected a plugin with a 'rules' property.
Using the wrong import style, e.g., `import { rules } from 'eslint-plugin-vuejs-accessibility'` instead of default import.
fixImport the plugin as default: `import plugin from 'eslint-plugin-vuejs-accessibility';`.
Prop `title` is missing from template, but rule `vuejs-accessibility/alt-text` is enabled.
The rule flags missing alt text on images; sometimes users misunderstand it expects a `title` prop instead of `alt`.
fixAdd an `alt` attribute to your <img> elements: `<img src="..." alt="description">`.
Cannot find module 'globals'
Missing peer dependency 'globals' required since v2.4.2.
fixInstall `globals` as a dev dependency: `npm install --save-dev globals`.
Audit
Dependencies
eslintrequiredPeer dependency - ESLint core required to run the plugin
globalsrequiredPeer dependency - provides global variable definitions for linting