Tant que nous n'utilisons aucune des fonctionnalités nouvelles et non encore prises en charge, y aurait-il un inconvénient à commencer à construire des sites avec ce doctype?
Je termine parce qu'à l'époque c'était une préoccupation valable, mais la vie a continué et HTML5 est maintenant là pour rester. Cela attire également les drapeaux car la plupart des réponses sont des opinions plutôt que des faits.
Kev
Réponses:
143
Eh bien, considérez ceci:
Lorsque vous utilisez du texte / html, tout ce dont vous avez besoin d'un doctype est de déclencher le mode standard. Au-delà de cela, le doctype ne fait rien en ce qui concerne les navigateurs.
Lorsqu'il sert de texte / html, que vous utilisiez du balisage XHTML ou du balisage HTML, il est traité par les navigateurs comme du HTML.
Donc, en réalité, il s'agit d'utiliser le doctype le plus court qui déclenche le mode standard (<! DOCTYPE html>) et d'utiliser le balisage HTML qui produit le résultat correct dans les navigateurs.
Le reste concerne la conformité, la validation et la prérférence de balisage.
Cela dit, utiliser <! DOCTYPE html> maintenant et essayer de rendre votre balisage conforme à HTML5 n'est pas une mauvaise idée tant que vous vous en tenez aux fonctionnalités stables qui fonctionnent maintenant dans les navigateurs. Vous n'utiliseriez rien en HTML4 ou XHTML 1.x qui ne fonctionne pas dans les navigateurs, n'est-ce pas?
En d'autres termes, vous utilisez <! DOCTYPE html> avec un balisage de type HTML4 tout en respectant les éléments qui ont été clarifiés dans HTML5. HTML5 concerne la compatibilité des navigateurs après tout.
L'inconvénient de l'utilisation de HTML5 maintenant est que les spécifications peuvent changer assez souvent. Il est donc important pour vous de suivre les spécifications car elles changent activement. De plus, http://validator.nu/ n'est peut-être pas toujours à jour, mais http://validator.w3.org/ n'est pas toujours à jour non plus, alors ne laissez pas cela vous arrêter.
Bien sûr, si vous souhaitez utiliser le balisage XHTML 1.0 et vous conformer à XHTML 1.0, vous ne devez pas utiliser <! DOCTYPE html>.
Personnellement, j'utilise toujours <! DOCTYPE html> pour HTML.
"Je pensais que l'omission de l'URI jette les navigateurs en mode bizarreries" - Non. Une grande partie du travail sur HTML5 a été Ian Hickson qui a testé sans relâche de nombreux navigateurs couramment utilisés pour voir ce qui fonctionnait et comment. Le doctype HTML5 déclenche le mode standard dans (je crois) tous les navigateurs qui ont une telle chose.
Paul D.Waite
23
Si cela aide, je viens de tester <! DOCTYPE html> dans IE8, IE7 (en utilisant les outils de développement IE8) et IE6 (en utilisant Virtual PC). Aucun d'entre eux n'est passé en mode bizarreries. Ainsi, même l'ancien IE peut certainement gérer le doctype HTML5 standard sans passer en mode bizarreries.
Erreur de syntaxe du
3
Ma question est de savoir pourquoi l'utiliser si vous n'utilisez aucune des fonctionnalités nouvelles / non prises en charge. Je ne dis pas que vous ne pouvez pas jouer avec, mais pourquoi commencer à construire des sites avec un doctype qui n'offre aucun avantage et qui pourrait être complété par XHTML5.
«Pourquoi l'utiliser si vous n'utilisez aucune des fonctionnalités nouvelles / non prises en charge» - parce que c'est plus court et plus facile à retenir? Pas grand-chose, évidemment, mais quand même.
Paul
Ouais, mais ne serait-ce pas XHTML 1.2 ou XHTML 2.0? ;)
Talvi Watia
1
HTML5 est «XHTML5». Le W3C a arrêté le développement de 'X'HTML.
Chris Harrison
Eh bien pas vraiment. XHTML5 et HTML5 sont deux représentations de balisage (sérialisations) différentes du langage HTML. Le premier est basé sur XML et le second est un dialecte unique (avec une sémantique d'analyse spéciale) de SGML.
Delan Azabani
2
Je dirais de l'utiliser et de tester intensivement. Alors faites-nous savoir si votre maison a explosé ou quelque chose comme ça. : ')
Sur la base de la dernière version bêta d'IE8, il semble que MS utilisera le doctype HTML5 comme contournement pour le bourbier de commutation de mode IE8. Il semble que le plus grand risque avec le déploiement précoce du doctype HTML5 est que si les gens publient beaucoup de contenu incompatible avec IE8 avec le doctype HTML5 avant la livraison d'IE8, MS pourrait avoir froid aux yeux pour simplifier la situation de mode pour HTML5.
Mise à jour: Cela a été rejeté, semble-t-il. De toute évidence, maintenant que IE8 a été livré, la considération ci-dessus ne s'applique plus. Et en effet, la situation n'est pas simple avec IE8 .
L'inconvénient pour moi concerne principalement la validation:
Les outils de validation tiers ne suivent pas toujours l'évolution des spécifications, ce qui rend mes outils préférés peu fiables.
Je préfère valider contre des doctypes stricts pour m'assurer d'avoir fermé tous les éléments. C'est un moyen simple d'éviter les erreurs d'imbrication simples mais chronophages. Avec HTML 5, vous n'avez pas besoin de fermer vos éléments, il n'y a donc aucun moyen de trouver des balises sans correspondance.
C'est vrai, c'est pourquoi vous souhaitez rechercher un vérificateur de charpie html: lint.brihten.com/html/help au lieu de simplement le validateur.
Kzqai
1
si vous allez utiliser le doctype, testez les fonctionnalités. Tant qu'ils n'entrent pas dans un site de production et que vous les testez à fond, allez-y.
Tenez compte de votre public et de vos besoins. J'écris des pages telles que des tests en classe avec un public cible d'étudiants dans mes cours qui utilisent FireFox 3 dans un laboratoire informatique équipé d'Ubuntu. J'ai besoin de SVG avec MathMl intégré en tant qu'objet étranger dans le SVG. J'utilise librement le doctype HTML5 et les nouvelles balises HTML5.
Pour les personnes qui lisent encore ceci, notez que l'article (et la réponse) ont presque 2 ans et que HTML5 a évolué assez rapidement pendant tout ce temps.
rjmunro
0
Pour quiconque trouve cela. Le graphique à
http://hsivonen.iki.fi/doctype/présente les différents modes de rendu utilisés par les différents navigateurs en fonction de la déclaration DOCTYPE utilisée. Cela vous donne une bonne idée du fonctionnement de la commutation DOCTYPE.
Personnellement, je dirais non. Il n'y a aucun avantage clair à HTML5 et, en fait, irait jusqu'à dire que tout est bâclé dès le départ.
Avoir des balises spécialisées pour l'en-tête, les pieds de page et les barres latérales est une énorme erreur - vous les avez déjà sous la forme de balises (div) et de noms (classes / id). Pourquoi avons-nous besoin de spécialistes? XHTML1.1 est assez bon, point final. En fait, comme la plupart des navigateurs ne supportent pas correctement HTML4, il est inutile d'utiliser un doctype qui prendra des années pour obtenir un support approprié.
Il s'agit de sémantique. Vous pouvez parfaitement vous débarrasser de presque toutes les balises HTML et n'utiliser que des attributs div, span et style / class. Mais vous supprimez toutes les valeurs sémantiques du document en procédant ainsi.
Laurent
2
Pensez simplement à son utilité pour les moteurs de recherche.
Leo Jweda
@Laurent: Donc, si je veux qu'un en-tête soit maintenant une barre latérale, je dois parcourir tous mes css et mon balisage en les changeant parce que ce n'est plus sémantiquement correct? Non. Faites-en un div, appelez-le comme il le fait et utilisez-le comme vous le souhaitez. @Laith: À quel point sera-t-il bon pour les moteurs de recherche?
graham.reeds
Canvas: Envie de l'utiliser? Vous ne pouvez pas. Ou vous pouvez, mais vous êtes maintenant au pays de la programmation ciblée. Ce n'est pas le but des normes.
graham.reeds
3
"Faites-en un div, appelez-le ce qu'il fait et utilisez-le comme vous le souhaitez." - Putain de droit. Pendant que vous y êtes, faites de même pour tous vos paragraphes et listes. Comment puis-je taper un sarcmark ici.
Réponses:
Eh bien, considérez ceci:
Lorsque vous utilisez du texte / html, tout ce dont vous avez besoin d'un doctype est de déclencher le mode standard. Au-delà de cela, le doctype ne fait rien en ce qui concerne les navigateurs.
Lorsqu'il sert de texte / html, que vous utilisiez du balisage XHTML ou du balisage HTML, il est traité par les navigateurs comme du HTML.
Donc, en réalité, il s'agit d'utiliser le doctype le plus court qui déclenche le mode standard (<! DOCTYPE html>) et d'utiliser le balisage HTML qui produit le résultat correct dans les navigateurs.
Le reste concerne la conformité, la validation et la prérférence de balisage.
Cela dit, utiliser <! DOCTYPE html> maintenant et essayer de rendre votre balisage conforme à HTML5 n'est pas une mauvaise idée tant que vous vous en tenez aux fonctionnalités stables qui fonctionnent maintenant dans les navigateurs. Vous n'utiliseriez rien en HTML4 ou XHTML 1.x qui ne fonctionne pas dans les navigateurs, n'est-ce pas?
En d'autres termes, vous utilisez <! DOCTYPE html> avec un balisage de type HTML4 tout en respectant les éléments qui ont été clarifiés dans HTML5. HTML5 concerne la compatibilité des navigateurs après tout.
L'inconvénient de l'utilisation de HTML5 maintenant est que les spécifications peuvent changer assez souvent. Il est donc important pour vous de suivre les spécifications car elles changent activement. De plus, http://validator.nu/ n'est peut-être pas toujours à jour, mais http://validator.w3.org/ n'est pas toujours à jour non plus, alors ne laissez pas cela vous arrêter.
Bien sûr, si vous souhaitez utiliser le balisage XHTML 1.0 et vous conformer à XHTML 1.0, vous ne devez pas utiliser <! DOCTYPE html>.
Personnellement, j'utilise toujours <! DOCTYPE html> pour HTML.
la source
Ma question est de savoir pourquoi l'utiliser si vous n'utilisez aucune des fonctionnalités nouvelles / non prises en charge. Je ne dis pas que vous ne pouvez pas jouer avec, mais pourquoi commencer à construire des sites avec un doctype qui n'offre aucun avantage et qui pourrait être complété par XHTML5.
la source
Je dirais de l'utiliser et de tester intensivement. Alors faites-nous savoir si votre maison a explosé ou quelque chose comme ça. : ')
la source
Sur la base de la dernière version bêta d'IE8, il semble que MS utilisera le doctype HTML5 comme contournement pour le bourbier de commutation de mode IE8. Il semble que le plus grand risque avec le déploiement précoce du doctype HTML5 est que si les gens publient beaucoup de contenu incompatible avec IE8 avec le doctype HTML5 avant la livraison d'IE8, MS pourrait avoir froid aux yeux pour simplifier la situation de mode pour HTML5.
Mise à jour: Cela a été rejeté, semble-t-il. De toute évidence, maintenant que IE8 a été livré, la considération ci-dessus ne s'applique plus. Et en effet, la situation n'est pas simple avec IE8 .
la source
L'inconvénient pour moi concerne principalement la validation:
la source
si vous allez utiliser le doctype, testez les fonctionnalités. Tant qu'ils n'entrent pas dans un site de production et que vous les testez à fond, allez-y.
la source
Tenez compte de votre public et de vos besoins. J'écris des pages telles que des tests en classe avec un public cible d'étudiants dans mes cours qui utilisent FireFox 3 dans un laboratoire informatique équipé d'Ubuntu. J'ai besoin de SVG avec MathMl intégré en tant qu'objet étranger dans le SVG. J'utilise librement le doctype HTML5 et les nouvelles balises HTML5.
la source
Jetez un œil à ce billet de blog! Pas vraiment fan de HTML5 http://www.webscienceman.com/2009/01/24/html-xhtml-html5-future-html/
la source
Pour quiconque trouve cela. Le graphique à
http://hsivonen.iki.fi/doctype/
présente les différents modes de rendu utilisés par les différents navigateurs en fonction de la déclaration DOCTYPE utilisée. Cela vous donne une bonne idée du fonctionnement de la commutation DOCTYPE.la source
Personnellement, je dirais non. Il n'y a aucun avantage clair à HTML5 et, en fait, irait jusqu'à dire que tout est bâclé dès le départ.
Avoir des balises spécialisées pour l'en-tête, les pieds de page et les barres latérales est une énorme erreur - vous les avez déjà sous la forme de balises (div) et de noms (classes / id). Pourquoi avons-nous besoin de spécialistes? XHTML1.1 est assez bon, point final. En fait, comme la plupart des navigateurs ne supportent pas correctement HTML4, il est inutile d'utiliser un doctype qui prendra des années pour obtenir un support approprié.
la source