:focus
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since juillet 2015.
La pseudo-classe CSS :focus
permet de cibler un élément lorsque celui-ci reçoit le focus (soit il est sélectionné à l'aide du clavier, soit il est activé avec la souris comme par exemple le champ d'un formulaire).
Exemple interactif
label {
display: block;
margin-top: 1em;
}
input:focus {
background-color: lightblue;
}
select:focus {
background-color: ivory;
}
<form>
<p>Quelle saveur souhaitez-vous commander ?</p>
<label>Nom complet : <input name="firstName" type="text" /></label>
<label
>Saveur :
<select name="flavor">
<option>Cerise</option>
<option>Thé vert</option>
<option>Vanille et beurre salé</option>
<option>Pépites de menthe</option>
</select>
</label>
</form>
Note :
Cette pseudo-classe s'applique uniquement à l'élément ayant le focus lui-même. Utilisez :focus-within
si vous souhaitez sélectionner un élément qui contient un élément ayant le focus.
Syntaxe
:focus {
/* ... */
}
Accessibilité
Il faut s'assurer que l'indicateur visuel de focus puisse être vu par des personnes ayant une vision faible. Cela pourra d'autant plus bénéficier aux personnes qui consultent le document dans un endroit fortement éclairé (dehors au soleil par exemple). La recommandation WCAG 2.1 SC 1.4.11 Non-Text Contrast (angl.) nécessite un contraste minimum de 3 à 1.
- Indicateurs visuels de focus accessibles : Conseils sur la conception d'indicateurs utiles et utilisables (angl.)
:focus { outline: none; }
Il ne faut jamais retirer l'indicateur de focus sans le remplacer par un autre indicateur qui respecte la recommandation WCAG 2.1 SC 1.4.11 Non-Text Contrast (angl.) :
Exemples
>HTML
<input class="prenom" value="Rouge si focus" />
<input class="nom" value="Bleu si focus" />
CSS
.prenom:focus {
background: yellow;
color: red;
}
.nom:focus {
background: yellow;
color: blue;
}
Résultat
Spécifications
Specification |
---|
HTML> # selector-focus> |
Selectors Level 4> # focus-pseudo> |
Compatibilité des navigateurs
Loading…