5568 sujets

Sémantique web et HTML

Pages :
En lisant un thread sur la liste public-evangelist du W3C ce matin, j'ai pris conscience d'un truc... Nous avons tous tendance à confondre respect des normes et sémantique HTML en les mettant dans le même panier... Tellement que plusieurs, sinon la majorité d'entre nous, croyons d'emblée que l'un ne peut aller sans l'autre, et même que le XHTML est meilleur que le HTML, ou encore que le strict est meilleur que le transitionnel.

Or, sans aucune autre intention que le simple fait de le scander (et d'ouvrir le débat, vous vous en doutez) j'aimerais souligner qu'il n'en est rien.

Car par exemple, si le respect des normes est fondamental pour la qualité d'un document (d'un point de vue tout à fait partisan), sa sémantique relève bien plus de l'ordre de la bonne pratique. Qu'un document soit sémantisé ou non n'en fait pas un objet plus conforme. Il en fait simplement un objet plus... sémantisé.

http://www.webstandards.org/buzz/archive/2004_10.html#a000463

Il y a dans ce texte énormément de matière à discussion... quelqu'un tente une réponse ?
Tout est parti de ce texte de Molly ou elle essaie de déterminer ce qu'est un standard web...
Modifié le 28 Oct 2004 - 18:29
Oui je suis assez d'accord, MAIS, l'amalgame est très facile à faire (moi je le fais sûrement), et à la limite c'est pas non plus hyper grave (non me tapez pas ! )

En respectant sémantique des balises et structure d'un document, on a dejà de bonne chance d'avoir un document HTML de qualité (je ne parle pas du contenu).

En fait, un truc serait de faire passer le message de la sémantique du balisage HTML **avant** la validation w3c à tout prix, je l'avais fait remarquer, mais ce n'etait pas une innovation loin de là, mais les validateurs ont leurs limites et justement ne règlent pas la question de la sémantique web et une pure daube de code peut très bien être validée par ces validateurs (utiles par ailleurs de temps en temps, cf l'article que j'indique plus haut) alors qu'un document sémantiquement correct c'est déjà plus difficile de faire du mauvais code je trouve...

Enfin c'est un peu fouilli mon point de vue... je m'arrete là plutot que d'embrouiller tout le monde, vous aurez, j'espere, compris mon point de vue général.
Justement, tu as quand même réussi à cerner mon point d'une certaine manière... alors que nous nous évertuons à faire la promotion d'un code valide, il faudrait peut-être mieux faire celle d'un code sémantique... puisque la validation y viendrait sûrement d'emblée. Et qui plus est, qu'est-ce qu'il y aurait de si grave à avoir quelques erreurs dans le code sicelui-ci est autrement bien formé et respectueux des normes ? Sommes-nous dans un monde si intolérant que tout ce qui n'est pas parfait est automatiquement mauvais ?
Modifié le 28 Oct 2004 - 22:21
Wowoww un keupain !!!

Je suis complétement d'accord :p !

Même si je suis content d'avoir un jaune tout affreux quand je valide(ais) mes pages plutot qu'un rouge ! Je me dit que l'important n'est pas là.

Il est vrai que le respect de la sémantique du balisage est autrement plus vrai comme critère de qualité que l'approbation d'un robot.

Par contre, il faut tout de même nuancer, le validateur est tout de même bien au début, il permet de vérifier sa syntaxe. Mais certains se reposent sur leurs lauriers une fois un beau xhtml1.1 Valid ! aparu alors qu'ils font du (x)html en remplaçant leurs table par des div... Mais comment leur reprocher puisqu'il y a moins de ... pas longtemps... je faisais pareil, heureusement vous avez été nombreux à me remettre dans le droit chemin, mais je marche quand même pas mal sur le bas coté je pense !

Pour souligner que le validateur devient obsolète à un certain moment, c'est que je ne l'utilise jamais, sauf pour les tutos, ca la fout mal de ne pas valider un tuto même si à la limite je m'en balance pas mal, mais ca m'evite moult troll !

Donc pour récapituler :
Validez (surtout au début) pour vérifier vos syntaxe MAIS/ET ne vous reposez pas la dessus, réfléchissez à votre code, est-il si correct que ça ? utilisez vous la bonne balise au bon endroit ? peut on supprimer quelques div ? quelques class ? quelques id etc

