:focus
La pseudo-classe :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).
/* Cible n'importe quel élément <input> */
/* uniquement lorsqu'il a le focus */
input:focus {
color: red;
}
Cette pseudo-classe ne s'applique qu'aux éléments avec le focus, elle ne s'applique pas à ses parents (comme :checked
, :enabled
mais pas comme :active
ou :hover
).
Syntaxe
Exemples
CSS
.prenom:focus {
background: yellow;
color: red;
}
.nom:focus {
background: yellow;
color: lime;
}
HTML
<input class="prenom" value="Rouge si focus">
<input class="nom" value="Vert si focus">
Résultat
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 nécessite un contraste minimum de 3 à 1.
- Indicateurs visuels de focus accessibles : Conseils sur la conception d'indicateurs utiles et utilisables (en anglais)
: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 :
Spécifications
Spécification | État | Commentaires |
---|---|---|
HTML Living Standard La définition de ':focus' dans cette spécification. |
Standard évolutif | Définition de la sémantique relative à HTML. |
Selectors Level 4 La définition de ':focus' dans cette spécification. |
Version de travail | Aucune modification. |
Selectors Level 3 La définition de ':focus' dans cette spécification. |
Recommendation | Aucune modification. |
CSS Level 2 (Revision 1) La définition de ':focus' dans cette spécification. |
Recommendation | Définition initiale. |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
:focus-visible
Experimental:focus-within