2008-10-31 7 views
5

Très bien, je sais comment le fieldset/legend fonctionne en HTML. Disons que vous avez un formulaire avec des champs:Jeux de caractères et légendes

<form> 
    <fieldset> 
     <legend>legend</legend> 
     <input name="input1" /> 
    </fieldset> 
</form> 

Que dois-je utiliser le legend pour? Il est affiché comme titre, mais n'est pas une légende sémantiquement une explication du contenu? À mon avis, vous feriez de préférence quelque chose comme ceci:

<form> 
    <fieldset> 
     <legend>* = required</legend> 
     <label for="input1">input 1 *</label><input id="input1" name="input1" /> 
    </fieldset> 
</form> 

Mais cela ne fonctionne pas vraiment avec la façon dont fieldsets sont rendus. Est-ce juste un nom ambigu en HTML, ou est-ce mon incompréhension du mot anglais 'legend'?


Edit: Correction de quelques erreurs ;-)

+0

La balise de fermeture de la légende doit être/legend (c'est/fieldset en ce moment) – FOR

+0

Également l'étiquette "pour" fait référence à un ID - vous devriez avoir Greg

Répondre

1

Je suppose que vous vouliez écrire

<form> 
    <fieldset> 
     <legend>legend</legend> 
     <input name="input1" /> 
    </fieldset> 
</form> 

mais vous avez raison en partie. Le mot légende a plusieurs significations, y compris

  • Une légende explicative accompagnant une illustration.
  • Un tableau explicatif ou la liste des symboles apparaissant sur une carte ou un graphique.

Ainsi, il peut en fait signifier les deux.

1

Lorsque vous dites que la légende "Il est affiché comme un titre" .. clairement, cela dépend du CSS impliqué. Lorsque vous ne spécifiez pas de CSS vous-même, chaque navigateur utilise ses propres styles intégrés, ce qui peut ou peut ne pas être la meilleure chose qui soit. Je suis d'accord qu'une légende est différente d'un titre ... Je ne pense pas nécessairement que la légende est le bon endroit pour quelque chose comme "* = requis" (qui semble juste une mise en garde pour l'utilisateur , pas vraiment une explication du fieldset lui-même). Une légende, après tout, peut être définie comme une légende, ou une brève description accompagnant une illustration (habituellement, autre chose qu'une image dans ce cas).

En ce qui concerne l'affichage, CSS vous donne la possibilité de le faire apparaître (ou non) comme bon vous semble. Pensez à la légende comme titre d'une zone de groupe.

1

Vous l'utilisez pour regrouper des éléments de formulaire similaires.Vous pouvez avoir tous les champs de saisie pour une adresse de livraison dans un ensemble de champs avec une légende de "Adresse de livraison" et l'ensemble de tous les champs de saisie pour une adresse de facturation dans un autre domaine avec une légende de "Adresse de facturation".

Voici un exemple:

Fieldsets in Skiviez Checkout http://piasecki.name/fieldset-legend-example.jpg

Ils peuvent être difficiles à un style via CSS (car Internet Explorer affiche l'arrière-plan de l'fieldset mal Our IE stylesheet a quelques bons exemples, regardez dans la « forme #content. « section.

1

l'élément <legend> est l'équivalent sémantique d'un « fieldset titre titre » ou « » pour le groupe de champs de formulaire contenu par le <fieldset>.

L'élément FIELDSET permet aux auteurs de groupe thématiquement contrôles liés

qui signifie fieldset s devrait regrouper plusieurs contrôles de formulaire - pas seulement une seule paire de <input> et <legend>.

En fait <div> s, <p> s ou <li> s sont tout à fait appropriés pour des récipients <input> + <legend> paires.

Questions connexes