A voir aussi en rapport :
http://www.alsacreations.com/blog/index.php?2004/08/15/51-maladies-exotiques-des-css

Il ne nous reste plus qu'à faire passer le message ici même, c'est le lieu révé, pas question de faire ce genre de chose sur le HUB par exemple (pour bien souligner la complémentarité et la différence de ces 2 forums), il est bien trop généraliste.

Par contre, n'y a t il pas un risque de "noyer" les novices avec d'une part la maitrise des différentes implémentations des CSS suivant les navigateurs, le passage (souvent) des tables/dreaweaver (petit troll au passage) au code propre et net et à l'apprentissage et l'application de la sémantique web... Est-ce un risque à courir quitte à faire moins "d'adpetes" mais des adaptes de "meilleure qualité" ?

Vraiment je suis ravi que Raphaël nous ai offert ce lieu pour discutter simplement et facilement de ce genre de chose, je ne doute pas que les plus expérimentés d'entre vous l'aient déjà fait en d'autre lieux (blog interposés par exemple), mais là c'est ouvert à tous, et JE peux y participer en plus !!
Modifié le 28 Oct 2004 - 22:31
Bonjour,

- respect des normes => agent utilisateur, donc une "machine"
- respect de la sémantique => internaute, donc un humain

Entre la machine et l'humain, mon choix est vite fait.

Bien sûr ce n'est pas aussi simple que cela, tout est lié et d'autres critères de qualité sont aussi à prendre en compte.
Plus un code est conforme, moins l'internaute risque de pâtir d'un mauvais affichage, moins l'internaute risque d'être pénalisé par la machine qu'il utilise...
Plus un code respecte la sémantique, plus il a de chance d'être conforme...
Ne mélangeons pas tout. La validité, comme le rappelle simplement le W3C, est un outil limité, mais reste le premier pas indispensable:

FAQ W3C a écrit :
La validité est un des critères de qualité d'une page Web, mais il y en a bien d'autres. En d'autres termes, une page Web valide n'est pas nécessairement une bonne page Web, mais une page invalide a peu de chances d'être une bonne page.

Modifié le 29 Oct 2004 - 08:03
ElMoustiko a écrit :
Il ne nous reste plus qu'à faire passer le message ici même, c'est le lieu révé, pas question de faire ce genre de chose sur le HUB par exemple (pour bien souligner la complémentarité et la différence de ces 2 forums), il est bien trop généraliste.


L'idée qu'il faut réfléchir à la qualité au-delà de la validité est au contraire l'idée à faire passer partout.
Très intéressant ce débat... je trouve que c'est une bonne inititive, d'ailleur mon opinion va plus dans le sens de celle de Laurent Denis en effet j'ai remarqué il y a de ça quelques temps lors de mon évolution du html 4.01 au xHTML 1.0 transitionnal que les validateurs réagissaient plus au <!DOCTYPE> d'une page qu'à son contenu (O_O) quelle ne fut pas ma surprise de découvrir que mon HTML 4.01 déjà valide w3c et gangrainé par des tables récurrentes et inutiles validait aussi en xHTML 1.0 transitionnal après un simple changement de <!DOCTYPE> et le passage des balises <meta></meta> à <meta /> ou encore <img></img> à <img />...

Depuis je suis passé au tout xHTML 1.0 strict après une errata-evolution (prononcer ERRATA-EVOLUCHEUNE ça fait class en english :p ) en xHTML 1.1 aussi inutile qu'injustifiée, et bien que j'accorde encore une certaine importance à la validation des documents par le w3c elle est moindre et relève plus de l'habitude due aux idées reçues qu'un site validate est mieux qu'un site non-validate... et je m'applique plus à échapper à la gagraine des sites tableless xHTML/CSS qui consiste soit en une profusion de <div> soit en une profusion de class comme je l'ai remarqué sur certaines de mes productions et plus souvent encore sur des productions présente sur des sites qui prônent un code propre pasqu'il est valide (je parle en particulier de quelques sites recensés par kalitee.org et cssbeauty)...

