UNPKG

@html-eslint/eslint-plugin

Version:
56 lines (49 loc) 1.27 kB
/** * @typedef { import("@html-eslint/types").Tag } Tag * @typedef { import("@html-eslint/types").StyleTag } StyleTag * @typedef { import("@html-eslint/types").ScriptTag } ScriptTag * @typedef { import("../types").RuleModule<[]> } RuleModule */ const { RULE_CATEGORY } = require("../constants"); const { findAttr } = require("./utils/node"); const { createVisitors } = require("./utils/visitors"); const MESSAGE_IDS = { UNEXPECTED: "unexpected", }; /** * @type {RuleModule} */ module.exports = { meta: { type: "code", docs: { description: "Disallow to use of accesskey attribute", category: RULE_CATEGORY.ACCESSIBILITY, recommended: false, }, fixable: null, schema: [], messages: { [MESSAGE_IDS.UNEXPECTED]: "Unexpected use of accesskey attribute.", }, }, create(context) { /** * @param {Tag | ScriptTag | StyleTag} node */ function check(node) { const accessKeyAttr = findAttr(node, "accesskey"); if (accessKeyAttr) { context.report({ node: accessKeyAttr, messageId: MESSAGE_IDS.UNEXPECTED, }); } } return createVisitors(context, { Tag: check, ScriptTag: check, StyleTag: check, }); }, };