5568 sujets

Sémantique web et HTML

Pages :
(reprise du message précédent)

Merci, Laurent, pour cette réponse et pardon si ma première intervention manquait de précisions.

A ce stade de la discussion, je peux donc proposer le code suivant:

<div>
	<h3>Les trois dernières News</h3>
		<h4>Titre News1</h4>
		<img src="" alt="" />
		<p>Début du texte News1</p>
		<a href="urlNews1" title="Lire la suite de l'article: Titre News1">Lire la suite</a>
		<h4>Titre News2</h4>
		<img src="" alt="" />
		<p>Début du texte News2</p>
		<a href="urlNews2" title="Lire la suite de l'article: Titre News2">Lire la suite</a>
		<h4>Titre News1</h4>
		<img hrel="" alt="" />
		<p>Début du texte News3</p>
		<a href="urlNews3" title="Lire la suite de l'article: Titre News3">Lire la suite</a>
</div>


Toutefois, à des fin de mise en page CSS, je rajouterais quelque Div et Span. (Je ne me trompe pas en prétendant que ces div et span ne sont pas obligatoires ?)

<div>
	<h3><span>Les trois dernières News</span></h3>
		<div>
			<h4><span>Titre News1</span></h4>
			<img src="" alt="" />
			<p>Début du texte News1</p>
			<a href="urlNews1" title="Lire la suite de l'article: Titre News1">Lire la suite</a>
		</div>
		<div>
			<h4><span>Titre News2</span></h4>
			<img src="" alt="" />
			<p>Début du texte News2</p>
			<a href="urlNews2" title="Lire la suite de l'article: Titre News2">Lire la suite</a>
		</div>
		<div>
			<h4><span>Titre News1</span></h4>
			<img hrel="" alt="" />
			<p>Début du texte News3</p>
			<a href="urlNews3" title="Lire la suite de l'article: Titre News3">Lire la suite</a>
		</div>
</div>


Il me reste encore une interrogation: Quel numéros de Hn dois-je utilisé ?
La visualisation de la structure des pages avec l'extension document map semble me prouver que je fais actuellement fausse route. (merci clb56)
Il est évident que les titreNews doivent être un rang inférieur au titre "les 3 dernières news" mais qu'en est-il par rapport au reste de la page ?
celle-ci se compose d'une zone réellement informative (avec un h1, des h2, des p...) et d'une zone de diverses mises en avant de certaines sections du site telles que "les 3 dernières news".
J'ai donc mis un h3 à ces titre là car il sont de moindres importance par rapport au réel contenu informatif de la page. Mon but était de mettre le contenu informatif plus en avant (notamment pour les moteurs de recherche).

<div>
	<h1>Titre principal de la page</h1>
		<h2></h2>
		<p></p>
		<h2></h2>
		<p></p>
</div>
<div>
	<h3>3 News</h3>
		<h4></h4>
		<p></p>
	<h3>Autre promo</h3>
		<h4></h4>
		<p></p>
</div>

Mais ce jour semble propice au remise en question, et je me dis que la zone de promo devrait-être dotée d'un titre h1 du style "A voir sur ce site" (quitte à le rendre invisible via le CSS). "Les 3 dernières news" correspondrait donc à un h2.

Ainsi il est p.e. préférable d'écrire

<div>
	<h1>Titre principal de la page</h1>
		<h2></h2>
		<p></p>
		<h2></h2>
		<p></p>
</div>
<div>
	<h1>A voir sur ce site</h1>
	<h2>3 News</h2>
		<h3></h3>
		<p></p>
	<h2>Autre promo</h2>
		<h3></h3>
		<p></p>
</div>


Qu'en pensez-vous ?
Modifié par Mathieu_vd (20 Aug 2006 - 11:08)
Les titres <hn> sont purements mécaniques: ce qui rentre au premier niveau dans le résumé fourni par un titre <h1> a un titre <h2>, puis au second niveau <h3>, etc.

Mais tout ceci est plus généralement faussé par un détail souvent oublié: la notion de "site" n'a pas d'existence dans la structure HTML. Le titrage ne se rapporte qu'au document pris isolément.

L'important, partant de là, est d'obtenir une structure hiérarchisée. Le niveau de titrage de "A voir sur ce site" est un détail sans importance.
C'est sans doute à cause d'une mauvaise nuit de sommeil mais je ne suis pas certain de bien comprendre ta dernière intervention.