Seulement comme l'a bien souligné Laurent Denis ce n'est pas tant l'affreuse étiquette délivrée par les validateurs w3c qu'un code sémantiquement correct et respectueux des recommandations w3c du langage utilisé (à ce propos la doc est votre amie) qui fait la qualité de votre site :D Mieux vaut à la rigeur avoir une sémantique parfaite et se voir refuser la validation w3c (chose qui m'étonnerait beaucoup vu qu'un code valide est plus facile à obtenir avec une sémantique bien respectée)...

voilà voilà ^^
masterjmc a écrit :
Mieux vaut à la rigeur avoir une sémantique parfaite et se voir refuser la validation w3c (chose qui m'étonnerait beaucoup vu qu'un code valide est plus facile à obtenir avec une sémantique bien respectée)...


Il n'y a aucune raison d'opposer validité et sémantique...

Que signifie "sémantique" au juste pour le HTML et le XHTML1.0 ? Simplement ceci : le balisage structurel apporte une information sur le contenu. Pour que cette information soit pertinente, chaque élément HTML doit être utilisé en respectant le sens que lui donne la spécification. Pour que cette information soit utilisable, ce balisage doit s'en tenir aux éléments normalisés, et respecter une syntaxe normalisée.
Modifié le 29 Oct 2004 - 09:52
Oui tout à fait seulement mieux vaut les opposer ( du moins dans un premier temps ) parce que comme vous l'aurez surement remarqué les robots de validation ne prennent pas en compte la sémantique (ou alors pas totalement) et pour une personne qi franchit le pas de la séparation contenu/présentation le réflexe sera de privilégier la validaion et non pas la sémantique du code...

j'espère que je me suis bien expliqué :p
Laurent Denis a écrit :

-ElMoustiko- Il ne nous reste plus qu'à faire passer le message ici même, c'est le lieu révé, pas question de faire ce genre de chose sur le HUB par exemple (pour bien souligner la complémentarité et la différence de ces 2 forums), il est bien trop généraliste. /-ElMoustiko-


L'idée qu'il faut réfléchir à la qualité au-delà de la validité est au contraire l'idée à faire passer partout.


J'ai remarqué que sur le HUB justement l'accent n'était pas assez mis sur ce genre de considération, il y a surtout des problèmes inhérents aux différentes implémentation des CSS sur les différents navigateurs, et finalement peu de question relevant du code html en lui même et donc de la sémantique du code, et quand on voit 231 div et 134 class inutiles la remarque n'est généralement pas faite, sûrement pour ne pas "décourager" le membre qui a posé la question, on en revient à ma question plus haut :

Beaucoup d'adepte avec un code parfois pourri ou très peu d'adeptes qui maitrisent bien leur sujet et leur code ?

@masterjmc, les sites comme kalitee, cssbeauty et autre CSS vault mettent l'accent sur les possibilités créatives qu'offre la mise en page grâce aux CSS, et non la validité syntaxico-sémantique du code html, ce genre de site souligne le fait que CSS ne veut pas dire vide et tout carré comme on le lis souvent sur différents forums. D'ailleur les noms de ces sites sont en général "CSS machin, css bidule, **style**gala, ..." ce n'est pas pour rien.
Modifié le 29 Oct 2004 - 12:47
Curieux... Ce qui m'a frappé au contraire sur le Hub, c'est que la qualité du code HTML est régulièrement abordée, en particulier justement... par les spécialistes du référencement qui y sont très sensibles ;)
Bonjour,

ElMoustiko, j'avoue que tu me mets très mal à l'aise Smiley confused
Je suis entraînée dans un hors sujet et je dois parler du Hub.
Alors le plus brièvement possible...

Viennent sur AlsaForum des webmasters qui ont un problème avec le respect des standards, des connaisseurs qui veulent approfondir l'un ou l'autre point bien précis...
Ce type d'intervenants se rencontrent aussi sur le Hub mais beaucoup, parmi ceux qui viennent pour un autre motif, ne connaissent même pas l'existence du W3C ou ne voient pas l'intérêt d'en respecter les recommandations. A ceux-là il n'est pas question de leur brandir leurs 300 erreurs sous le nez, de leur dire qu'ils utilisent un logiciel de m*, qu'il devraient choisir le dernier doctype à la mode... Par contre il est profitable de leur montrer l'importance de choisir un doctype adapté à leur besoin et d'en suivre les spécifications. Il en est même à qui on n'en parle pas directement mais qui finissent par ce poser des questions à force de lire des messages sur le sujet... et finissent par changer leur fusil d'épaule.

