Aller au contenu

noAutofocus

Ce contenu n’est pas encore disponible dans votre langue.

Enforce that autoFocus prop is not used on elements.

Autofocusing elements can cause usability issues for sighted and non-sighted users, alike. But the autofocus attribute should be added to the element the user is expected to interact with immediately upon opening a modal dialog or popover.

<input autoFocus />
code-block.jsx:1:8 lint/a11y/noAutofocus  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the autoFocus attribute.

> 1 │ <input autoFocus />
^^^^^^^^^
2 │

Unsafe fix: Remove the autoFocus attribute.

1 │ <input·autoFocus·/>
----------
<input autoFocus="true" />
code-block.jsx:1:8 lint/a11y/noAutofocus  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the autoFocus attribute.

> 1 │ <input autoFocus=“true” />
^^^^^^^^^^^^^^^^
2 │

Unsafe fix: Remove the autoFocus attribute.

1 │ <input·autoFocus=true·/>
-----------------
<input autoFocus={"false"} />
code-block.jsx:1:8 lint/a11y/noAutofocus  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the autoFocus attribute.

> 1 │ <input autoFocus={“false”} />
^^^^^^^^^^^^^^^^^^^
2 │

Unsafe fix: Remove the autoFocus attribute.

1 │ <input·autoFocus={false}·/>
--------------------
<input autoFocus={undefined} />
code-block.jsx:1:8 lint/a11y/noAutofocus  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the autoFocus attribute.

> 1 │ <input autoFocus={undefined} />
^^^^^^^^^^^^^^^^^^^^^
2 │

Unsafe fix: Remove the autoFocus attribute.

1 │ <input·autoFocus={undefined}·/>
----------------------
<input />
<div />
<button />
// `autoFocus` prop in user created component is valid
<MyComponent autoFocus={true} />
// `autoFocus` prop in element has `popover` attribute is valid
<div popover><input autoFocus /></div>
// `autoFocus` prop in `dialog` is valid
<dialog><input autoFocus /></dialog>
biome.json
{
"linter": {
"rules": {
"a11y": {
"noAutofocus": "error"
}
}
}
}