5568 sujets

Sémantique web et HTML

Pages :
Bonjour,
Les h# sont des niveaux de titres, mais alors pourquoi ne peut-on pas aller au delàs de h6?
HTML Tidy a écrit :
Error : <h7> is not recognized!

Ma deuxième question : imaginons qu'on a un site avec dans sa bannière un titre (h1) et un slogan (h2), identiques sur toutes les pages. Quel niveau de titre maximal utiliser dans le contenu des pages? H1 ne serait pas logique, mais H3 n'est pas très pratique et pas très logique non plus si on voit la bannière et le contenu comme complètement séparé. Bref je ne sais plus trop bien comment m'en servir Smiley ohwell
Modifié par Whisno (04 Nov 2006 - 20:33)
Salut

La hiérachie des titres devrait être respectée : h1 -> h2 -> h3, etc. Mais il faut aussi prendre en compte l'importance relative des différents éléments pour que la structuration ait un sens.

Le "contenu" de la page incluant aussi la bannière, il est normal qu'elle soit reprise dans les titres. Elle contient en général le nom du site, qui est une sorte de "super-titre" Smiley cligne

En dessous, j'imagine que ton h2 représente un nom de rubrique, ou quelque chose dans ce genre. A toi de voir s'il s'agit réellement d'un titre, ou simplement d'une indication. Mais la hiérarchie du reste de la page devrait repartir de là, amha.

Pourquoi pas plus de 6 niveaux ? Parce qu'il fallait bien s'arrêter quelque part Smiley smile

Plus sérieusement, ce nombre de niveaux est amplement suffisant dans l'immense majorité des cas, vu le contenu relativement restreint d'une page web (comparé à un bouquin papier, par exemple). Il y a un moment où il faut arrêter de structurer, et envoyer le contenu, quand-même Smiley cligne
Administrateur
Whisno a écrit :
Bonjour,
Les h# sont des niveaux de titres, mais alors pourquoi ne peut-on pas aller au delàs de h6?]

Hello et bienvenue,

Il est extrêment rare d'avoir besoin de plus de 6 niveaux de titres.
Cela peut arriver dans des documents de contenus très très complexes, mais dans 99% des cas, 6 niveaux sont amplement suffisants.

La même discussion il y'a quelques temps :
http://forum.alsacreations.com/topic.php?fid=2&tid=1899
Whisno a écrit :
mais H3 n'est pas très pratique et pas très logique non plus si on voit la bannière et le contenu comme complètement séparé.


c'est pas idiot effectivement. Rien ne dit que la bannière doivent être un titre, elle permet simplement de rendre présent dans la page le nom et le logo du site. Un simple <p> peut donc servir de ce point de vue. Sachant que de toute façon le nom du site sera déjà présent dans l'adresse ainsi que dans le <h0> que constitue en quelque sorte le <title> du document.

il y aurait même réel avantage en fait à ce que le <hn> ouvrant la section concernant le contenu spécifique du document en cours soit un <h1>
Modifié par clb56 (02 Nov 2006 - 20:31)
Salut,

A mon humble avis, si tu es obligé d'utiliser 6 niveaux de titres voire plus dans un site, et ce quelle que soit sa complexité, je pense qu'il vaut mieux repenser le site dans son approche, car elle risque d'être trop complexe pour l'utilisateur avec une hiérarchie aussi poussée.
Même sur certains sites de type commerciaux sur évolués, on a assez peu de hiérarchie supérieure au niveau 3 (du moins graphiquement, car j'évite de me faire du mal à la tête avec certains codes en tableaux Smiley biggol )
C'était juste une question théorique ^^, j'étais étonné qu'il y ait une limite.
De toute manière si je me trouve un jour avec la nécessité de faire un h7, je vais dormir et je refait tout ça le lendemain Smiley langue
Whisno a écrit :
De toute manière si je me trouve un jour avec la nécessité de faire un h7, je vais dormir et je refait tout ça le lendemain Smiley langue

Ou tu te fais cryogéniser et t'attends l'XHTML 2.0 et sa balise <h>
Tiens, ça à l'air pratique ça. Je pense que je vais faire comme tu dis.
Modifié par Whisno (03 Nov 2006 - 18:30)
Whisno a écrit :
Tiens, ça à l'air pratique ça. Je pense que je vais faire comme tu dis.

La cryogénisation c'est un peu violent, non ? Smiley lol
Tant pis, c'est peut-être la seule solution pour que je sois encore en vie quand IE supportera entièrement l'XHTML 2.0 Smiley lol
Je vois beaucoup de questions à propos des headings HTML sur le forum.

A propos d'un futur XHTML, il semblerait que déplacer le <title /> du head au body serait un grand soulagement pour tout le monde (ou pourquoi pas supprimer le head tant qu'on y est).

Le titre dans le corps du document et stylisable, OpenOffice.org writer fonctionne ainsi et c'est assez confortable.
pierredureau a écrit :
A propos d'un futur XHTML, il semblerait que déplacer le <title /> du head au body serait un grand soulagement pour tout le monde (ou pourquoi pas supprimer le head tant qu'on y est).

