5568 sujets

Sémantique web et HTML

Bonjour
Dans un de mes blocs sous Drupal, j'ai le code suivant :

<div class="block block-block" id="block-block-6">
<h2 class="title">Sur Excelabo</h2>  <div class="content">
<p>2 120 pages dont
<ul>
   <li>1 327 Questions-Réponses</li>
   <li>574 Classeurs exemples</li>
   <li>87 Pages Excel Pas à Pas</li>
   <li>63 Liens web sur excel</li>
</ul>
</p>
<p>13 481 Lecteurs enregistrés<br />365 Contributeurs</p>
<h6>Depuis décembre 2000 :</h6>
<p>5 617 553 <img height='20' width='20' src='/sites/default/files/image/users.jpg' alt='visites' /> (2941 depuis hier)<br />20 084 020 <img height='16' width='16' src='/sites/default/files/image/pagesvues.png' alt='pages vues' /> (11002 depuis hier)<br />2 553 413 <img height='16' width='16' src='/sites/default/files/image/download.gif' alt='téléchargements' /> (364 depuis hier)</p>
</div></div>


le validateur W3C hurle sur le premier <ul>
Erreur à la colonne 3: document type does not allow element "ul" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag
(Balise imbriquée au mauvais endroit selon la norme utilisée. Veuillez regarder les règles d'imbrication propre à cette balise.)

J'ai beau chercher et lire les aides sur les balises imbriquées, je ne vois pas où est l'erreur. J'ai 18 erreurs de ce type sur ma page ! donc j'aimerais bien comprendre Smiley eek

Merci de votre aide
Modifié par Misange (10 Jan 2010 - 16:40)
L'élément p ne peut recevoir d'éléments de type bloc comme éléments descendants. Autrement dit, il ne peut pas être parent d'un ul. Corrige ton code de façon à obtenir le résultat suivant :
<p>2 120 pages dont</p>
<ul> 
   <li>1 327 Questions-Réponses</li> 
   <li>574 Classeurs exemples</li> 
   <li>87 Pages Excel Pas à Pas</li> 
   <li>63 Liens web sur excel</li> 
</ul>

et ça ira mieux pour le validateur.
Hello,

J'irais plus loin que la correction de l'erreur de validation. Vu le bout de code, je ferais plutôt ça :


<div class="block block-block" id="block-block-6"> 
	<h2 class="title">Sur Excelabo</h2>  
	<ul class="content"> 
		<li>2 120 pages dont :
			<ul> 
			   <li>1 327 Questions-Réponses</li> 
			   <li>574 Classeurs exemples</li> 
			   <li>87 Pages Excel Pas à Pas</li> 
			   <li>63 Liens web sur excel</li> 
			</ul>
		</li>
		<li>13 481 Lecteurs enregistrés dont :
			<ul>
				<li>365 Contributeurs</li>
			</ul>
		</li>
		<li>Depuis décembre 2000 :
			<ul>
				<li>5 617 553 <img height='20' width='20' src='/sites/default/files/image/users.jpg' alt='visites' /> (2941 depuis hier)</li>
				<li>20 084 020 <img height='16' width='16' src='/sites/default/files/image/pagesvues.png' alt='pages vues' /> (11002 depuis hier)</li>
				<li>2 553 413 <img height='16' width='16' src='/sites/default/files/image/download.gif' alt='téléchargements' /> (364 depuis hier)</li>
			</ul>
		</li>
	</ul>
</div>


Ce qui me semble plus correct en termes de sémantique, non ? (Evidemment, ça c'est sans avoir vu le reste de la page, ni le rendu désiré)...
Merci de ta réponse, le validateur se tait sur ce coup là.
Je vais revenir avec d'autres questions car tout ne passe pas encore Smiley confus
Misange
Pour Mistik
Oui je suis dac que le <p> </p> est en trop !
le problème c'est qu'il est mis par drupal dans la gestion des blocs après le titre sans que je comprenne d'où ça vient. C'est possible qu'il y soit venu à cause de fckeditor que j'utilisais même dans les page d'admin à la création du site (ce que j'ai corrigé depuis, justement car FCKeditor ajoute une balise. Mais je n'arrive pas à l'enlever. En tous cas la première solution proposée résoud le problème. J'en ai encore d'autres du même genre à corriger. J'y retourne !