5568 sujets

Sémantique web et HTML

Salut,

Je suis en train de refaire mon site (quatrième fois depuis presque un an).
Ces derniers temps, en développant différents sites, j'ai adopté une utilisation un peu particulière des balises <hn> en utilisant un maximum l'héritage des classes. Je souhaiterai avoir un avis objectif sur le sujet, savoir si je peux conforter cette position ou si c'est une mauvaise idée.

En effet, je réserve généralement les balises <h1> et <h2> au titre et sous titre du site, et ma hiérarchisation du contenu commence donc par <h3>

Il arrive que je structure le menu par le biais de balises <h3> pour un menu à simple niveau, juste pour identifier clairement quelques rubriques.
En parallèle, mon contenu possède en général au moins deux niveaux degrés de titrages, pour lesquels j'utiliserai théoriquement <h3> et <h4>.

Seulement, en terme d'importance, les titres <h3> de mon contenu ont bien plus d'importance que les <h3> du menu, qui n'est présent que par la contrainte du média. Ainsi, si j'utilisais une certaine logique, j'opterai donc pour mettres les titres dans mon menu dans des balises <h4> ce qui les relèguerait ainsi un peu dans la hiérarchie de lecture.

Pour ma part, ce choix me perturbe un peu, car en parcourant le code html de façon linéaire css désactivée, et le menu se trouvant presque toujours avant le contenu dans ce code, je rencontre alors une balise <h1>, puis <h2> dans mon header, puis <h4> dans mon menu, et ensuite <h3> et d'autres <h4> dans mon contenu. Je ne trouve pas très rationnel de sauter une hiérarchie de cette manière là. Peut être cela ne dérange que moi, je ne sais pas.

J'ai donc opté pour utiliser des <h3> dans le menu comme dans le contenu, en les différenciant graphiquement, mais uniquement à l'intention des internautes utilisant ou pouvant utiliser le style que je leur propose. Ce qui peut constituer une chose géneante car on ne propose pas exactement la même hiérarchie selon le mode de navigation de l'utilisateur.

Que pensez vous donc qui soit la meilleure solution en prenant en compte ces deux approches ?
Merci par avance de vos réponses éclairées sur le sujet.
Modifié par Mikachu (09 Jan 2007 - 19:03)
A mon avis, le problème est que ton menu et ton contenu ne sont pas clairement identifiés par des balises <hn>.

Tu pourrais peut-être essayer ça :
<h1>Titre</h1>

<h2>Menu</h2>

[...]

<h2>Sous titre (qui devrait décrire le contenu)</h2>

[...] (contenu)
quitte à masquer le titre "Menu" avec les CSS.

Plutôt que de structurer ton menu avec des <hn>, tu peux éventuellement utiliser une liste de définitions :
<h2>Menu</h2>

<dl>
  <dt>Catégorie 1</dt>
  <dd><a href="#">Lien 1</a></dd>
  <dd><a href="#">Lien 2</a></dd>

  <dt>Catégorie 2</dt>
  <dd><a href="#">Lien 1</a></dd>
  <dd><a href="#">Lien 2</a></dd>

  [...]
</dl>
Salut

Tu utilises des titres hn pour ton menu de navigation ? Si c'est bien le cas, je trouve que ce n'est pas très approprié.

Un titre doit en effet apporter une information à propos du contenu qui le suit dans le document. Un lien hypertexte ne rentre pas dans ce cadre, puisqu'il renvoie vers un autre document.

Pour représenter la hiérarchie rubrique/sous-rubrique dans la structure de la page html, les listes imbriquées me semblent suffisamment claires ...
Salut,

Merci de vos réponses.

Oui je ne sais trop pourquoi je m'embête avec des titres, la liste de définition est bien plus pratique en effet. Je n'ai pas le réflexe c'est pour ça.

a écrit :
Un titre doit en effet apporter une information à propos du contenu qui le suit dans le document. Un lien hypertexte ne rentre pas dans ce cadre, puisqu'il renvoie vers un autre document.

Je ne partage pas totalement ton avis sur ce point Sopo, car les liens sont des mots clés qui permettent d'accéder à un contenu, que ce soit en renvoyant vers un autre document ou non. Le fait de regrouper des liens crée en quelque sorte un catégorie de mots clés ayant le même caractère et renvoyant vers un contenu qui correspond à cette catégorie. Un titre ne fait que nommer cette catégorie.
Ceci dit je suis tout à fait d'accord que les liste de définitions sont plus appropriées, ce que je vais utiliser dans mon cas précis. Mais je ne partagerai pas cet avis pour une simple liste ordonnée ou non.

Merci encore de vos avis. Je considère ce port comme résolu, mais si d'autres personnes ont un point de vue sur la question, qu'ils le fasse volontiers malgré tout.
a écrit :
les liens sont des mots clés qui permettent d'accéder à un contenu
D'accord, mais ce ne sont pas des titres pour autant Smiley murf

Les titres doivent indiquer la hiérarchie de ton document. Les liens renvoient vers du contenu, c'est vrai, mais ce contenu n'a rien à voir avec la page actuelle, il n'a absolument pas à intervenir dans sa structure !

