5568 sujets

Sémantique web et HTML

Salut à tous,
suite à une remarque de Laurent sur un topic :
http://forum.alsacreations.com/topic.php?tid=4976&fid=18&p=1#p43079

une question est posée :

Pour une page qui assurément ne sera pas valide, par exemple, on n'a pas le contrôle sur un élément comme un lien de stats ou truc du genre.

Doit-on enlever le doctype purement et simplement étant donné qu'il ne sera pas respecté ?

Personellement, je trouve ça assez illogique et plutôt radical.
En carricaturant nous avons :
(nous sommes à la date que nous sommes été 2005)
Une page formellement invalide à cause d'ajout d'outils statistiques (ou autre, peu importe) dont on n'a pas le contrôle mais qui pour le reste est tout à fait valide, codée correctement.

2 cas de figures :
* conserver le doctype et laisser les erreurs pour lesquelles on ne peut rien
* supprimer purement et simplement le doctype puisque de toute façon la page ne sera pas valide

Le doctype est ce qui permet au navigateur de savoir comment réagir, les erreurs étant minimes, le supprimer pourrait causer à mon avis plus de bordel qu'autre chose surtout comparés aux erreurs bénignes engendrées avant.

Nan ?

Je précisais que nous étions en 2005 avec les navigateurs de l'époque, qu'en sera-t-il dans le futur ?
Modifié par Olivier (01 Jul 2005 - 16:13)
Je me disais autre chose :

le doctype, bien avant de rendre ou non la page valide, c'est à dire conforme à une dtd donnée,

indique le type de document auquel on a affaire. Une page html invalide pour l'une ou l'autre raison , reste une page html quoiqu'il arrive...

