Étant donné que le contenu existant sur le Web n'est pas conforme aux standards ou apparaitrait de manière inattendue dans un navigateur respectant les standards, Mozilla gère certains contenus d'une manière rétrocompatible et certains autres d'une manière conforme aux standards.
Trois modes sont utilisés par le moteur de rendu : le mode quirks, le mode « presque standard » et le mode standard complet. En mode quirks, l'affichage imite le comportement non standard de Netscape Navigator 4 et Microsoft Internet Explorer pour Windows qui est nécessaire pour ne pas rendre inutilisable le contenu existant sur le Web. En mode standard complet, le comportement est (on l'espère) le comportement décrit par les spécifications HTML et CSS. En mode presque standard, un très petit nombre de déviations sont implémentées : celles sans lequelles des pages réelles sur le Web qui utilisent des DOCTYPEs déclenchant le mode presque standard seraient rendues inutilisables.
Manière dont Mozilla détermine le mode à utiliser
Pour les documents envoyés en text/html
, Mozilla doit décider s'il les gère en mode quirks ou en mode standard (ceux qui sont envoyés en text/xml
ou d'autres types MIME XML ou XHTML sont toujours gérés en mode strict.) Actuellement, Mozilla fait ceci par analyse du DOCTYPE. C'est-à-dire qu'il utilise la déclaration de DOCTYPE (DTD) comme indice pour déterminer s'il s'agit d'une page Web écrite récemment et qu'on peut raisonnablement supposer se comporter correctement dans un environnement entièrement standard. Consultez la description détaillée dont le sniffing de DOCTYPE est effectué pour déterminer le mode de rendu.
Des auteurs ont demandé de pouvoir choisir (ou suggérer) un mode de rendu sans pour autant changer la DTD de la page, puisque la DTD existe principalement pour d'autres raisons. Jusqu'à présent, aucune méthode pour ce faire n'a été implémentée, mais la proposition la plus souvent citée est l'ajout d'un en-tête HTTP qui serait également accessible au travers d'un élément META dans la partie head du document.
Différences entre les modes
Consultez la liste des déviations pour connaitre les différences entre les modes.
Informations sur le document original
- Autheur(s) : David Baron
- Date de dernière mise à jour : 12 décembre 2004