En adoptant ton point de vue, on pourrait considérer que tous les liens sont des titres ... Bonjour la structure de page Smiley lol

En ce qui concerne les listes de définition, je ne vois pas en quoi les liens du menu sont plus des définitions que des titres Smiley biggol
a écrit :
En ce qui concerne les listes de définition, je ne vois pas en quoi les liens du menu sont plus des définitions que des titres biggol

Oué en même temps, plus je lis de choses sur les listes de définitions, plus j'ai l'impression que ca sert à rien, vu que tout le monde dit que c'est pas fait pour ceci ou cela...
Le jeu de balise existe, autant s'en servir. Autant si faire un menu à base de titres <hn> et de liste <ul>/<ol> n'est peut être pas logique, autant je ne suis absolument pas d'accord d'avoir tout un menu uniquement dans une liste, titres de rubriques compris !!!

Car j'estime que sémantiquement il doit y avoir une différence entre des titres de rubriques et les lien qu'il regroupe.
Graphiquement c'est facile à faire, mais il faut que ce soit sémantiquement équivalent. La liste de définition me semble malgré tout mieux adaptée. Mais j'attends bien sur les avis sur la question !

En réalité je pense que la seule chose qui ne soit pas adapté avec ce jeu de balise, c'est son nom qui tend à porter tellement confusion que personne n'ose s'en servir !
Modifié par Mikachu (27 Oct 2006 - 17:42)
a écrit :
Car j'estime que sémantiquement il doit y avoir une différence entre des titres de rubriques et les lien qu'il regroupe.
Personnellement, j'estime que les listes imbriquées permettent de représenter la hiérarchie des rubriques/sous-rubriques assez clairement. Dans le cadre d'un menu de navigation, bien sûr. Ce serait différent pour un plan de site, par exemple.

Je ne vois pas ce que les listes de définitions peuvent apporter de plus au niveau sémantique. Je cite 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..
Les listes ne sont peut-être pas destinées au départ à devenir des menus, mais utiliser des listes de définition est un détournement plus franc de la balise Smiley ohwell

Les sous-rubriques ne constituent pas une définition de la rubrique qui les contient ...
Modifié par Sopo (27 Oct 2006 - 17:55)
+1 pour l'utilisation de <hn>, je suis contre les listes de définition dans le cas d'un menu dans la mesure où cleui-ci est organisé en rubriques et sous-rubriques. Exception faite pour le plan de site s'il est très long. Mais un menu n'est pas un plan de site.


Pourquoi pas : h1>titre pricnipal, h2>menu, h3>rubrique1, h3>rubriquw2, h2>sous-titre principal, etc. ?
Salut,

à Mikachu > Perso si j'étais à ta place je commencerais par enlever du titre de la discussion en cours le [résolu].

. Sur ce que je viens de lire il y en a vraiment trop à dire (pour moi il n'y a rien là dedans qui aille, et c'est peu dire).

. Le jeu des <hn> semble bien s'imposer, et c'est heureux, comme le support le plus important de l'organisation des documents html, donc le sujet est très important.

Mais c'est toi qui vois...

PS :
à Sopo >
Sopo a écrit :
Salut
Tu utilises des titres hn pour ton menu de navigation ? Si c'est bien le cas, je trouve que ce n'est pas très approprié.

Un titre doit en effet apporter une information à propos du contenu qui le suit dans le document. Un lien hypertexte ne rentre pas dans ce cadre, puisqu'il renvoie vers un autre document.


Il y a erreur je pense là je pense. A aucun moment il n'a été dit que chaque item du menu devait lui même être un <hn>. Il ne s'agissait si j'ai bien compris que d'ouvrir la section du document comprenant le menu par un <hn> de niveau ad hoc.
Modifié par clb56 (27 Oct 2006 - 21:22)
a écrit :
Il y a erreur je pense là je pense. A aucun moment il n'a été dit que chaque item du menu devait lui même être un <hn>. Il ne s'agissait si j'ai bien compris que d'ouvrir la section du document comprenant le menu par un <hn> de niveau ad hoc.
D'après ce que moi j'ai compris, certains liens du menu, menant vers les niveaux supérieurs de l'arborescence du site, sont eux-même placés dans des balises de titre.

Mikachu ?
Salut,

Encore merci de vos réponses.

Je t'ai écouté l'artichaut, et j'ai supprimé le [résolu]. Je l'avais mis car je ne pensais pas que cela suscite plus de commentaires que cela, mais je me rends compte que c'était une erreur. Relançons le débat alors !

a écrit :
Il y a erreur je pense là je pense. A aucun moment il n'a été dit que chaque item du menu devait lui même être un <hn>. Il ne s'agissait si j'ai bien compris que d'ouvrir la section du document comprenant le menu par un <hn> de niveau ad hoc.

D'après ce que moi j'ai compris, certains liens du menu, menant vers les niveaux supérieurs de l'arborescence du site, sont eux-même placés dans des balises de titre.

C'est en effet Clb56 qui a raison Sopo, je me suis peut être mal exprimé dans mon premier post, mais il n'est pas évident d'expliquer le problème non plus.

