5568 sujets

Sémantique web et HTML

Bonjour,

j'ai une question un peu simpliste, peut être, mais je ne lui ai pas encore trouvé de réponse.

avec HTML5 , le doctype devient <!DOCTYPE html> alors que avant, on spécifiait les modes stricts, transitionnels, etc... dans les doctype.

alors aujourd'hui, si on créé une document html5 avec ce nouveau doctype, même si on utilise pas toutes les dernières fonctionnalités offertes par html 5, comment réagit le navigateur qui ne connais pas le html5 ?

Par exemple, Ie8 ou ie7 passent en mode quirck?
Sinon, si ça n'a pas d'incidence, alors à quoi ça servait de mettre des doctypes à rallonge dans nos fichier html4 ?

J'ai pas encore vu d'explications à ce sujet..
Merci Victor mais ce n'était pas ma question....

si aujourd'hui, un navigateur qui ne sait pas ce que c'est que le html5 (ie7 par exemple) affiche correctement une page qui a le doctype <!DOCTYPE html>
alors à quoi ça servait d'utiliser une doctype du genre
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Affiche correctement si on lui met les bons scripts pour et si tu mets bien un
display:block;
pour toutes les balises HTML5 sinon gare aux mauvaises surprises. Smiley sweatdrop
lionel_css3 a écrit :
Merci Victor mais ce n'était pas ma question....


C'est sûr que si tu transformes la question à chaque fois qu'on te donne une réponse adéquate...
si par exemple, si je prends une page actuelle qui marche en html4 et je lui colle un doctype
<!DOCTYPE html> est ce que ma page est toujours valable en html4 ??

dans ce cas je me positionne en html5 mais je n'utilise aucune des nouvelles balises.

à ce compte là a quoi ça sert d'utiliser des balises doctype html4 à rallonge....?
Il y a quelques balises HTML 4 qui ne sont plus valides en HTML 5 mais elles sont rares. Donc à part si tu utilises ces balises je dirais que le Doctype HTML 4 ne sert à rien dans ce cas de figure.
jb_gfx a écrit :


C'est sûr que si tu transformes la question à chaque fois qu'on te donne une réponse adéquate...


non, je ne transforme pas la question, mais comme en html 4 il fallait mettre un doctype qui était soit transitionnel soit strict, je me demande comment ça peut marcher si on met un doctype ou il n'y a plus rien dedans...c'est tout...
lionel_css3 a écrit :


non, je ne transforme pas la question, mais comme en html 4 il fallait mettre un doctype qui était soit transitionnel soit strict, je me demande comment ça peut marcher si on met un doctype ou il n'y a plus rien dedans...c'est tout...


Le doctype HTML 5 est la syntaxe la plus simple qui permet de garder tous les navigateurs en mode standard (à contrario du mode quirk).
jb_gfx a écrit :


Le doctype HTML 5 est la syntaxe la plus simple qui permet de garder tous les navigateurs en mode standard (à contrario du mode quirk).


ah d'accord, c'est ça que j'avais du mal à comprendre mais alors finalement , les modes transitionnels et stricts ça servait à quelque chose? puisque maintenant ça n'a pas l'air gênant d'être en mode standard.
Je me suis jamais vraiment posé la question, j'imagine (mais c'est juste une supposition) que le W3C essayait d'amener le standard dans une certaine direction est donc le mode strict était conseillé et les mode loose et transitional permettaient de faire évoluer les sites existants vers ce but en douceur.

Faudrait qu'une intelligence supérieure (Raphaël, Dew, Florent ou Laurie-Anne) confirme ou infirme.

En ce qui me concerne j'ai toujours choisi de développer en mode XHTML strict pour une simple raison : plus de rigueur et plus sensible aux erreurs donc c'est plus facile de repérer les problèmes quand tu fais ton intégration.
Modifié par jb_gfx (15 Oct 2011 - 19:37)
D'autres éléments de réponse concernant les différents modes existants pour le HTML 4 et le XHTML 1.0 (sachant que le XHTML 1.1 est dans le même cas de figure que le HTML 5, pour ainsi dire) peuvent être trouvés dans l'article Les DTD HTML4.01 et XHTML1.0 : quel doctype choisir ?. Pour résumer, les modes transitionnel et jeu de cadres (frameset) autorisent certains éléments et attributs de mise en forme (ex. : les éléments center et font et les attributs align et color) qui sont proscrits dans le mode strict ; à l'époque, il s'agissait, en quelque sorte, de faciliter la transition d'un codage à l'ancienne mêlant structure, mise en forme et comportement vers un codage conforme aux standards.
jb_gfx a écrit :
En ce qui me concerne j'ai toujours choisi de développer en mode XHTML strict pour une simple raison : plus de rigueur et plus sensible aux erreurs donc c'est plus facile de repérer les problèmes quand tu fais ton intégration.

Effectivement, et tu n'es pas le seul à le penser. Smiley cligne
lionel_css3 a écrit :
si par exemple, si je prends une page actuelle qui marche en html4 et je lui colle un doctype
<!DOCTYPE html> est ce que ma page est toujours valable en html4 ??

La page ne sera pas valide HTML4, non (la seule erreur sera le Doctype non reconnu).
Elle sera sans doute valide HTML5, sauf si tu as utilisé des éléments HTML4 qui sont déclarés comme obsolètes dans la spec HTML5 (par exemple FRAME ou ACRONYM).

lionel_css3 a écrit :
à ce compte là a quoi ça sert d'utiliser des balises doctype html4 à rallonge....?

HTML4 se voulait une application de SGML. Les Doctype étaient une fonctionnalité de SGML, notamment utiles pour les validateurs et tous les outils amenés à analyser et exploiter du code SGML pour en faire autre chose (parseurs SGML). Du côté des navigateurs par contre:
- Ils se fichent bien de la version de HTML indiquée (HTML4, XHTML1, XHTML1.1... Strict ou Transitional ou Frameset).
- Ils utilisent le Doctype pour une seule chose: basculer en mode Standard s'il y a un Doctype qui correspond aux Doctypes qu'ils reconnaissent, ou en mode Quirks sinon.

HTML5 prend acte de cette situation, s'éloigne de SGML (HTML5 n'est pas une application de SGML), et aurait bien voulu supprimer complètement le Doctype. Sauf que le mécanisme de Doctype Switching est toujours là dans les navigateurs, et que le cas par défaut en l'absence de Doctype c'est le mode Quirks qui n'est pas vraiment souhaitable. On a donc cherché un Doctype simple et court, sans numéro de version, qui aurait pour caractéristique d'être reconnu par les navigateurs existants (dont IE6-7), et <!DOCTYPE html> répond à ce cahier des charges.

En pratique la seule perte par rapport à un Doctype long c'est que s'il y a un jour un HTML6 avec des différences substantielles (et pas uniquement incrémentales) avec HTML5, il faudra indiquer manuellement au navigateur si on veut valider en HTML5 ou HTML6.
Modifié par fvsch (17 Oct 2011 - 08:53)
fvsch a écrit :
Ils utilisent le Doctype pour une seule chose: basculer en mode Standard s'il y a un Doctype qui correspond aux Doctypes qu'ils reconnaissent, ou en mode Quirks sinon.

Ou en mode presque standard pour les doctypes en mode transitionnel. Smiley cligne