Qu'est-ce que la déclaration DOCTYPE en HTML?

La déclaration de type de document HTML, également appelée DOCTYPE, est la première ligne de code requise dans chaque document HTML ou XHTML. La DOCTYPEdéclaration est une instruction au navigateur Web sur la version HTML dans laquelle la page est écrite. Cela garantit que la page Web est analysée de la même manière par différents navigateurs Web.

En HTML 4.01, la DOCTYPEdéclaration fait référence à une définition de type de document (DTD). Une DTD définit la structure et les éléments juridiques d'un document XML. Étant donné que HTML 4.01 était basé sur le langage SGML (Standard Generalized Markup Language), il DOCTYPEétait nécessaire de faire référence à une DTD dans la déclaration.

De plus, pour doctypes HTML 4.01 nécessaire la déclaration soit strict, transitionalou framesetDTD, chacun avec un cas d'utilisation différente comme il est indiqué ci - dessous.

  • DTD strict : utilisé pour les pages Web qui excluent les attributs et les éléments que le W3C s'attend à éliminer progressivement à mesure que le support CSS augmente
  • Transitional DTD : utilisé pour les pages Web qui incluent des attributs et des éléments que le W3C s'attend à éliminer progressivement à mesure que la prise en charge CSS augmente
  • Frameset DTD : utilisé pour les pages Web avec des cadres

En revanche, la déclaration de HTML5 DOCTYPEest beaucoup plus simple: elle ne nécessite plus de référence aux DTD car elle n'est plus basée sur SGML. Voir les exemples ci-dessous pour une comparaison entre HTML 4.01 et HTML5 DOCTYPE.

Exemples

Syntaxe Doctype pour HTML5 et au-delà:

Syntaxe Doctype pour HTML strict 4.01:

Syntaxe Doctype pour HTML de transition 4.01:

Syntaxe Doctype pour le jeu de cadres HTML 4.01:

Histoire

Au cours des années formatrices du HTML, les normes du Web n'étaient pas encore convenues. Les fournisseurs de navigateurs créeraient de nouvelles fonctionnalités de la manière qu'ils voulaient. Il y avait peu de souci pour les navigateurs concurrents.

Le résultat était que les développeurs Web devaient choisir un navigateur pour lequel développer leurs sites. Cela signifiait que les sites ne rendraient pas bien dans les navigateurs non pris en charge. Cette situation ne pouvait pas continuer.

Le W3C (World Wide Web Consortium) a rédigé un ensemble de normes Web pour gérer cette situation. Tous les fournisseurs de navigateurs et développeurs Web doivent adhérer à ces normes. Cela garantirait un bon rendu des sites Web sur tous les navigateurs.

Les changements exigés par les normes étaient assez différents de certaines pratiques existantes. Y adhérer briserait les sites Web existants non conformes aux normes.

Pour gérer ce problème, les fournisseurs ont commencé à programmer des modes de rendu dans leurs navigateurs. Les développeurs Web auraient besoin d'ajouter une déclaration doctype en haut d'un document HTML. La déclaration doctype indiquerait au navigateur le mode de rendu à utiliser pour ce document.

Trois modes de rendu distincts étaient généralement disponibles dans les navigateurs.

  • Le mode standard complet rend les pages conformément aux normes Web du W3C.
  • Le mode Quirks rend les pages d'une manière non conforme aux normes.
  • Le mode presque standard est proche du mode standard complet, mais il prend en charge un petit nombre de bizarreries.

À l'ère moderne du HTML5, les normes Web sont pleinement implémentées dans tous les principaux navigateurs. Les sites Web sont généralement développés d'une manière conforme aux normes. Pour cette raison, la déclaration doctype HTML5 existe uniquement pour indiquer au navigateur de rendre le document en mode standard complet.

Usage

La déclaration Doctype doit être la toute première ligne de code d'un document HTML, mis à part les commentaires, qui peuvent la précéder si nécessaire. Pour les documents HTML5 modernes, la déclaration doctype doit être la suivante:

Plus d'information:

Bien qu'ils ne soient plus généralement utilisés, il existe plusieurs autres types de déclaration doctype des versions précédentes de HTML. Il existe également des versions spécifiques pour les documents XML. Pour en savoir plus à ce sujet et pour voir des exemples de code pour chacun, jetez un œil à l'article Wikipedia.

Une note du W3

Entrée de glossaire MDN

W3Schools

Une explication rapide du "Mode Quirks" et du "Mode Standards"