Disallow usage of Element.prototype.blur() (github/no-blur)
February 8, 2023 ยท View on GitHub
๐ผ This rule is enabled in the ๐ browser config.
Do not use element.blur(). Blurring an element causes the focus position to be reset causing accessibility issues when using keyboard or voice navigation. Instead, restore focus by calling element.focus() on a prior element.
Rule Details
๐ Examples of incorrect code for this rule:
menu.addEventListener('close', () => {
input.blur()
})
๐ Examples of correct code for this rule:
menu.addEventListener('open', () => {
const previouslyFocusedElement = document.activeElement
input.focus()
menu.addEventListener('close', () => {
previouslyFocusedElement.focus()
})
})
Version
4.3.2