L’anglais « Hypertext Markup Language » se traduit littéralement en « langage de balisage d’hypertexte »[2]. On utilise généralement lesigle « HTML », parfois même en répétant le mot « langage » comme dans « langage HTML ».Hypertext est parfois écritHyperText pour marquer leT du sigle HTML[note 1].
Durant la première moitié des années 1990, il n'existe pas de norme du langage et son évolution est dictée par la mise en œuvre des navigateurs Web populaires. En 1995, laRFC 1866[3] décritHTML 2.0, le premier standard pour HTML. Suivent en 1997 les recommandations duWorld Wide Web Consortium (W3C)HTML 3.2 etHTML 4. Le W3C fonde ensuite HTML surXML, et publieXHTML 1.0 en 2000 etXHTML 1.1 en 2001. L'orientation technique choisie pour la suite du développement de XHTML n'est pas partagée par les fabricants de navigateurs web, et c'est leWeb Hypertext Application Technology Working Group (WHATWG) fondé en 2004 qui développe ce qui devient la version suivante du langage,HTML5. Depuis 2007 le W3C travaille avec le WHATWG, et depuis 2019 seul le standard évolutif du WHATWG, appeléHTML living standard, fait référence.
Hormis les hyperliens, plusieurs des premierséléments du langage HTML viennent de SGML. Ils sont notamment utiles pour structurer sémantiquement la documentation technique. Ils comprennent[6] :
le titre du document (entre les balises<TITLE> et</TITLE>) ;
des sous-titres de 6 niveaux deH1 àH6 ;
les paragraphesP ;
les listes numérotéesOL, non numérotéesUL, et leurs élémentsLI ;
La description de HTML est alors assez informelle et principalement définie par le support desnavigateurs web contemporains. En septembre 1991 Tim Berners-Lee crée laliste de diffusion WWW-talk où les sujets concernant le World Wide Web, dont HTML, peuvent être publiquement discutés.Dan Connolly a aidé à formaliser HTML en application de SGML[7].
L’état de HTML correspond alors à ce que l’on pourrait appelerHTML 1. Il n’existe cependant aucune spécification portant ce nom, notamment parce que le langage était en pleine évolution. Un effort denormalisation était cependant en cours[8]. À partir de fin1993, le terme HTML+ est utilisé pour désigner la version future de HTML[9],[10]. Malgré l’effort de normalisation ainsi initié et jusqu’à la fin desannées 1990, HTML est principalement défini par les implémentations desnavigateurs web.
Avec le navigateurNCSA Mosaic, HTML connaît deux inventions majeures :
d’abord l’invention de l’élémentIMG dansNCSA Mosaic 0.10 permet d’intégrer desimages (dans un premier temps, uniquement auxformatsGIF etXBM) auxpages web[11] ;
ensuite l’invention desformulaires (Mosaic 2.0pre5) rend le web interactif en permettant aux visiteurs de saisir des données dans les pages et de les envoyer auserveur web. Cette invention permet notamment de passer des commandes, et donc d’utiliser le web pour faire ducommerce électronique.
Avec l’apparition deNetscape Navigator 0.9 le, le support de nombreux éléments de présentation est ajouté : attributs de texte avecFONT, clignotement avecBLINK, centrage avecCENTER, etc.
Le développement de HTML prend alors deux voies divergentes :
d’une part, les développeurs de navigateurs s’attachent à maximiser l’impact visuel des pages web en réponse aux demandes des utilisateurs[12] ;
Les concepteurs suivent les principes deSGML consistant à laisser la présentation à un langage de style. En l’occurrence, lesfeuilles de style en cascade (CSS) sont prévues pour HTML. En, leWorld Wide Web Consortium (W3C) nouvellement fondé propose le résultat de ses recherches sur HTML+ : le brouillonHTML 3.0. Il comprend notamment le support des tables, des figures et desexpressions mathématiques[13]. Ce brouillon expire le sans donner de suites directes. Seul le support des tables est rapidement intégré aux navigateurs, notamment parce qu’il accroît beaucoup les possibilités demise en page.
Outre la multiplication des éléments de présentation, les logiciels d’alors produisant et consommant du HTML conçoivent souvent les documents comme une suite de commandes de formatage plutôt que comme un marquage représentant la structure enarbre aujourd’hui appeléeDocument Object Model (DOM). Le manque de structure du HTML alors mis en œuvre est parfois dénoncé comme étant de la « soupe debalises », enanglais :tag soup.
Fin1995, leRFC 1866[14] décrivantHTML 2.0 est finalisé. Le principal éditeur estDan Connolly. Ce document décrit HTML tel qu’il existait avant, donc sans les nombreuses additions deNetscape Navigator.
Le, le W3C publie la spécificationHTML 3.2. Elle décrit la pratique courante observée début1996[15], donc avec une partie des additions deNetscape Navigator et d’Internet Explorer. Ses plus importantes nouveautés sont la standardisation des tables et de nombreux éléments de présentation.HTML 3.2 précède de peuHTML 4.0 et contient des éléments en prévision du support des styles et des scripts.
Le, le W3C publie la spécificationHTML 4.0 qui standardise de nombreuses extensions supportant les styles et les scripts, les cadres (frames) et les objets (inclusion généralisée de contenu).HTML 4.0 apporte également différentes améliorations pour l’accessibilité des contenus[16] dont principalement la possibilité d’une séparation plus explicite entre structure et présentation du document, ou le support d’informations supplémentaires sur certains contenus complexes tels que les formulaires, les tableaux ou les sigles.HTML 4.0 introduit trois variantes du format, destinées à favoriser l’évolution vers un balisage plus signifiant, tout en tenant compte des limites temporaires des outils de production :
la variante stricte (strict) exclut des éléments et attributs dits « de présentation », destinés à être remplacés par les styles CSS, ainsi que les élémentsapplet etframe qui sont remplacés par l’élémentobject conçu pour être plus apte à l’interopérabilité et à l’accessibilité ;
la variante transitoire (transitional) étend la variante stricte en reprenant les éléments et attributs dépréciés deHTML 3.2, dont les éléments de présentation sont couramment utilisés par leséditeurs HTML de l’époque ;
la varianteframeset normalise la technique des jeux de cadres composant une ressource unique à partir de plusieurs pages web assemblées par le navigateur.
Ces variantes perdurent par la suite sans modifications notables enHTML 4.01 et dans le format de transitionXHTML 1.0 issu de HTML.La dernière spécification de HTML est laversion 4.01 datant du. Elle n’apporte que des corrections mineures à laversion 4.0.
Cependant, en2004, des éditeurs denavigateurs web[19] créent leweb Hypertext Application Technology Working Group (WHATWG) dans le but, notamment, de relancer le développement du format HTML et de répondre aux nouveaux besoins sur une base technologique jugée plus aisément implémentable que celle duXHTML 2.0 en cours de conception. Ceci s’inscrit dans le contexte d’une contestation plus générale du mode de fonctionnement du W3C, réputé trop fermé par une partie des développeurs et designers web[20].
Le développement deXHTML 2.0 est initialement poursuivi en parallèle, en réponse aux besoins d’autres secteurs du web, tels que les périphériques mobiles, les applications d’entreprise et les applications serveurs[21]. Puis, en, le W3C décide la non-reconduction duXHTML 2 Working Group à la fin 2009[22]. XHTML 2.0 est retiré le 16 décembre 2010[23].
En, tirant la conséquence des réticences d’une partie de l’industrie et des concepteurs de contenus web face àXHTML 2.0[24], le W3C relance le développement de HTML et crée un nouveau groupe de travail encadré par Chris Wilson (Microsoft) et initialementDan Connolly (W3C), puisMichael Smith (W3C).
de faire évoluer HTML pour décrire la sémantique des documents mais aussi les applications en ligne ;
de parvenir à un langage extensible viaXML tout en maintenant une version non-XML compatible avec lesanalyseurs syntaxiques (parsers) HTML des navigateurs contemporains ;
et d’enrichir les interfaces utilisateurs avec des contrôles spécifiques : barres de progrès, menus, champs associés à des types de données spécifiques.
Les travaux du WHATWG ont été formellement adoptés en comme point de départ d’une nouvelle spécificationHTML5[26]. Ce document[27] a été publié sous forme deWorking Draft le.Parmi les principes de conception évoqués par le groupe de travail figurent en particulier[28] :
la compatibilité des futures implémentations HTML avec le contenu web existant, et la possibilité pour d’anciens agents utilisateurs d’exploiter les futurs contenusHTML 5 ;
une approche pragmatique, préférant les évolutions aux modifications radicales, et adoptant les technologies ou pratiques déjà largement partagées par les auteurs de contenus actuels ;
la priorité donnée, en cas de conflit d’intérêts, aux besoins des utilisateurs sur ceux des auteurs, et par suite, à ceux des auteurs sur les contraintes d’implémentation par les navigateurs ;
le compromis entre la richesse sémantique du langage et l’utilité pratique des solutions disponibles pour remplir l’objectif majeur d’indépendance envers le média de restitution.
Le W3C et le WHATWG ont travaillé ensemble à partir de 2007, les deux groupes de travail ayant pour éditeurIan Hickson. Toutefois, en 2011, les deux groupes ont conclu qu'ils avaient des objectifs différents. Le WHATWG voulait faire continuellement évoluer le standard HTML, tandis que le W3C voulait publier une version définitive de HTML5. À partir de 2012, un groupe de travail du W3C s'est attelé à écrire une recommandation. Le W3C a publié plusieurs recommandations depuis :
Le 15 mars 2018, la recommandation HTML 3.2[33] est officiellement retirée par le W3C car remplacée par les nouveaux développements de HTML. De même, les recommandations HTML 4.0[34], HTML 4.01[35], HTML5[36], XHTML 1.0[37], XHTML 1.1[38] sont retirées le 27 mars 2018, et les recommandations HTML 5.2[39] et HTML 5.3[40] sont retirées le 28 janvier 2021.
En, des divergences de points de vue entre Ian Hickson (ingénieur chezGoogle), qui écrit la spécification HTML5, et les membres du groupe de travail duW3C conduisent leWHATWG à créerHTML Living Standard (littéralement : standard vivant du HTML), une spécification de HTML prévue pour être en constante évolution, afin de coller avec les développements rapides de nouvelles fonctionnalités par les développeurs de navigateurs[41](par opposition à des versions numérotées, donc « fixes »).
LeHTML Living Standard a pour but d'inclure leHTML5, et de le développer en permanence[42]. En particulier, dans la version du, le document de référence[42] explique que le HTML5 du W3C, publié le, est basé sur une version duHTML Living Standard, mais que leHTML Living Standard ne s'arrête pas à cette version, et continue à évoluer. Il développe en particulier les différences entre la version W3C (le HTML5) et la versionHTML Living Standard (par exemple, les nouveaux bugs ne sont pas pris en compte dans le HTML5, des différences syntaxiques sont répertoriées, et de nouvelles balises créées par leHTML Living Standard ne sont pas incluses dans le HTML5).
En 2019, le W3C et le WHATWG signent un mémorandum sur leur collaboration à propos de HTML et du DOM. Selon ce mémorandum, le W3C cesse de publier des recommandations séparément, et ils travaillent ensemble sur le standard évolutif du WHATWG[43].
Jusqu’à saversion 4.01 comprise, HTML est formellement décrit comme une application de SGML. Mais les développeurs depages Web et de navigateurs Web ont toujours pris des libertés avec les règles syntaxiques de SGML. D'ailleurs, ladocument type definition (DTD) de HTML, soit la description formelle de HTML en SGML, n’a été écrite parDan Connolly que plusieurs années après l’invention de HTML[7].
Les spécifications successives admettent, par différents biais, que les agents utilisateurs ne sont pas, en pratique, des analyseurs SGML conformes[44]. Lesnavigateurs Web n’ont jamais été capables de déchiffrer l’ensemble des variations de syntaxe permises par SGML[45] ; en revanche ils sont généralement capables de rattraper automatiquement de nombreuses erreurs de syntaxe, suivant la première partie de laloi de Postel : « Soyez libéral dans ce que vous acceptez, et conservateur dans ce que vous envoyez » (RFC 791[46]).
Malgré les libertés prises avec la norme, la terminologie propre à SGML est utilisée : document, élément, attribut, valeur, balise, entité, validité, application, etc. Grâce à la DTD, il est possible de vérifier automatiquement la validité des documents HTML 2, 3.2 ou 4 à l’aide d’unparseur SGML[47]. Un document HTML valide est un document qui respecte la syntaxe SGML, n’utilise que des éléments et attributs standardisés, et respecte l’imbrication des éléments décrite par le standard. Un document valide n’est cependant pas suffisant pour être conforme à la spécification HTML visée. En effet, outre l’exigence de validité, un document conforme est soumis à d’autres contraintes qui ne sont pas exprimées par la DTD, mais qui le sont par la spécification elle-même. C’est notamment le cas du type de contenu de certains attributs, comme celui de l’attributdatetime : pour être conforme àHTML 4.01, celui-ci doit être lui-même conforme à un sous-ensemble de la normeISO 8601[48]. Un parseur strictement SGML tel que le validateur HTML du W3C ne peut donc pas garantir la conformité d’un document HTML.
À l’origine, HTML a été conçu pour baliser (ou marquer) simplement le texte, notamment pour y ajouter des hyperliens. On utilisait un minimum de balises, comme dans le document HTML suivant :
<TITLE>Exemple de HTML</TITLE>Ceci est une phrase avec un<AHREF=cible.html>hyperlien</A>.<P>Ceci est un paragraphe où il n'y a pas d'hyperlien.
Cet exemple contient du texte, cinq balises et une référence d’entité :
<TITLE> est la balise ouvrante de l’élémentTITLE.
</TITLE> est la balise fermante de l’élémentTITLE.
Exemple de HTML est le contenu de l’élémentTITLE.
<A HREF=cible.html> est la balise ouvrante de l’élémentA, avec :
HREF=cible.html, l’attributHREF dont la valeur estcible.html.
<P> est la balise ouvrante de l’élémentP, dont le contenu estCeci est un paragraphe où il n’y a pas d’hyperlien. La balise fermante de l’élémentP, qui est optionnelle, est ici omise. L’élémentP est implicitement terminé lorsqu’un nouveau paragraphe commence ou que l’élément parent est fermé (cas présent). Dans cet exemple, La balise<P> est utilisée comme s’il s’agissait d’un séparateur de paragraphe, et c’est même ainsi qu’elle est souvent présentée dans les plus anciennes documentations de HTML.
ù est une référence d’entité représentant lecaractère « ù ».
Les balises peuvent être indifféremment écrites en minuscules ou majuscules. L’usage des minuscules devient plus courant car XHTML les impose.
Il ne manque qu’une déclaration de type de document pour que cet exemple constitue un document HTML 2.0 valide[50].
Dans les premières années, les documents HTML étaient souvent considérés comme des structures plates, et les balises comme des commandes de style[51]. Ainsi la balise<p> était considérée comme un saut de ligne, et la balise</p> était ignorée. Ou encore lorsqueJavaScript 1.0 est apparu, il ne donnait accès qu’aux liens et formulaires du document à travers les tableauxdocument.forms etdocument.links.
Avec l’introduction desCascading Style Sheets et duDocument Object Model, il a fallu considérer que les documents HTML ont une véritable structure enarbre, avec un élément racine contenant tous les autres éléments[52]. Les balises ouvrantes et fermantes de ces éléments restent d’ailleurs optionnelles. Cependant, aujourd’hui, on a tendance à baliser chaque élément[53] et à indiquer la DTD. À l'exception de l'élément à la racine, chaque élément a exactement un élément parent direct ; cet « arbre du document » est notamment utilisé par la structure de formatage qui en est dérivée pour l’application desfeuilles de style en cascade où chaque élément peut avoir un fond, un bord et une marge propres.
La structure la plus commune en HTML consiste à avoir un élément racinehtml avec deux enfants : un élémenthead pour l'en-tête du document contenant surtout des méta-informations, suivi d'un élémentbody pour le corps du document. L'élémenttitle dans l'élémenthead est obligatoire : il donne un titre au document qui est par exemple affiché en titre d'onglet de navigateur, en titre de résultat demoteur de recherche, et en nom demarque-page.
Structure d’un document HTML
Source HTML
Modèle du document
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title> Exemple de HTML</title></head><body> Ceci est une phrase avec un<ahref="cible.html">hyperlien</a>.<p> Ceci est un paragraphe où il n’y a pas d’hyperlien.</p></body></html>
Laversion 4 de HTML décrit 91 éléments[54]. En suivant la spécification deHTML 4, les fonctionnalités implémentées par HTML peuvent être réparties ainsi :
Au plus haut niveau, un document HTML est séparé entre unen-tête et un corps. L’en-tête contient les informations sur le document, notamment son titre et éventuellement desmétadonnées. Le corps contient ce qui est affiché.
HTML permet de différencier des contenus spécifiques tels que les citations d’œuvres externes (CITE), les extraits de code informatique (CODE), les passages en emphase (EM) et les abréviations (ABBR). Certains de ces éléments, conçus initialement pour permettre le support de documentations techniques, sont très rarement employés (différenciation entre les éléments devariable (VAR) et d’exemple (SAMP) de valeur dans un code informatique, par exemple, ou encore instance d’un terme défini dans le contexte (DFN)).
HTML différencie deslistes non ordonnées et deslistes ordonnées, selon que l’ordre formel du contenu dans le code est en soi ou non une information. Deslistes de définition existent également, mais sans que leur champ d’application ne soit exactement déterminé.
Cette fonctionnalité sert formellement à la présentation de données tabulaires, mais a été surtout exploitée pour ses capacités de mise en page avant que lesfeuilles de style en cascade (CSS) atteignent un degré de maturité suffisant.
Inclusion d’images, d’applets et d’objets divers[61]
À l’origine, HTML permettait seulement de donner des hyperliens sur les médias externes. L’invention d’éléments spécialisés pour le multimédia a permis l’inclusion automatique d’image, de musique, de vidéo, etc. dans les pages web.
Éléments de regroupement[62] sans valeur sémantique
Ne conférant pas de signification au contenu qu’ils balisent, les éléments génériquesDIV etSPAN permettent d’appliquer des styles de présentation, de réaliser des traitements via des scripts ou tout autre opération nécessitant d’isoler une partie du contenu.
Chaque élément, voire tout le document, peut se voir appliquer des styles. Les styles sont définis dans le document ou proviennent defeuilles de style en cascade (CSS) externes.
Développé avant la généralisation de CSS pour fournir rapidement des fonctionnalités aux graphistes. D’usage désormais officiellement déconseillé pour la plus grande partie.
Permet d’associer des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utilisés sont généralementJavaScript etVBScript.
Les attributs permettent de préciser les propriétés des éléments HTML. Il y a 188 attributs dans laversion 4 de HTML[68].
Certains attributs s’appliquent à presque tous les éléments :
les attributs génériquesid (identificateur unique) etclass (identificateur répétable)[69] destinés à permettre l’application de traitements externes, tels que l’application de styles de présentation ou de manipulation de l’arbre du document via unlangage de script. Il s’y ajoute l’attributstyle[70] permettant de définir le style de présentation de l’élément (généralement enCSS), et l’attributtitle[71] apportant une information complémentaire de nature le plus souvent libre (L’exception majeure est l’utilisation dutitle pour déterminer le style permanent et les éventuels styles alternatifs appliqués à un document via des élémentslink) ;
les attributs d’internationalisationdir etlang[56] spécifiant la direction d’écriture et la langue du contenu ;
les gestionnaires d’évènementsonclick,ondblclick,onkeydown,onkeypress,onkeyup,onmousedown,onmousemove,onmouseout,onmouseover,onmouseup[72], qui capturent les évènements générés dans l’élément pour appeler un script.
D’autres attributs sont propres à un élément unique, ou des éléments similaires. Par exemple :
les éléments qui permettent d’inclure dans le document des ressources graphiques sont dotés d’attributs de hauteur et de largeur, afin que le navigateur puisse anticiper la taille de la ressource à afficher avant que celle-ci n’ait été téléchargée :img,object,iframe ;
des éléments spécifiques sont dotés d’un attribut assumant une fonction unique, tel que l’élémentlabel des étiquettes des contrôles de formulaire et son attributfor désignant le contrôle concerné : c’est, en HTML, et avec les attributsusemap etismap des images, l’une des très rares associations explicites et formalisées entre des éléments, indépendamment de leur ordre linéaire dans lecode source.
La plupart des attributs sont facultatifs. Quelques éléments ont cependant des attributs obligatoires :
pour des raisons liées à l’accessibilité du contenu : les images sont ainsi dotées d’un attribut obligatoirealt permettant d’indiquer un contenu textuel brut destiné à remplacer la ressource graphique dans les contextes de consultation où elle ne peut pas être restituée ou perçue.
Le type de contenu des attributs HTML échappe pour partie au champ d’application de cette norme, et sa validation relève de normes tierces telles que lesURI, lestypes de contenu ou lescodes de langages.
Certains attributs sont enfin de type booléen. Ce sont les seuls attributs dont la syntaxe peut être validement implicite en HTML : l’attributselected d’un contrôle de formulaire peut ainsi être raccourci sous la formeselected remplaçant la forme complèteselected="selected". Cette forme particulière est un des points différenciant HTML de la syntaxe des documents « bien formés » au sens XML.
Les pages Web peuvent être rédigées dans toutes sortes delangues et de très nombreuxcaractères peuvent être utilisés, ce qui requiert soit unjeu de caractères par type d’écriture, soit un jeu de caractères universel. Lors de l’apparition de HTML, le jeu de caractères universelUnicode n’était pas encore inventé, et de nombreux jeux de caractères se côtoyaient, notammentISO-8859-1 pour l’alphabet latin et ouest-européen,Shift-JIS pour lejaponais,KOI8-R pour lecyrillique. Aujourd’hui, le codageUTF-8 deUnicode est le plus répandu.
Leprotocole de communicationHTTP transmet le nom du jeu de caractères. L’en-tête HTML peut comporter le rappel de ce jeu de caractères, qui devrait être identique, sauf erreur de réglage. Enfin, à la suite d'un mauvais réglage, le jeu de caractères réellement utilisé peut encore différer du jeu annoncé. Ces mauvais réglages causent généralement des erreurs d’affichage du texte, notamment pour les caractères non couverts par la normeASCII.
Avant la généralisation d'Unicode, des entités SGML ont été définies pour représenter certains caractères nonASCII, ce qui revient en pratique à utiliser le caractère « & » commecaractère d'échappement. Cela a commencé avec les caractères d'ISO 8859-1 dans la normeHTML 2.0. Pour les diacritiques, ces entités suivent un principe simple : la lettre est suivie de l'abréviation de la diacritique associée.
Comme HTML ne s’attache pas au rendu final du document, un même document HTML peut être consulté à l’aide de matériels et logiciels très divers. Au niveau matériel, un document peut notamment être affiché sur unécran d'ordinateur enmode graphique ou unterminal informatique enmode texte, il peut être imprimé, ou il peut être prononcé parsynthèse vocale. Au niveau logiciel, HTML ne fait pas non plus de supposition, et plusieurs types de logiciels lisent le HTML :navigateur web,robot d'indexation, scripts divers (enPerl,PHP) de traitement automatique.
Un haut degré d’interopérabilité permet de baisser les coûts des fournisseurs de contenus car une seule version de chaque document sert des besoins très variés. Pour l’utilisateur du web, l’interopérabilité permet l’existence de nombreux navigateurs concurrents, tous capables de consulter l’ensemble du web.
Chaque version de HTML a essayé de refléter le plus grand consensus entre les acteurs de l’industrie, de sorte que les investissements consentis par les fournisseurs de contenus ne soient pas gaspillés et que leurs documents ne deviennent en peu de temps illisibles. La séparation du fond et de la forme n’a pas toujours été respectée au cours du développement du langage, comme en témoigne par exemple le balisage de style de texte, qui permet d’indiquer notamment la police de caractères souhaitée pour l’affichage, sa taille, ou sa couleur.
↑« Le XHTML a été appliqué sur d’autres marchés, dont les périphériques mobiles, les applications d’entreprise, les applications serveurs, ainsi que dans un nombre croissant d’applications web telles que les blogiciels. Par exemple, le Groupe de travail des Meilleures Pratiques du web Mobile a inclus le standardXHTML Basic comme pierre angulaire des Meilleures Pratiques du web Mobile car les logiciels s’exécutant avec peu de mémoire peuvent le prendre en charge. … Avec la mise en place du Groupe de travailXHTML 2, leW3C continuera son travail technique sur le langage et prendra parallèlement en compte la revalorisation de la technologie afin d’expliquer clairement son indépendance et sa valeur sur le marché … »,(en)Communiqué du W3C,.
↑Tim Berners Lee écrivait dès :« la tentative de faire passer tout le monde à XML et aux contraintes syntaxiques que cela impose (guillemets autour des valeurs d’attributs, barre oblique dans les balises simples et espaces de noms), à intégrer d’un seul coup, n’a pas fonctionné … Il faut créer un groupe de travail HTML entièrement nouveau qui, contrairement au précédent, sera destiné à apporter des améliorations incrémentales à HTML, ainsi qu’à XHTML »,(en)http://dig.csail.mit.edu/breadcrumbs/node/166.
↑Des navigateurs commeNetscape Navigator 4 ont eu du mal à faire cette transition ; ainsi un style appliqué à l’élémentp donnait des résultats dépendants de la présence de la balise optionnelle de fermeture</p>.
↑Pour simplifier SGML, le standard XML (sur lequel est basé XHTML) n’autorise pas les balises optionnelles.