Thématique commune mais approche différente, rôle différent... chacun sa place Smiley smile
Modifié le 29 Oct 2004 - 14:28
Oulaahh Monique tu as dû mal interpréter mes propos Smiley confused
Alors je voulais dire aussi que je ne reproche rien ou ne critique pas le HUB, j'adore ce forum (quoiqu'un peu trop vaste pour moi, mais là ça n'a rien à voir Smiley smile ).

Et je suis tout à fait d'accord avec ton analyse du HUB, ce que je voulais dire, c'est qu'en fait justement parceque le HUB n'est pas spécifiquement ciblé "standards web" comme tu l'indiquais très justement, il est peut etre plus difficile de parler de respect de sémantique web que sur un lieu plus préviligé à ce genre de sujets comme ici ou sur différents blogs traitant de ce même sujet par exemple.
Il est plus facile d'exposer ce genre de choses sur un forum clairement ciblé "standards web" donc peut être plus ciblé technique et approfondissement des choses, que sur un forum plus complet et généraliste comme le HUB.

Je te met toujours autant mal à l'aise ? :/
Bonjour,

Il me semble qu'ériger l'usage des balises en "nouvelle norme à respecter" introduit un niveau d'exigence supplémentaire, des contraintes supplémentaires que tous les créateurs de sites ne sont pas nécessairement prêts à accepter.

Un code sémantiquement valide implique le remplacement des tableaux par des divs pour la mise en page, l'utilisation des balises <hn> au lieu de <p> pour les titres, de la balise <li> au lieu de la balise <p> pour les menus... choses qui ne vont pas sans problèmes, mis en évidence dans plusieurs textes :

Y'a des calques qui s'perdent

Maladies exotiques des CSS?

... ou sur certaines limitations des divs par rappport aux tableaux :

A table !

L'usage sémantiquement pertinent et à bon escient de chaque balise n'est pas nécessairement simple. Comme l'a fait remarquer Raphael Goetter, les tableaux sont destinés à présenter des données tabulaires... mais qu'est-ce qu'une donnée tabulaire? Des vignettes dans un tableau sont-elles des "données tabulaires", par exemple?

Il y a aussi les difficultés à mettre en oeuvre un code conforme créées par l'interface des logiciels, ou par les différences entre affichage navigateur et affichage éditeur. Dans Dreamweaver (j'utilise la version MX 6.1) un div non positionné n'est pas sélectionnable comme un tableau, ce qui peut freiner le passage des tableaux aux divs pour certains; un div centré a 50% horizontalement et verticalement avec marges négatives pour être centré dans certain navigateur... est positionné à 50% horizontalement et verticalement de la page dans Dreamweaver... super pour travailler en mode graphique.