Ou alors que IE puisse gérer correctement un truc du style :
head, title {
  display: block;
}
En effet, ça serait un bon début.

Mais avec cette technique, on est restreint : on ne peut pas placer le titre n'importe où dans le flux.

Pour illustrer, je remplacerai bien le :
<h1><a href="forum.php"><span>Forum Alsacréations : CSS et Standards Web</span></a></h1>

qui est pourtant à la 28eme ligne du code cette page,

par :
<title><a href="forum.php"><span>Forum Alsacréations : CSS et Standards Web</span></a></title>


Ça permettrai de supprimer une redondance d'information dans le code, mais aussi d'éviter les <title /> optimisés pour le référencement.

Je vais fouiller la mailing du w3c pour voir si ça a été proposé.
pierredureau a écrit :
En effet, ça serait un bon début.

Mais avec cette technique, on est restreint : on ne peut pas placer le titre n'importe où dans le flux.

Pour illustrer, je remplacerai bien le :
<h1><a href="forum.php"><span>Forum Alsacréations : CSS et Standards Web</span></a></h1>

qui est pourtant à la 28eme ligne du code cette page,

par :
<title><a href="forum.php"><span>Forum Alsacréations : CSS et Standards Web</span></a></title>


Ça permettrai de supprimer une redondance d'information dans le code, mais aussi d'éviter les <title /> optimisés pour le référencement.

Je vais fouiller la mailing du w3c pour voir si ça a été proposé.


Qu'est-ce qu'un document (web éventuellement) ? Un h1 doit-il reprendre le title d'un document ? Qu'est-ce qui identifie un document, une page ? Un ensemble de pages ? Qu'est-ce qu'un site web ? Le web est-il le cadre unique à retenir pour la représentation d'un document ? Etc.

On pourrait débattre assez finement de pleins de choses Smiley cligne
Je ne comprend pas trop l'avantage de la solution de pierredureau, le title reste difficilement déplaçable.

Le problème des h1 qui reprennent le contenu de title est du à une déficience des navigateurs graphiques : contrairement aux autres, le titre de la page (donc title) est restitué tout en haut de la fenêtre.

Moi j'ai choisi deux techniques : si le titre doit être visible seulement des navigateurs les plus évolué (bye bye IE) alors j'ai cette solution assez efficace :

Le code HTML au lieu d'un h1
<div id="hack-titre">
  <span class="Titre de la page"> </span>
</div>

Le code CSS
#hack-titre span:before{
    content: attr(class);
}

Éventuellement on met le titre du site dans le div quand on veut que IE puisse avoir un petit quelque chose.

Sinon, il faut que ça marche avec IE, on est obligés de faire la redondance, mais personne ne nous oblige d'utiliser un h1 Smiley cligne . Si vraiment on a un gros serveur on peu créer des images pour le besoin ...

PS: J'aurais eu du mal à répondre à Igor je voulais juste intervenir sur comment utiliser les h1
Yom a écrit :
Le code HTML au lieu d'un h1
<div id="hack-titre">
  <span class="Titre de la page"> </span>
</div>

Le code CSS
#hack-titre span:before{
    content: attr(class);
}
Ca me parait un peu tiré par les cheveux. Smiley eek

Tu détournes totalement l'utilisation de l'attribut class, ce qui peut avoir des conséquences fâcheuses si ton titre contient des caractères non permis dans cet attribut, ou si tu as défini des styles sur une classe dont le nom correspond à l'un des mots de ton titre.
Modifié par Eldebaran (06 Nov 2006 - 00:20)
a écrit :
Yom a écrit :
Le code HTML au lieu d'un h1
<div id="hack-titre">
<span class="Titre de la page"> </span>
</div>

Le code CSS
a écrit :
#hack-titre span:before{
content: attr(class);
}


Ca me parait un peu tiré par les cheveux. eek

Oui et on est loin d'une utilisation sémantique du code html !

Enfin débattre sur ce qui se fera un jour quand les choses auront évolué n'aura d'intérêt que le jour ou ce sera le cas.
A l'heure actuelle, le <title> dans le <head> et le <h1> dans le <body> reste la solution la plus simple et la plus pratiquée.
Et vu qu'aucun site ne devrait être supposé utiliser plus de 6 niveaux de titres, l'utilisation de <h1> ne doit pas être dérangeante.
Je conclue mon intervention :

L'idée que j'ai émise précédemment avait déjà été formulée par Daniel Glazman :
a écrit :
1# the head element should not exist any more. It's a useless container for metadata.
2# the body element should not exist any more. It's a useless container for data since we already have the root of the document.

a écrit :
21# the duplication of the title element is a closed issue if the head and body elements are removed (see items 1 and 2 above)

42 reasons why I don't like XHTML 2.0. Now, Karl, happy ?

J'ai de plus le sentiment qu'une telle solution est backward compatible mais je n'ai pas (encore) fait de tests pour pouvoir l'affirmer.
Pages :