La pseudo-classe :required
permet de cibler un élément <input>
pour lequel l'attribut required
est activé. Cela permet de mettre en forme les éléments obligatoires pour remplir correctement un formulaire.
/* Cible les éléments <input> qui ont */
/* l'attribut required */
input:required {
border: 1px dashed red;
}
Note : La pseudo-classe :optional
pourra être utilisée pour mettre en forme les champs facultatifs.
Syntaxe
:required
Exemples
CSS
input {
border-width: 3px;
}
input:optional {
border-color: #008000;
}
input:required {
border-color: #800000;
}
HTML
<form>
<label for="url-input">Tapez une URL :</label>
<input type="url" id="url-input">
<br>
<br>
<label for="email-input">Tapez une adresse courriel :</label>
<input type="email" id="email-input" required>
</form>
Résultat
Accessibilité
Si un formulaire (<form>
) contient des champs (<input>
) optionnels, les champs obligatoires doivent être indiqués avec l'attribut input
. Ainsi, les personnes utilisant des outils d'assistance (par exemple un lecteur d'écran) pourront savoir que ces champs ont besoin d'un contenu valide afin de pouvoir envoyer le formulaire.
Les champs obligatoires devraient également être indiqués visuellement et cette indication ne doit pas uniquement être fournie avec une couleur. Généralement, un texte descriptif ou une icône est utilisé.
- Explications des recommendation WCAG 1.4
- Understanding Success Criterion 1.4.3 | W3C Understanding WCAG 2.0
Spécifications
Spécification | État | Commentaires |
---|---|---|
HTML Living Standard La définition de ':required' dans cette spécification. |
Standard évolutif | Aucune modification. |
HTML5 La définition de ':required' dans cette spécification. |
Recommendation | Définition de la sémantique relative à HTML et aux contraintes de validation. |
Selectors Level 4 La définition de ':required' dans cette spécification. |
Version de travail | Aucune modification. |
CSS Basic User Interface Module Level 3 La définition de ':required' dans cette spécification. |
Recommendation | Définition de la pseudo-classe mais pas de la sémantique associée. |
Compatibilité des navigateurs
BCD tables only load in the browser
Pour contribuer à ces données de compatibilité, vous pouvez envoyer une pull request sur ce dépôt: https://github.com/mdn/browser-compat-data.