:required

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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.

css
/* 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

Error: could not find syntax for this item

Exemples

CSS

css
input {
  border-width: 3px;
}
input:optional {
  border-color: #008000;
}
input:required {
  border-color: #800000;
}

HTML

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

Specification
HTML Standard
# selector-required
Selectors Level 4
# opt-pseudos

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi