5568 sujets

Sémantique web et HTML

Pages :
Bonjour !

Toujours en phase d'apprentissage de CSS, j'ai une question "philosophique" concernant certaines balises HTML.

Dès que j'ai entendu parler des balises
<span>
et
<div>
, je me suis dit que c'était là une excellente alternative à toutes les balises existantes !

Mais je me suis laissé dire que lorsque les moteurs de recherche parcouraient un tel site, le référencement pourrait être moins pertinent, puisqu'aucun moteur ne peut comprendre mes classes...

Ca, je le conçois bien avec notamment
<p>, <h1>, <h2>...<h6>
, voire même
<ul>, <ol>
, et
<li>


Mais que pensez-vous de toutes ces balises qui me semblent se situer entre l'incompréhension, l'utilisation malvenue et la désuétude (à mes yeux de débutant), telles que :
<strong>, <blockquote>, <pre>, <dl>, <dt>, <dd>, <acronym>, <abbr>


Je suis très tenté de les zapper complètement... Quelle est votre philosophie ?
Modifié par Frouppy2 (30 Aug 2009 - 10:44)
Ma philosophie est que quand j'achète une voiture, certes j'ai surtout besoin d'un volant, de quatre roues et d'un moteur... cela pourrait suffire.
Mais le pare brise pour éviter les moucherons dans les dents, le siège pour être assis confortablement (plusieurs pour transporter plusieurs personnes à la fois), les rétroviseurs pour éviter le tortocoli aigü, le phares pour voir dans la nuit et avertir l'entourage, etc...

On peut s'en priver, mais vu que ça existe, autant s'en servir. Il m'est avis qu'on peut en faire de même avec les balises html.

La raison essentielle, est de renforcer la sémantique de ton document, en lui donnant du sens par le code. Cela accroît les possibilités de ton site : les éléments en gras, les citations, les abréviations, le liste de définition (vraiment différentes des listes dés-ordonnées) seront entre autre, plus faciles à styliser. Si je dis pas de bêtises, les moteurs de recherche portent aussi leur attention sur certaines de ces balises pour participer au référencement.

Bref il n'est pas forcément vital de les utiliser mais il est surtout possible de le faire !

nota :
<acronym> devient obsolète en html 5 au profit de la balise <abbr>.
Mikachu a écrit :

On peut s'en priver, mais vu que ça existe, autant s'en servir. Il m'est avis qu'on peut en faire de même avec les balises html.


Oui, c'est un angle de vue... Moi, personnellement, j'aurais plutôt tendance à dire que le HTML est un vieux grenier qu'on fouille, et : "Tout ce que j'ai pas besoin, je jette"... Smiley cligne
a écrit :
puisqu'aucun moteur ne peut comprendre mes classes...


Il n'y a pas forcement que les moteurs qui ne comprennent pas tes classes, des internautes peuvent pour diverses raisons désactiver le CSS. Dans ce cas comment comprendre que tel élément est une abréviation, que celui la est une citation...
La navigation et la compréhension d'un document doit être possible sans CSS. Les ajouts sémantiques qu'apportent ces balises sont donc utiles.

Tu n'utilises pas des div et span partout en leur ajoutant des classes mais par contre tu utilises les <hn>, les <p> ou encore les listes alors pourquoi délaisser d'autres balises qui vont dans le même sens ?


Note: les lecteurs d'écran ont me semble t-il besoin de la balise <abbr> pour savoir qu'une abréviation en est une et savoir comment la prononcer.
Hello,

Frouppy2 a écrit :
Oui, c'est un angle de vue... Moi, personnellement, j'aurais plutôt tendance à dire que le HTML est un vieux grenier qu'on fouille, et : "Tout ce que j'ai pas besoin, je jette"...
C'est amusant les angles de vue ! Je pense tout à fait le contraire : à mon avis il n'existe pas assez d'éléments HTML pour répondre à nos besoins et cela nous oblige bien souvent à trouver des parades plus ou moins efficaces. Smiley smile

D'ailleurs HTML5 en rajoute plusieurs !

Comme dit précédemment c'est avant tout une question de sémantique : plus les éléments utilisés sont porteurs de sens et plus il est facile de comprendre un contenu. Pour rappel tout le monde ne surfe pas avec les mêmes outils (que ce soit à cause d'un handicap ou du matériel à disposition) et au final c'est bien le code html et seulement lui qui se doit d'être le plus compréhensible possible.


Edit: au passage j'en profite pour déplacer ton sujet qui ne concerne pas les CSS. Smiley cligne
Modifié par Heyoan (30 Aug 2009 - 13:12)
Administrateur
Mikachu a écrit :
nota :
<acronym> devient obsolète en html 5 au profit de la balise <abbr>.