Pour expliquer le cas que j'exprimais, je vais vous donner l'exemple concrêt sur l'ancienne version de mon site encore en ligne à son adresse standard : http://mikachudesign.free.fr/site/plq.php

En réalité, sans avoir revérifié mon code avant de poster ce message, je me rends compte que le choix n'est pas clair dans ma tête, car j'avais en effet adopté celui que je trouve moins logique à mes yeux aujourd'hui. Comme quoi cette question m'interroge vraiment !

Donc en réalité j'ai opté pour reléguer les titres de mes rubriques à des <h4> et non des <h3>, mais en parcourant le code de manière linéaire, vous verrez si vous le faites, que dans l'ordre, on rencontre <h1>, puis <h2>, puis <h4>, puis <h3>. Ce que je trouve peu logique dans un sens de respect de la hiérarchie de ces balises.

Donc visiblement, vous semblez plus porté vers le <hn> plutôt que la liste de définition.
Donc à la vue de ce point de vue, dites moi ce qui vous semble le plus logique par rapport des deux points de vues exprimés dans le premier post. Que je peux réexprimer peut être plus clairement, voire par des exemples concrêts si nécessaire, en recodant vite fait un truc pour l'expliquer, si cela n'est pas suffisamment clair.
Si le titre hn ne fait qu'introduire le menu de navigation, alors je m'incline, aucun problème.

Mais j'ai du mal à comprendre dans ce cas ce que sont les "rubriques" que tu places dans les titres <h3> et <h4>. Ce ne sont pas des liens vers le sommaire de ces rubriques ?

Auquel cas, je campe sur mes positions : ce ne sont pas des titres, et je préfère toujours les listes imbriquées Smiley cligne
Non je n'utilise aucun lien dans ces <hn>, ils sont juste là pour identifier la catégorie des liens qui sont à la suite.
a écrit :

Non je n'utilise aucun lien dans ces <hn>, ils sont juste là pour identifier la catégorie des liens qui sont à la suite.

Je confirme ma position alors : titres <hn>
Bonsoir,

Je copie/colle le morceau de la réponse de Clb56 faites dans
ce post

a écrit :

Les titres annonçant les menus avec titres sont des <h4> mais ne sont précédés par aucun <h3>
>


Donc pour repréciser le problème :

Oui en effet, la première occurence d'une balise <h3> n'est présente qu'après la première occurence de la balise <h4>.

Pourquoi ?

Je considère en effet que si on attribue des degrés dans ces balises, c'est bien qu'on leur attribue une certaine hiérarchie.
ainsi, dans ma logique :

a écrit :
<h1>Titre principal (en l'absence d'une balise <title> intra <body> je ne conçoit d'utiliser <h1> que de façon unique, choix personnel Smiley cligne )
<h2>Titre(s) secondaire(s)
<h3>Titre(s) de grande importance
<h4>Titre(s) de moyenne importance
<h5>Titre(s) de faible importance
<h6>Titre de structuration sans importance particulière


Dans le contenu total de ma page, dont le menu fait partie (et je reprécise à défaut, car un menu n'est présent dans un cite qu'en raison du média utilisé !, les titres des rubriques du menu sont importantes de façon relative par rapport à ce menu, pour les hiérarchiser.
Cependant, ils ne sont pas aussi importants que les les titres principaux intégrés au contenu lui même (qui est quand même l'information destinée à être transmise).

J'ai ainsi donc délibérément choisi d'utiliser ces titres en fonction de la hiérarchie précisée plus haut. Le fait que le menu se trouve avant dans un site (de par le flux) m'oblige en effet à déroger à "l'ordre" de ces balises dans la linéarité du code html.

Maintenant, je pourrais remplacer les balises <h4> du menu par des balises <h3>, et le problème serait réglé. Seulement, j'aurais des balises <hn> de degré identique, qui contiendraient des informations de dégrés d'importances différents. Et c'est en cela que ca me choque de respecter l'ordre linéaire de l'utilisation de ces balises, au lieu de les utiliser pour leur degré d'importance.

Je relance donc le débats sur ce sujet, en espérant que cette fois ci vous répondrez à l'interrogation principale Smiley cligne

Merci par avance
Bonsoir,

Je me permets de reprendre ce que j'avais dit la dernière fois :
<h1>Titre de la page</h1>

<h2>Titre du menu</h2>

<h3>Titre de la première rubrique du menu</h3>

[...]

<h2>Sous titre (qui devrait décrire le contenu)</h2>

[...]
Salut,

je manque vraiment de disponibilité donc juste une petite remarque que je me fais depuis pas mal de temps.

Considérer les niveaux de titre comme des ordres d'importance est une erreur complête.

Il vaut nettement mieux voir ça sous l'angle niveau de généralité/niveau de détermination. Le plus haut niveau de généralité est <h1> le plus haut niveau de détermination est le <hn> auquel on s'arrête.

Tout celà fonctionne comme un arbre logique. Racine et arborescence. Passer de <hn> à <hn+2> est de ce point de vue une solution de continuité.