5568 sujets

Sémantique web et HTML

Bonjour,

j'ai ce code si dessous qui ne passe pas au validateur

...
<dt>
<h2><a href="#">Menu 1</a></h2>
</dt>

<dd>
	<ul>
	<li><h3><a href="#">SM1 Item 1</a></h3></li>
        <li><h3><a href="#">SM1 Item 2</a></h3></li>
	</ul>
</dd>
etc...


Le validateur ne semble pas aimer la suite de balise dt et h2 ?
J'ai essayer toute les solutions pour posstionner mon h2 (a l'exterieur du dt, a l'interieur du a etc...) mais ça passe jamais ?
Vous avez une idée vous ?

Ce que je pige pas c'est que mon h3 passe bien alors qui est placé de la même manière
Modifié par deloo (08 Feb 2007 - 15:36)
Salut.

Les éléments <DT> ne peuvent contenir qu'un contenu de type en ligne (comme les éléments <P>, par exemple). Comme <H2> est de type bloc, tu ne peux pas le placer là.

Par contre, les éléments <DD> ont un contenu de type block, et acceptent donc les <H3>.

Dans la spécification :
a écrit :
Les listes de définitions varient seulement de manière minime par rapport aux autres types de liste dans la mesure où les items de liste consistent en deux parties : un terme et une description. Le terme est donné par l'élément DT et se restreint à un contenu de type en-ligne. La description est donnée par un élément DD qui porte un contenu de type bloc.

Modifié par Thomas D. (08 Feb 2007 - 15:42)
un grand merci Thomas D, je me doutais d'un truc comme ça...

mais bon je suis pas dans la merde maintenant... Smiley decu
Salut,
deloo a écrit :
mais bon je suis pas dans la merde maintenant... Smiley decu
Question bête : pourquoi ?

Par ailleurs, as-tu conscience que ton menu n'est pas du tout opérationnel sans JavaScript ?