Je suppose que la plupart des créateurs de site sont d'accord avec l'idée que leurs pages doivent pouvoir s'afficher correctement et identiquement dans chaque navigateur et qu'ils sont disposés à mettre en oeuvre les techniques nécessaires pour atteindre ce résultat. Je les vois moins enthousiastes pour accepter des contraintes supplémentaires dont l'incidence est nulle sur l'affichage de leurs pages (il y a bien la question de l'impact du balisage sémantiquement correct pour le référencement, et celle de l'accessibilité de des pages aux non-voyants, mais elles n'ont pas nécessairement un grand poids).

Je pense aussi que du code sémantiquement correct... et peu lisible ou avec un mauvais résultat à l'affichage est tout à fait possible si l'on ne maîtrise pas les techniques nécessaires à un balisage sémantique: il suffit d'imbriquer des divs dans des divs dans des divs, d'attribuer aux caractères de texte une taille de 6 pixels, etc. Quant à ce qu'il faudrait, "l'usage à bon escient" de chaque balise, il s'avère difficile à traduire en normes opératoires.

Je pense donc finalement que l'usage de balises en conformité avec les normes est un premier pas, et qu'ériger la sémanticité du code en nouvelle norme de conception de pages web (et avec les inévitables dérives dogmatiques que cela suppose) introduit une nouvelle contrainte de création sans apporter d'avantage mesurable pour les créateurs et risque d'avoir un effet de repoussoir plutôt qu'attracteur pour pas mal de gens soucieux avant tout d'un rendu correct et identique de leurs pages dans chaque navigateur. La sémanticité des balises doit rester un idéal à atteindre dès lors elle n'apporte pas d'avantages mesurables et qu'elle pose des problèmes de mise en oeuvre. Un pas à la fois...
Il ne s'agit pas de faire une norme de sémantique, elle est déjà là, implicitement, la norme c'est justement la sémantique.

La difficulté est certe réelle pour bon nombre, et bien justement autant tenter d'amoindrir cette difficulté en expliquant étape par étape le plus simplement possible ce qui ne va pas dans le code, pourquoi il vaut mieux utiliser <h1>Titre</span> plutot que <span style="font-size: 25px; font-weight: bold">Titre</span> malgré le fait que le span soit valide et que le css en ligne le soit aussi.
Il ne s'agit pas de taper sur les doigts des novices qui abuseraient de ce genre de manipulation mais de leur expliquer le pourquoi du comment, je pense qu'il y a sur ce forum assez de personnes suffisament au fait de ce genre de chose pour l'expliquer simplement et clairement.

En ce qui concerne l'affichage identique pour chaque navigateurs, je laisse Laurent répondre à ça ;), je suis assez partisant d'un rendu identique dans chaque navigateur parceque j'aime bien que mon boulot de conception graphique soit rendu correctement (aussi mauvais soit il à la base). Mais il faut parfois accepter les limitations de certains navigateurs et faire en fonction.
S'il peut être difficile et penible de passer au positionnement CSS, je ne vois aucune excuse à ne pas utiliser les balises sémantiques pour tout ce qui est texte (a part l'ignorance de celles-ci) : <Hx> pour des titres et sous titres, <p> pour paragraphes, <em> ou <strong> pour des emphases, <ul> ou <ol> pour des listes...ce n'est quand même pas bien difficile Smiley hum

Le gros probleme c'est l'inertie et la flemme, car ces balises ne remettes pas du tout en cause la facon de travailler, on remplace juste les <p> ou les <span> par des balises porteuses de sens
Il y a aussi je pense une certaine réticense à utiliser des balises telles que hN (h1 notament) parceque par défaut elles sont plutôt enormes et affreuses, et que c'est plus de la méconnaissance des CSS qu'autre chose qui fait qu'on se retrouve parfois en face de span ou de div stylées alors qu'un h1 aurait pu l'etre aussi.
Moi je pense que même si par rapport à HTML, c'est un grand progrès de sémantique qui a été fait avec XHTML, cela ne suffit pas encore. Le problème est par exemple que l'utilisation des <div>,<span> et autres conteneurs, même en étant non abusive (pour respecter une certaine sémantique), n'est pas suffisante pour offrir un document 100% explicite. L'utilisation d'attributs id et class explicites (ex: id="page", class="article") ne vaudra pas du bon XML (ex: <page> <article>blablabla</article> <article>boblop</article> </page>) qui est largement explicite. Surtout que CSS, pour l'instant, ne permet pas à mon avis d'accéder facilement à tel ou tel élément, et qu'on est parfois tenté de rajouter un petit <span> par-ci, par-là pour lui appliquer une image de fond, ce qui serait impossible si on suivait un code de conduite sémantique strict.
Sans doute on pourrait me répondre qu'il existe des techniques pour éviter cet écart, mais elles ne sont pas accessibles à tous et un "débutant" qui voudrait utliser XHTML n'aurait pas d'autre moyen que celui-ci. Et dans la plupart des cas, il risque de tomber sur une page lui expliquant comment faire sa petite page web bourrée de balises obsolètes, de scripts pour Internet Explorer, etc.
Et de toute façon, pour revenir à mon idée de départ, rien empêche d'utiliser HTML de façon sémantique, en éliminant les balises obsolètes !
Sur ce, je retourne à mes travaux sur XML, gniark gniark gniark ...
Pages :