Éducation, société et technologie

La déclaration du type de document

DTD - Document Type Declaration
vendredi 9 janvier 2004 par André Vincent

La liste des principaux DTDs (Document Type Declaration) en usage actuellement. Pour des explications plus détaillées, voir : Les DTD HTML4.01 et XHTML1.0 : comment choisir ?

 Pourquoi un DOCTYPE ?

Selon les spécifications du HTML et du XHTML, un DOCTYPE (contraction pour Document Type Declaration) informe l’agent utilisateur (le navigateur) de la version de HTML ou XHTML que le document utilise, et doit apparaitre en première position dans chaque page web. Le DOCTYPE est une composante essentielle pour les pages conformes aux spécifications : ni le balisage, ni les CSS ne passeront une validation sans DOCTYPE.

Les DOCTYPEs sont essentiels pour que les documents web s’affichent et fonctionnent correctement dans des navigateurs conformes aux standards, comme Mozilla, IE5/Mac, IE6/Win, Safari, Firefox, Camino, Omniweb, etc.

Un DOCTYPE récent qui inclut une URI complète (une adresse web complète) commande à ces navigateurs d’afficher votre page en utilisant le mode conforme (standard compliant mode), traitant ainsi le document (X)HTML, CSS, et DOM (Document Object Model) d’une façon prévisible.

Utiliser un DOCTYPE incomplet ou obsolète - voire aucun DOCTYPE - déclenche dans ces navigateurs le mode Quirks (que l’on pourrait traduire par : « imprévisible ») qui va considérer le balisage comme invalide et/ou démodé, conforme seulement aux interprétation inconsistantes de l’industrie de la fin des années 90.

Dans ce mode, le navigateur va essayer de traiter la page en mode de rétro-compatibilité, affichant vos CSS comme IE4 aurait pu le faire, et retournant à un DOM propriétaire et spécifique au navigateur (IE retourne au DOM IE ; Mozilla et Netscape 6 retournent vers Dieu sait quoi) [1].

Parfois, c’est ce qui est désiré ; mais la plupart du temps, ce n’est pas souhaitable. Mais c’est souvent ce que nous obtiendrons, à cause de la prépondérance des informations erronées ou incomplètes sur le DOCTYPE. De là l’importance d’utiliser le DTD le plus approprié.

 Les DTDs les plus courants

HTML 4.01 - Strict, Transitional, Frameset :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"  "http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 - Strict, Transitional, Frameset :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 - DTD :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Un exemple de gabarit minimal

Pour une liste complète des DTD disponibles, voir :

 Quel DOCTYPE choisir ?

Utilisez de préférence XHTML1.0 Strict : c’est a priori le plus adapté à de nombreux besoins et c’est la plus facile à utiliser et à apprendre.

Si vous utilisez des iframe ou un attribut target, utilisez XHTML1.0 transitional.

Si vous voulez utiliser les frameset et frame : utilisez la DTD XHTML1.0 frameset.

Conclusion

En guise de conclusion [2], soulignons quatre constats sur lesquels les malentendus sont fréquents :

  • XHTML1.0 ne sépare pas plus le contenu et la présentation qu’HTML4.01 : dans les deux cas, c’est en fait le choix entre tansitional et strict qui fait la différence, ce dernier exigeant une nette séparation du contenu et de la présentation ;
  • Aucune de ces DTD n’apporte plus d’accessibilité a priori : XHTML1.0 n’est pas plus accessible qu’HTML4.01. C’est l’usage que vous en ferez qui fera la différence ;
  • XHTML1.0 n’apporte aucun gain « sémantique » par rapport à HTML4.01, dont il reprend les éléments et la quasi-totalité des attributs. Là encore, ce sont les bonnes pratiques que vous adopterez qui fera la différence.
  • XHTML1.0 n’est pas plus difficile à apprendre qu’HTML4.01, au contraire : la syntaxe rigoureuse limite les confusions et les risques d’erreurs.

[1Le navigateur Opera ne joue pas suivant ces règles ; il essaie toujours d’afficher les pages en mode conforme aux normes. D’un autre coté, il n’offre pas encore un support solide du DOM W3C. Mais c’est en passe de changer.

[2Ces conclusions sont tirées de l’excellent livre de Raphaël Goetter CSS2 Pratique du design web également webmestre du site Alsacréations consacré au XHTML, CSS et Accessibilité


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 8589 / 1789534

Suivre la vie du site fr  Suivre la vie du site Cours Web  Suivre la vie du site Sites web statiques  Suivre la vie du site Normes et standards   ?    |    titre sites syndiques OPML   ?

Site réalisé avec SPIP 3.1.4 + AHUNTSIC

Creative Commons License

Visiteurs connectés : 2