no-autofocus
Ast Rule: html element
no-autofocus
const errorMessage = 'The autoFocus prop should not be used, as it can reduce usability and accessibility for users.';
function getProp(attributes = [], prop = "") {
if (!prop) return;
return attributes.find((attribute) => {
if (attribute && attribute.name && attribute.name.value) {
return attribute.name.value === prop;
}
});
}
function visit(node, filename, code) {
// your code here
if (node) {
const autoFocusProp = getProp(node.attributes, "autoFocus");
if (autoFocusProp) {
const error = buildError(
autoFocusProp.start.line,
autoFocusProp.start.col,
autoFocusProp.end.line,
autoFocusProp.end.col,
errorMessage,
"INFO",
"BEST_PRACTICES"
);
const editUpdate = buildEditUpdate(
autoFocusProp.start.line,
autoFocusProp.start.col,
autoFocusProp.end.line,
autoFocusProp.end.col,
``
);
const fix = buildFix("remove `autoFocus`", [
editUpdate,
]);
addError(error.addFix(fix));
}
}
}
test.js
Expected test result: has error
div with auto focus prop