Je pense que tu veux dire que ce qui importe, c'est la hiérarchie des titre dans les différentes zone de la page.

Le niveau entre le titre "Contenu principal de la page" et "A voir sur ce site" n'aurait donc pas d'importance puisqu'il s'agit de deux zones distinctes.

J'espère avoir bien compris... Smiley confused
et pourquoi ne pas passer par des balises de définition ?
tu définis un article par un titre et un court extrait ...


<dl>
     <dt>titre de l'article</dt>
     <dd>Définition de l'article : <h5>...</h5> <p>...</p></dd>
</dl>


avec un petit relooking ... Smiley murf
Malcolm a écrit :
et pourquoi ne pas passer par des balises de définition ?
tu définis un article par un titre et un court extrait ...


<dl>
     <dt>titre de l'article</dt>
     <dd>Définition de l'article : <h5>...</h5> <p>...</p></dd>
</dl>


avec un petit relooking ... Smiley murf


Utilisé une balise inline <dt> en espérant qu'elle puisse avoir valeur de titre est sans doute un peu présomptueux.

Si comme tu l'indiques "titre de l'article" est bien un titre alors la balise adéquate pour le décrire est bien <hn>

<edit>
en fait (et finalement Smiley rolleyes ) la clé de la compréhension des listes de définitions c'est bien cela : <dt> est de type inline... Ce point est lourd de signification et de conséquence.
</edit>
Modifié par clb56 (21 Aug 2006 - 12:27)
oui, puisque comme précisé dans pompage, dt ne peut pascontenir des éléments de type block (donc pas de hn)

mais sémantiquement, ça peut se défendre...
Après, c'est une Q? d'objectif : l'objectif est-il la sémantique et la qualité de code source, ou le référencement et l'abus à outrance de hn ?

l'un et l'autre ne font pas bon ménage...
Devant ce type de question un peu oiseuse, l'accessibilité est généralement une clé pertinente (puisqu'elle ne préjuge pas de la nature de l'utilisateur pour lequel le contenu doit être accessible: internaute, robot d'indexation de moteur de recherche, frigidaire intelligent, autre...).

Et du point de vue de l'accessibilité, le titrage peut être justifié. La liste définition n'est pas justifiable.
Ce n'est pas parce que certains commettent la faute de n'utiliser les <hn> que dans une perspective de référencement qu'il faut commettre l'erreur de penser que cette balise ne servirait qu'a cela.

sinon, dire qu'une balise est inline c'est dire beaucoup plus que le simple fait qu'elle ne peut contenir des éléments block.

Cette particularité est partagée par des balises elles même block, dont les <hn> au passage et cette balise tout à fait impressionnante qu'est <p> qui n'est rien d'autre que cela : un type block ne pouvant en contenir d'autres, l'arrêt obligatoire des possibilités d'imbrications.
En effet, mais il cherche un compromis entre sémantique et référencement ... (cf. son premier post). Les hn servent à structurer un document, je suis on ne peut plus d'accord, mais arrivé à h5/h6, sémantiquement parlant, on n'est plus dans un haut de page avec titre principal...

Effectivement le h5 dans un dd perd de sa pondération, mais cela permet thrs de distinguer, dans la définition, le titre de son paragraphe ... Et là, l'esprit sémantique est plutôt respecté, non ...?
Quand on arrive à <h5>, <h6> on arrive à des balises qui existent et on peut donc espérer que ce n'est pas pour rien.

Si cela se généralise alors la question peut sans doute se poser d'un document trop complexe.

Mais on se retrouve au point de départ, si un document à une structure très (trop) complexe alors il a d'autant plus besoin d'un balisage optimisant sa consultation. Et ce balisage, c'est bien le jeu des <hn>.
Modifié par clb56 (21 Aug 2006 - 13:05)
Bonjour,

D'abord, merci de continuer le débat.

@Malcolm
Une liste de définition ne me semble pas appropriée dans ce cas-ci.
De plus, après correction les hn sont de niveau 2 et 3.

Mais merci pour le lien. ca fesait un bout de temps que je voulais me faire un avis plus précis sur l'usage des listes de définition.

Est-ce que quelqu'un a encore une remarque sur la dernière version de mon code ?
Modifié par Mathieu_vd (21 Aug 2006 - 13:14)
Pages :