nota : <acronym> continuera à exister en HTML 4.01 jusqu'à la fin des temps, il n'est absolument pas question de le déprécier en HTML 4.01 (pour l'instant).

---
@Frouppy2
Si tu cites quelqu'un, il y a un élément pour ça : blockquote. Pourquoi ne pas l'utiliser ? Mais surtout (à l'inverse) ne PAS utiliser blockquote pour styler un retrait à droite pour un paragraphe ... qui est le style par défaut de blockquote dans la plupart des navigateurs.

Un petit exemple de ce que peut apporter strong (les classes sont totalement superflues ici) :
<strong class="form_error">Il y a une erreur dans le formulaire</strong>
Le prix est de <span class="prix">69€90</span>
Modifié par Felipe (30 Aug 2009 - 14:04)
S'il y a des éléments HTML qu'on peut s'autoriser à « zapper », ce sont les quelques éléments de présentation qui restent et qui n'ont pas été estampillés deprecated, à savoir b, i, big, small et tt (soit dit en passant, en HTML 5, il est prévu que b et i aient une sémantique).

Pour le reste, il ne faut jamais dire jamais, y compris pour des éléments dont on ne soupçonne pas l'existence (comme var ou samp). Smiley cligne
<edit> mauvais jour de la semaine , ce sera pour une autre fois .... </>
Modifié par gc-nomade (31 Aug 2009 - 01:32)
Frouppy2 a écrit :
Moi, personnellement, j'aurais plutôt tendance à dire que le HTML est un vieux grenier qu'on fouille, et : "Tout ce que j'ai pas besoin, je jette"... Smiley cligne

Je suis plutôt d'accord. Sauf que:
- Ce ne sont pas mes besoins qui comptent, ce sont ceux des visiteurs du site.
- Avec une bonne connaissance de HTML et un peu d'expérience, on se rend compte que la majeure partie des 91 éléments de HTML 4 a une utilité concrète... même si le public cible de certaines optimisations du code HTML peut être réduit.

Mon point de vue est donc qu'il n'y a pas tant de choses que ça à jeter. Dans ceux que tu cites (<strong>, <blockquote>, <pre>, <dl>, <dt>, <dd>, <acronym>, <abbr>), seul ACRONYM me semble inutile car redondant (ABBR fait la même chose tout en étant plus générique et moins sujet à interprétation linguistique...). DL/DT/DD est utile pour les glossaires, mais il est vrai que ça s'utilise rarement. PRE est indispensable pour le texte préformaté. BLOCKQUOTE (citation de un ou plusieurs paragraphes) est utile pour les citations, même s'il fait un peu doublon avec Q (citations insérées dans un paragraphe). STRONG est intéressant, par contre il y a une redondance entre EM et STRONG (la limite entre «emphase» et «emphase forte» n'est pas claire, et c'est souvent la convention typographique qui tranche).
Florent V. a écrit :

[...] on se rend compte que la majeure partie des 91 éléments de HTML 4 a une utilité concrète... [...]


Plus je lis les réponses, plus je suis en train de me rendre compte à quel point HTML est obsolète, incompris, mal utilisé, flou, ... ça me fait un peu penser à l'orthographe française : à part Bernard Pivot, quelques kadors et ceux qui ont le temps d'éplucher les syntaxes et orthographes au millimètre, c'est un peu difficile de s'y retrouver...

J'étais en train de me demander pourquoi il n'y aurait pas, quelque part, une simple liste de classes CSS recommandées : par exemple, un auteur de pièces de théâtre serait certainement enchanté de télécharger une feuille de style css préformatée avec les classes titre, didascalie, scene, personnage1, personnage2, etc. ... Un webmaster de sites culinaires serait certainement heureux de trouver les classes preparation, ingredient, titrerecette, tempscuisson, etc. Ces classes seraient préformatées, mais évidemment modifiable par le webmaster averti, et, surtout, auraient un véritable poids sémantique.

Dans mon rêve utopique, j'imagine ainsi un dictionnaire de classes centralisées, validées par le W3C, ce qui permettrait aux moteurs de recherche de multiplier ainsi leur pertinence...

Ca existe déjà, j'ai réinventé la roue, c'est stupide, ou je suis un doux rêveur ?
Modifié par Frouppy2 (31 Aug 2009 - 12:41)
Frouppy2 a écrit :

une simple liste de classes CSS recommandées .... auraient un véritable poids sémantique.

Les classes CSS n'influencent en rien le référencement, c'est l'utilisation des balises HTML au bon endroit dans le bon contexte qui te permettent d'avoir une page sémantiquement valable. Regardes les sites sans leur CSS tu verras si tu peux quand même comprendre l'importance des éléments.
Google regarde les sites sans CSS, sans javascript et flash.. donc pour voir si ton site est bon tu peux tenter de le voir sans tout cela...
Frouppy2 a écrit :
J'étais en train de me demander pourquoi il n'y aurait pas, quelque part, une simple liste de classes CSS recommandées : par exemple, un auteur de pièces de théâtre serait certainement enchanté de télécharger une feuille de style css préformatée avec les classes titre, didascalie, scene, personnage1, personnage2, etc. ... Un webmaster de sites culinaires serait certainement heureux de trouver les classes preparation, ingredient, titrerecette, tempscuisson, etc. Ces classes seraient préformatées, mais évidemment modifiable par le webmaster averti, et, surtout, auraient un véritable poids sémantique.


Les classes c'est bien, quand on a pas d'autre choix, mais dans un soucis de légèreté de code, moins y en a mieux c'est !
Quand des balises que tu juge inutiles ou obsolètes te permettent d'éviter ces classes, tout en apportant une meilleure sémantique au code html, pourquoi faire ce choix des classes ?

Concernant ton rêve de créer des classes types en fonction des domaines, tu parle de "véritable poids sémantique", mais la sémantique du document est portée par le code html, et non par la sur-couche de la feuille de style, qui pourrait ne pas être utilisée selon les cas.
Donc ton idée ne tient pas debout.
Sans compter que les besoins étant différents pour chaque site, cette "normalisation" serait inutilisable dans la plupart des cas.
Pour ce qui est de l'utilisation sémantique des classes ça existe déjà et ça s'appelle les microformats. Pour l'instant la liste est assez courte et commence juste à être indexée par les moteurs de recherche.

Pour le reste, effectivement, on ne fait pas mieux que du html sémantique. Smiley cligne
Modifié par Patidou (31 Aug 2009 - 13:53)
Patidou a écrit :
Pour ce qui est de l'utilisation sémantique des classes ça existe déjà et ça s'appelle les microformats.


AH ben voilà, c'est à peu près ça que je voulais dire... AU VOLEUR ! Ils m'ont piqué mon idée !
Smiley biggrin
Patidou a écrit :
Pour le reste, effectivement, on ne fait pas mieux que du html sémantique. Smiley cligne

Pour le reste, mais surtout à la base.

1. Faire du HTML sémantique. Les microformats c'est bien, mais ça a moins de poids (pour les auteurs comme pour ceux qui implémentent) que la spécification elle-meme. Quand une sémantique donnée existe déjà en HTML 4 (et prochainement en HTML 5), utilisée les éléments et attributs HTML en question!

2. La sémantique HTML reste limitée et à vocation généraliste. Pour les cas particuliers, les microformats ou RDFa sont des solutions intéressantes. Rien n'empêche d'initier ou de participer à la création d'un microformat pour un domaine qui n'est pas déjà couvert. Et rien n'empêche de proposer un jeu de templates avec une structure HTML utilisant le microformat et des styles CSS associés (un ou plusieurs jeux de styles).
J'apporte juste un complément d'info à ceci :
a écrit :
Note: les lecteurs d'écran ont me semble t-il besoin de la balise <abbr> pour savoir qu'une abréviation en est une et savoir comment la prononcer.

Je corrige en disant que la plupart des lecteurs d'écran n'utilisent pas la balise ABBR pour changer leur prononciation ou pour épeler.
A ce jour la seule option disponible avec jaws est « développer les abréviations » qui lit le title au lieu de lire le contenu de la balise.
Jaws décide s'il doit épeler ou prononcer un mot normalement en se basant sur d'autres critères : absence de voyelles, présence de majuscules, etc.
Florent V. a écrit :
- ... on se rend compte que la majeure partie des 91 éléments de HTML 4 a une utilité concrète...

Ce garçon m'épate, il est au HTML ce que Jean-Paul Olivier est au Tour de France Smiley biggrin

Franchement, si on m'avait demandé combien il existe d'éléments HTLML, j'aurais pas été foutu de répondre Smiley eek
Ericf a écrit :
Franchement, si on m'avait demandé combien il existe d'éléments HTLML, j'aurais pas été foutu de répondre Smiley eek

J'avais 81 en tête, puis j'ai vérifié mes sources. Smiley lol

(PS: testé à l'instant, 63 sur 91 en 5min.)
Pages :