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é.

 

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

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 10Edge Support complet OuiFirefox Support complet 4IE Support complet 10Opera Support complet 10Safari Support complet 5WebView Android Support complet 4.4.3Chrome Android ? Edge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet 10Safari iOS Support complet 5Samsung Internet Android ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, teoli, tregagnon, FredB
Dernière mise à jour par : SphinxKnight,