@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
23 lines (21 loc) • 1.08 kB
JavaScript
import { isEnabled } from "../utils/isEnabled.js";
import { defaultOptions } from "../utils/options/defaultOptions.js";
//#region src/rules/vueAccessibility.ts
function getVueAccessibilityRules(options) {
const { vue } = options.configs;
const { imageComponents: userImageComponents, anchorComponents: userAnchorComponents, accessibleChildComponents: userAccessibleChildComponents } = isEnabled(vue) && isEnabled(vue.accessibility) ? vue.accessibility : defaultOptions.configs.vue.accessibility;
const vueA11yRules = {
"vuejs-accessibility/click-events-have-key-events": "off",
"vuejs-accessibility/mouse-events-have-key-events": "off",
"vuejs-accessibility/no-aria-hidden-on-focusable": "error",
"vuejs-accessibility/no-role-presentation-on-focusable": "error",
"vuejs-accessibility/alt-text": ["error", { img: userImageComponents }],
"vuejs-accessibility/anchor-has-content": ["error", {
components: userAnchorComponents,
accessibleChildren: userAccessibleChildComponents
}]
};
return vueA11yRules;
}
//#endregion
export { getVueAccessibilityRules };