5568 sujets

Sémantique web et HTML

Bonjour

J'ai quelques questions concernant les formulaires.

dans le cas de groupes checkbox, comment doit-on mettre les labels ?

j'en ai mis un pour chaque checkbox :


<input class="checkbox" name="nom" type="checkbox" value="1" id="qf_d7a680" /><label for="qf_d7a680">mon label</label>


là pas de problème. Mais si je veux mettre un label pour un groupe de checkbox, que dois-je mettre dans le paramètre for



question 2 :

j'ai un select et je voudrais avoir une option vide. mais si je mets

<option value="0"></option>


j'ai un avertissement (donné par Tidy) qui dit : "Warning: trimming empty <option>
"


Merci d'avance
Bonjour,

En ce qui concerne ta question 1, j'aurais tendance à dire qu'il faut mettre un label par checkbox et non pas par groupe de checkobx. Car il s'agit d'éclairer l'utilisateur sur le choix d'une option, et donc chaque chekcbox ayant une valeur qui lui est propre nécessite une explication spécifique.

Pour ce qui est de ta question 2, pourquoi veux-tu insérer une option vide ? Smiley rolleyes
Tu as la possibilité d'écrire cela comme ça :
<option value="0">&nbsp;</option>
mais je doute que ce soit très correct d'un point de vue contextuel Smiley sweatdrop
Modifié par Cygnus (15 Nov 2006 - 09:50)
Salut,

Pour l'option "vide" pourquoi ne pas marquer tout simplement "aucune sélection" ? Ca serait plus explicite.
Exemple en ce qui concerne la question 1 :

dans la fonction de recherche de ce forum on a une option "Rechercher dans" avec deux choix possibles (radio) : "Titres de sujets" "Contenu des messages"

Dans ce cas là, ces deux descriptions s'appliquent à leur bouton radio respectif.
Mais dans quoi devrais-je mettre le texte "Rechercher dans" ? Dans un label sans paramètre for ?

question 2

Je vérifie le contenu de ce champ (sélection obligatoire). Si j'ai une option qui est déjà sélectionnée, je n'ai pas la possibilité de savoir si l'option est sélectionnée parce qu'elle l'est par défaut ou parce que l'utilisateur l'a voulu.

Ta solution me convient Cygnus.
En fait j'avais mal compris l'erreur, ce n'est pas le contenu de value qui doit être rempli, mais ce qui est entre les balise. J'ai donc fait :


<option value="">-</option>

Modifié par JuTs (15 Nov 2006 - 10:19)
JuTs a écrit :
là pas de problème. Mais si je veux mettre un label pour un groupe de checkbox, que dois-je mettre dans le paramètre for

Pour un groupe de checkbosque, ou même un groupe de contrôle de manière générale, on utilisera plutôt un fieldset avec un legend :
<fieldset>
  <legend>Choisissez un truc</legend>
  <input type="checkbox"
   ...
</fieldset>
JuTs a écrit :
j'ai un avertissement (donné par Tidy) qui dit : "Warning: trimming empty <option>

C'est un warning, pas une erreur. C'est tidy qui est chiant sur les balises avec rien dedans, mais ça ne pose strictement aucun problème. Tu peux laisser <option></option>... Il ne faut pas à tout prix vouloir enlever tous les warnings.
FlorentG a écrit :
C'est un warning, pas une erreur. C'est tidy qui est chiant sur les balises avec rien dedans, mais ça ne pose strictement aucun problème. Tu peux laisser <option></option>... Il ne faut pas à tout prix vouloir enlever tous les warnings.
Pour ma part, je ne trouve pas que Tidy soit chiant de ce point de vue là.

En général, ce warning correspond bien à un problème dans la structure de la page.
FlorentG a écrit :

Pour un groupe de checkbosque, ou même un groupe de contrôle de manière générale, on utilisera plutôt un fieldset avec un legend :
<fieldset>
  <legend>Choisissez un truc</legend>
  <input type="checkbox"
   ...
</fieldset>


