<fieldset>
Un groupe de champs de formulaire liés, avec un cadre et une légende `<legend>`.
- Affichage
- block
- Balise fermante
- Obligatoire
- Contenu autorisé
- Un
<legend>facultatif comme premier élément, puis du contenu de flux
Exemple
#<form>
<fieldset>
<legend>Niveau</legend>
<div><label><input type="radio" name="level" value="beginner" checked> Je commence de zéro</label></div>
<div><label><input type="radio" name="level" value="basics"> Je connais les bases du HTML</label></div>
<div><label><input type="radio" name="level" value="advanced"> J’écris déjà du JavaScript</label></div>
</fieldset>
</form>Définition et utilisation
#L’élément <fieldset> réunit plusieurs champs liés en un seul groupe, par exemple « Coordonnées » ou « Adresse de livraison ». Par défaut, le navigateur dessine un cadre autour du groupe et affiche le premier élément <legend> sur son bord supérieur, comme une légende.
Le groupe compte beaucoup pour l’accessibilité avec les boutons radio et les cases à cocher. Une question comme « Niveau » écrite dans <legend> sera annoncée par un lecteur d’écran à l’entrée dans le groupe, pour que les réponses « Débutant » et « Avancé » ne restent pas en l’air.
L’attribut disabled sur <fieldset> désactive en une fois tous les champs du groupe (sauf ceux de son premier <legend>). C’est un moyen pratique de verrouiller une partie du formulaire jusqu’à ce que l’utilisateur sélectionne l’option requise.
Syntaxe
#<fieldset>
<legend>Nom du groupe</legend>
…
</fieldset>Attributs
#attribut booléen
Désactive tous les champs du groupe en même temps. Leurs valeurs ne seront pas envoyées.name
texte
Le nom du groupe, utile en JavaScript, par exempleform.elements.nom.<fieldset>lui-même n’envoie aucune valeur.
L’élément accepte aussi tous les attributs globaux, comme class, id, style ou hidden.
Attributs en pratique
#disabled
attribut booléenDésactive tous les champs du groupe en même temps. Leurs valeurs ne seront pas envoyées.
<fieldset disabled>
<legend>Informations de facturation</legend>
<p><label>SIRET <input type="text" name="siret"></label></p>
<p><label>Nom de l’entreprise <input type="text" name="company"></label></p>
</fieldset>CSS par défaut
#La plupart des navigateurs affichent cet élément avec ces styles par défaut :
fieldset {
display: block;
margin-inline: 2px;
border: 2px groove ThreeDFace;
padding-block: 0.35em 0.625em;
padding-inline: 0.75em;
min-inline-size: min-content;
}Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Le
min-inline-size: min-contentpar défaut fait que<fieldset>refuse de se rétrécir, par exemple dans une grille sur téléphone.min-inline-size: 0permet de corriger cela. - Vous supprimez le cadre avec
border: 0, mais conservez le groupe et le<legend>eux-mêmes. La sémantique fonctionne indépendamment de l’apparence. - N’enveloppez pas un champ unique dans
<fieldset>. Un groupe a du sens pour plusieurs champs liés entre eux.
Entrées associées
#- <legend>La légende d’un groupe de champs `<fieldset>`, affichée sur son cadre.
- <form>Un formulaire qui collecte des données auprès de l’utilisateur et les envoie à une adresse donnée.
- <input>Un champ de formulaire : texte, e-mail, mot de passe, nombre, date, curseur, case à cocher, fichier et bien plus encore.
- <label>L’étiquette d’un champ de formulaire. Cliquer sur l’étiquette déplace le curseur vers le champ.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.