Donc le doctype devrait être précisé dans tous les cas... même si certaines erreurs empêchent la validation (ce qui a mon sens n'est que le deuxième rôle du doctype).

Alors bien sur, il faut utiliser un doctype en rapport avec ce qu'on fait, et pas mettre un xhtml 1.1 pour le plaisir.

Sans vouloir "attaquer" Laurent d'une façon ou d'une autre :

bien que je comprendre que tu cherches parfois à prendre un peu les choses à contre pieds pour ne pas faire dire n'importe quoi au nom de la sémantique web ou des standards, je trouves que tu y vas un peu fort...

- le cas du doctype me parait injustifié
- dans un autre sujet tu expliquais que le fait de construire un menu avec un ul n'a rien de plus sémantique que de le faire avec des <a> tout simple.

J'avoues que je n'arrive pas à cerner où tu veux en venir...
Ne détournons pas direct le topic Smiley langue
La question n'est pas Laurent et sa façon de pensée Smiley lol mais le problème qu'il soulevait Smiley cligne

Pour ce qui est de la DTD qui indique ce qu'on offre au navigateur (soupe ou bien HTML (sous forme de HTML4.01 strict/trans/frameset ou xHTML1.0 strict/trans ou xHTML1.1 DTD) ou bien XML ou SVG ou quoi que ce soit, quoi qu'il n'y a pas forcément de doctype pour ces derniers, enfin passons, c'est ce que je mentionnait dans mon post et je te rejoins donc, indiquer ce que l'on fait me parait bien plus important qu'une validation formelle, il s'agit de voir un peu plus loin que les specs il me semble ici...

Enfin, le débat est ouvert, mais je reste à convaincre Smiley cligne

Par ailleurs, une page sans doctype ne passera pas au validateur qui en demandera un Smiley biggol
Modifié par Olivier (01 Jul 2005 - 16:41)
Je détournais pas, ça fait partie à mon avis de la même "question" par rapport à ce que Laurent disait.

Autre petit exemple :

les doctype "plus" genre xhtml + mathml + svg illustrent bien ce que je (on) penses :

c'est plus pour indiquer ce que contient le document que pour permettre à la page de valider.
Je ne suis pas un expert, mais il me semble que le doctype intervient également sur la présentation de la page. J'ai eu le cas où le changement de doctype a permis le placement correct d'éléments qui ne se plaçaient pas bien avec un doctype différent sous IE.

Petite précision, le changement de doctype n'avait rien à voir avec ce problème Smiley cligne
dominique a écrit :
Je ne suis pas un expert, mais il me semble que le doctype intervient également sur la présentation de la page. J'ai eu le cas où le changement de doctype a permis le placement correct d'éléments qui ne se plaçaient pas bien avec un doctype différent sous IE.

Petite précision, le changement de doctype n'avait rien à voir avec ce problème Smiley cligne


Oui en effet, ca recoupe le fait que la DTD permet d'indiquer le comportement à adopter par le navigateur et d'agir en fonction.

Pas de doctype => soupe => le navigateur fait n'importe quoi et différement en fonction des navigateurs, il y a différents chaos Smiley langue
doctype => HTML (ou autre) => le navigateur sait comment agir
a écrit :
Le doctype est ce qui permet au navigateur de savoir comment réagir, les erreurs étant minimes, le supprimer pourrait causer à mon avis plus de bordel qu'autre chose surtout comparés aux erreurs bénignes engendrées avant.

Nan ?


Nan.
Smiley lol

La suppression du doctype sur une page qui n'est pas valide et qui n'est pas engagée dans une démarche de validation est bénéfique, parce qu'elle met la page en conformité avec le principe des DTD. Et elle ne crée aucun "bordel":

- le doctype sert (accidentellement et non normativement) au navigateur graphique pour choisir son mode de rendu CSS... mais les règles du doctype switching font qu'en l'absence de DTD, il bascule justement en mode Quirks, ce qui parfaitement adapté.

- Si tu veux travailler ta page invalide avec l'aide du validateur W3C et qu'elle n'a pas de doctype, il te suffit d'utiliser l'interface étendu du validateur qui te permet de "forcer" la validation au regard de la DTD de ton choix.

Encore une fois, mettre une DTD sur une page dont on sait qu'elle n'est pas valide, quand cette invalidité n'est pas accidentelle, est contraire au principe d'une DTD. Il consiste à dire, en effet: Coucou ! Je suis en XHTML1.0 ! Bonne nouvelle, n'est-pas ? ... Eh ben, non, c'était une blague ! Je vous ai bien eu, hein ? Smiley lol

Il faut bien distinguer:
- les sites ou pages où l'invalidité est accidentelle ou temporaire, car ils sont engagés dans une démarche de qualité technique visant la validité
- les sites ou pages où l'invalidité est voulue, inévitable ou acceptée, et ne sera pas remise en cause.
Laurent Denis a écrit :

Il faut bien distinguer:
- les sites ou pages où l'invalidité est accidentelle ou temporaire, car ils sont engagés dans une démarche de qualité technique visant la validité
- les sites ou pages où l'invalidité est voulue, inévitable ou acceptée, et ne sera pas remise en cause.


Sauf que dans le cas qui nous interessé, la page était justement créée dans une démarche de validité et l'ensemble du code était valide.

Il manque une possibilité dans ta liste Smiley cligne
C'est bien là qu'est tout l'enjeu, dans une démarche de validation et de code normalisé, s'il y a un élément incontrolable non valide, je doute qu'on puisse se ranger dans la seconde catégorie et je rangerais d'ailleurs ce type d'invalidation dans les invalidités accidentelles Smiley cligne
TriadPtale a écrit :
le doctype, bien avant de rendre ou non la page valide, c'est à dire conforme à une dtd donnée, indique le type de document auquel on a affaire.


exactement Smiley smile

Il indique quelle grammaire s'applique au document pour l'interpréter.

Du coup, il faut distinguer deux choses, qui ne sont pas évidente à différencier :
- il est indispensable à la validité du document (le validateur vous le dit clairement si vous tenter de valider une page sans DTD)
- mais il n'est pas requis pour sa conformité.

Qu'impose l'exigence de conformité ? De ne pas prétendre respecter telle grammaire quand ce n'est pas le cas.

TriadPtale a écrit :
Sans vouloir "attaquer" Laurent d'une façon ou d'une autre :

bien que je comprendre que tu cherches parfois à prendre un peu les choses à contre pieds pour ne pas faire dire n'importe quoi au nom de la sémantique web ou des standards, je trouves que tu y vas un peu fort...


lol
Je reste très mesuré. Parce qu'en fait, pour tout dire:
- les navigateurs actuels ne servent pas des DTD (oubliez l'influence sur la présentation, le doctype switching est un accident)
- les DTD sont un mécanisme insuffisant pour le rôle qu'elles devraient jouer, et sont condamnées à disparaître au profit, peut-être, des schémas.

Mais si on disait vraiment ça, ça deviendrait bien compliqué. Alors disons en conclusion :
- choisir la DTD adaptée à son site, à ses conditions de développement quand on s'engage dans la standardisation
- faire évoluer cette DTD éventuellement au fil des progrès réalisés
- renoncer à l'inutile fierté d'une DTD en haut de ses pages quand on ne va pas les mettres aux normes.
Olivier a écrit :


Sauf que dans le cas qui nous interessé, la page était justement créée dans une démarche de validité et l'ensemble du code était valide.

Il manque une possibilité dans ta liste Smiley cligne


Ah, vouloir le beurre et l'argent du beurre Smiley cligne

L'auteur de la page en question disait à peu près : oui, ça je sais que c'est invalide, mais je n'y toucherai pas parce que je ne peux pas, ce n'est pas mon code et je n'ai pas le droit de le modifier.

Où est la démarche qualifiante si elle se borne immédiatement ?
- ou je dis ok, je vais virer ce script puisque je ne peux pas le modifier, et quand je l'aurai viré, je remettrai ma DTD
- ou je dis je garde mon script, j'oublie la validité, et je ne fais pas comme si ce n'était pas le cas

Accessoirement, cela pèserait peut-être, à force, sur les responsables de ces scripts Smiley biggrin
Là, l'argumentation est à mon avis imparable, en effet Smiley smile
Merci pour la richesse de cet échange Smiley cligne
Modifié par dominique (01 Jul 2005 - 17:30)
Laurent Denis a écrit :

- ou je dis ok, je vais virer ce script puisque je ne peux pas le modifier, et quand je l'aurai viré, je remettrai ma DTD
- ou je dis je garde mon script, j'oublie la validité, et je ne fais pas comme si ce n'était pas le cas

Là je suis bien d'accord avec le raisonement Smiley cligne et je le partage Smiley lol au niveau du "enlever/pas enlever" le script, mais pas au niveau du retrait DTD en fonction de ce choix Smiley cligne

Laurent Denis a écrit :

Accessoirement, cela pèserait peut-être, à force, sur les responsables de ces scripts Smiley biggrin


Arretes, certains pourraient croirent que les pauvres webmestres ont une influence quelconque quelque part !
Modifié par Olivier (01 Jul 2005 - 17:51)
a écrit :
L'auteur de la page en question disait à peu près : oui, ça je sais que c'est invalide, mais je n'y toucherai pas parce que je ne peux pas, ce n'est pas mon code et je n'ai pas le droit de le modifier.


Bon, alors, l'auteur, c'est moi!
Je veux dire que je comprends bien votre point de vue, et, si j'étais amené en permanence à avoir une page invalide, j'enlèverai allegrement mon Doctype.
Cela dit, les erreurs viennent de liens d'affiliation, que, contractuellement, je ne peux modifier, mais qui sont évidemment temporaires car, d'un coté, l'annonceur ne souhaite pas faire de la pub ad vitam et de l'autre(de mon coté), il est évident que mon site a une meilleure santé financière si j'alterne les pubs... Donc, ces liens ont une espérance de vie de l'ordre du mois!

Pour finir, je pense effectivement, à moins de trouver un moyen de ne pas les faire rentrer en ligne de compte dans l'analyse de page, il serait judicieux de la part des régies de faire des liens valides....

Voili, voilou, ma maigre contribution à ce sujet.
julien51 a écrit :
à moins de trouver un moyen de ne pas les faire rentrer en ligne de compte dans l'analyse de page


C'est exactement ce que fait Google avec l'abominable iframe invalide sous toutes les DTD, généré en javascript pour ses adsenses. Et ce n'est pas une solution : même si le validateur XHTML, qui n'exécute pas le javascript, ne voit pas les erreurs, elles sont tout de même bien là Smiley cligne