Ok.
En fait dans certains cas pour séparer mes formulaires en sections j'utilisais des h2. J'ai fait le nécessaire pour utiliser des fieldset. Mais j'aimerais bien garder la même présentation. J'y suis presque parvenu (voir l'image ci-dessous) Le premier titre "Equipe" c'est un h2 que j'ai placé là pour comparer avec le fieldset (en dessous). Est-ce qu'il est possible d'avoir une bordure continue en haut du fieldset ?


upload/1386-Capture.png

mon CSS :


fieldset {
	margin:0;
	padding:0;
	border:0;
	border-top: 1px solid #6A9ACC;
}
 
fieldset legend {
	font-size: 1.5em;
	font-weight: bold;
	color: #6A9ACC;
	margin-bottom: 25px; 
}

Modifié par JuTs (15 Nov 2006 - 11:38)
Eldebaran a écrit :
Pour ma part, je ne trouve pas que Tidy soit chiant de ce point de vue là.

En général, ce warning correspond bien à un problème dans la structure de la page.


Un warning est une invitation à vérifier un point bien précis dans un contexte donné et ne correspond pas forcément à une erreur de "structure de la page".
C'est simplement un ou des points de vérification qui ne sont pas automatisables et donc où la vigilance du concepteur est tout particulièrement requise.
Igor a écrit :
Un warning est une invitation à vérifier un point bien précis dans un contexte donné et ne correspond pas forcément à une erreur de "structure de la page".
C'est simplement un ou des points de vérification qui ne sont pas automatisables et donc où la vigilance du concepteur est tout particulièrement requise.
Tu noteras que j'ai précisé "en général", donc je suis bien d'accord avec toi sur le fait que ça ne correspond pas forcément à une erreur (ou plutôt problème, comme je l'avais dit, ce qui est assez différent) de structure.

Ceci dit, les éléments vides (en dehors de ceux qui sont EMPTY dans la spec HTML, évidemment...) correspondent la plupart du temps à des éléments ajoutés dans la page dans un but de présentation (par exemple des div vides pour ajouter des images). C'est pourquoi je ne suis pas d'accord avec FlorentG quand il dit que Tidy est chiant avec ça.
Modifié par Eldebaran (15 Nov 2006 - 16:33)
Eldebaran a écrit :
Tu noteras que j'ai précisé "en général", donc je suis bien d'accord avec toi sur le fait que ça ne correspond pas forcément à une erreur (ou plutôt problème, comme je l'avais dit, ce qui est assez différent) de structure.

Ceci dit, les éléments vides (en dehors de ceux qui sont EMPTY dans la spec HTML, évidemment...) correspondent la plupart du temps à des éléments ajoutés dans la page dans un but de présentation (par exemple des div vides pour ajouter des images). C'est pourquoi je ne suis pas d'accord avec FlorentG quand il dit que Tidy est chiant avec ça.


C'est juste une précision Smiley cligne , et je suis d'accord avec toi, Tidy n'est pas chiant, il est souvent mal compris Smiley cligne
Igor a écrit :
C'est juste une précision Smiley cligne , et je suis d'accord avec toi, Tidy n'est pas chiant, il est souvent mal compris Smiley cligne
Oui, désolé, j'ai un peu démarré sur les chapeaux de roues. Smiley smile

Par contre, ce que je ne comprends pas, c'est pourquoi Tidy (ou en tout cas l'extension Html Validator de Firefox) signale parfois seulement des warnings là où il y a en fait des erreurs.

<edit>Je n'ai rien dit, les warnings sont en fait les problèmes que Tidy peut tenter de réparer automatiquement (* s'éclipse discrètement *)</edit>
Modifié par Eldebaran (15 Nov 2006 - 17:04)
JuTs a écrit :

Est-ce qu'il est possible d'avoir une bordure continue en haut du fieldset ?



a vu de nez, je te dirais d'essayer un background: transparent sur l'element "legend" ou d'apliquer un margin sur legend pour le pousser un peu vers le haut.
J'ai essayé mais aucun ne fonctionne.
Il n'y aurait pas moyen d'avoir un legend qui occupe toute la largeur du fieldset ? Et dans ce cas là je pourrais mettre une bordure sur le legend