Hypertext Markup Language
HTML
HyperText Markup Language
Caractéristiques
Extensions .html, .htm
Type MIME text/html
Développé par World Wide Web Consortium&WHATWG
Version initiale 1993
Type de format Langage de balisage
Basé sur Standard GeneralizedMarkupLanguage
Origine de XHTML
ISO/IEC 15445
Norme W3C HTML 4.01
W3C HTML5
ISO 15445
Spécification Format ouvert
[Link]/html
Sites web [Link]/multipage
[Link]/html
modifier - modifier le code - modifier Wikidata
Le HyperText MarkupLanguage, généralement abrégé HTML ou dans sa dernière version
HTML5, est le langage de balisage conçu pour représenter les pages web.
Ce langage permet :
d’écrire de l’hypertexte, d’où son nom,
de structurer sémantiquement la page,
de mettre en forme le contenu,
de créer des formulaires de saisie,
d’inclure des ressourcesmultimédias dont des images, des vidéos, et des programmes
informatiques,
de créer des documents interopérables avec des équipements très variés de manière
conforme aux exigences de l’accessibilité du web.
Il est souvent utilisé conjointement avec le langage de programmationJavaScript et des
feuilles de style en cascade (CSS). HTML est inspiré du Standard
GeneralizedMarkupLanguage (SGML). Il s'agit d'un format ouvert.
Sommaire
1 Dénominations
2 Évolution du langage
o 2.1 1989-1992 : Origine
o 2.2 1993 : Apports de NCSA Mosaic
o 2.3 1994 : Apports de Netscape Navigator
o 2.4 1995-1996 : HTML 2.0
o 2.5 1997 : HTML 3.2 et 4.0
o 2.6 2000-2006 : XHTML
o 2.7 De 2007 à nos jours : HTML 5 et abandon du XHTML 2
o 2.8 L'avenir du HTML : sans numéro de version ?
3 Description de HTML
o 3.1 Syntaxe de HTML
o 3.2 Structure des documents HTML
o 3.3 Éléments de HTML
o 3.4 Attributs de HTML
o 3.5 Jeu de caractères
3.5.1 Technique d'échappement
4 Interopérabilité de HTML
5 Notes et références
6 Voir aussi
o 6.1 Articles connexes
o 6.2 Liens externes
Dénominations
L’anglaisHypertextMarkupLanguage se traduit littéralement en langage de balisage
d’hypertexte1. On utilise généralement le sigle HTML, parfois même en répétant le mot
« langage » comme dans « langage HTML ». Hypertext est parfois écrit HyperText pour
marquer le T du sigle HTML.
Le public non averti parle parfois de HTM au lieu de HTML, HTM étant l’extension de nom
de fichier tronquée à trois lettres, une limitation que l’on trouve sur d’anciens systèmes
d’exploitation de Microsoft.
Évolution du langage
Durant la première moitié des années 1990, avant l’apparition des technologies web comme le
langage JavaScript (js), les feuilles de style en cascade (css) et le Document Object Model
(Dom), l’évolution de HTML a dicté l’évolution du World Wide Web. Depuis 1997 et HTML
4, l’évolution de HTML a fortement ralenti ; 10 ans plus tard, HTML 4 reste utilisé dans les
pages web. En 2008, la spécification du HTML5 est à l’étude2 et devient d'usage courant dans
la seconde moitié des années 2010.
1989-1992 : Origine
HTML est une des trois inventions à la base du World Wide Web, avec le Hypertext Transfer
Protocol (HTTP) et les adresses web (URL). HTML a été inventé pour permettre d'écrire des
documents hypertextuels liant les différentes ressources d’Internet avec des hyperliens.
Aujourd’hui, ces documents sont appelés « page web ». En août1991, lorsque Tim Berners-
Lee annonce publiquement le web sur Usenet, il ne cite que le langage SGML, mais donne
l’URL d’un document de suffixe .html.
Dans son livre Weaving the web3, Tim Berners-Lee décrit la décision de baser HTML sur
SGML comme étant aussi « diplomatique » que technique : techniquement, il trouvait SGML
trop complexe, mais il voulait attirer la communauté hypertexte qui considérait que SGML
était le langage le plus prometteur pour standardiser le format des documents hypertexte. En
outre, SGML était déjà utilisé par son employeur, l’Organisation européenne pour la
recherche nucléaire (CERN). ;
Les premiers éléments du langage HTML comprennent :
le titre du document,
les hyperliens,
la structuration du texte en titres, sous-titres, listes ou texte brut,
un mécanisme rudimentaire de recherche par index.
La description de HTML est alors assez informelle et principalement définie par le support
des divers navigateurs web contemporains. Dan Connolly a aidé à faire de HTML une
véritable application de SGML4.
1993 : Apports de NCSA Mosaic
L’état de HTML correspond alors à ce que l’on pourrait appeler HTML 1.0. Il n’existe
cependant aucune spécification portant ce nom, notamment parce que le langage était alors en
pleine évolution. Un effort de normalisation était cependant en cours5. À partir de fin 1993, le
terme HTML+ est utilisé pour désigner la version future de HTML6,7. Malgré l’effort de
normalisation ainsi initié, et jusqu’à la fin des années 1990, HTML est principalement défini
par les implémentations des navigateurs.
Avec le navigateur NCSA Mosaic, HTML connaît deux inventions majeures :
D’abord l’invention de l’élément IMG permet d’intégrer des images (dans un premier
temps, uniquement aux formatsGIF et XBM) aux pages web (Mosaic 0.10).
Ensuite l’invention des formulaires (Mosaic 2.0pre5) rend le web interactif en
permettant aux visiteurs de saisir des données dans les pages et de les envoyer au
serveur web. Cette invention permet notamment de passer des commandes, donc
d’utiliser le web pour faire du commerce électronique.
1994 : Apports de Netscape Navigator
Avec l’apparition de Netscape Navigator 0.9 le 13octobre1994, le support de nombreux
éléments de présentation est ajouté : attributs de texte, clignotement, centrage, 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 utilisateurs8.
D’autre part, les concepteurs du web proposent d’étendre les capacités de description
sémantique (logos, notes de bas de page, etc.) et les domaines d’applications (formules
mathématiques, tables) de HTML.
Les concepteurs suivent les principes de SGML consistant à laisser la présentation à un
langage de style. En l’occurrence, les feuilles de style en cascade (CSS) sont prévues pour
HTML. Seul le support des tables est rapidement intégré aux navigateurs, notamment parce
qu’il permet une très nette amélioration de la présentation. 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 en arbre aujourd’hui appelée Document Object
Model (DOM). Le manque de structure du HTML alors mis en œuvre est parfois dénoncé
comme étant de la « soupe de balises », en anglais : tag soup.
1995-1996 : HTML 2.0
En mars1995, le World Wide Web Consortium (W3C) nouvellement fondé propose le résultat
de ses recherches sur HTML+ : le brouillon HTML 3.0. Il comprend notamment le support
des tables, des figures et des expressions mathématiques. Ce brouillon expire le
28septembre1995 sans donner de suites directes. Fin 1995, le RFC 18669 décrivant HTML 2.0
est finalisé. Le principal éditeur est Dan Connolly. Ce document décrit HTML tel qu’il
existait avant juin1994, donc sans les nombreuses additions de Netscape Navigator.
1997 : HTML 3.2 et 4.0
Le 14janvier1997, le W3C publie la spécification HTML 3.2. Elle décrit la pratique courante
observée début 199610, donc avec une partie des additions de Netscape 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 peu HTML 4.0 et contient des éléments en
prévision du support des styles et des scripts.
Le 18décembre1997, le W3C publie la spécification HTML 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 contenus11 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éments applet et
framequi sont remplacés par l’élément object 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 de HTML 3.2, dont les éléments de présentation sont
couramment utilisés par les éditeurs HTML de l’époque.
la variante frameset 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 en HTML 4.01 et dans le
format de transition XHTML 1.0 issu de HTML. La dernière spécification de HTML est la
version 4.01 datant du 24décembre1999. Elle n’apporte que des corrections mineures à la
version 4.0.
2000-2006 : XHTML
Article détaillé : Extensible HypertextMarkupLanguage.
Le développement de HTML en tant qu’application du Standard
GeneralizedMarkupLanguage (SGML) est officiellement abandonné au profit de XHTML,
application de Extensible MarkupLanguage (XML). Cependant, en 2004, des éditeurs de
navigateurs web12 créent le web Hypertext Application TechnologyWorking 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 du XHTML 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 web13.
De 2007 à nos jours : HTML 5 et abandon du XHTML 2
En mars2007, tirant la conséquence des réticences d’une partie de l’industrie et des
concepteurs de contenus web face à XHTML 2.014, le W3C relance le développement de
HTML et crée un nouveau groupe de travail encadré par Chris Wilson (Microsoft) et
initialement Dan Connolly (W3C), maintenant Michael Smith (W3C). Il s’agit notamment15 :
de faire évoluer HTML pour décrire la sémantique des documents mais aussi les
applications en ligne ;
de parvenir à un langage extensible via XML tout en maintenant une version non
XML compatible avec les analyseurs syntaxiques (parsers) HTML des navigateurs
actuels ;
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 mai2007 comme point de départ
d’une nouvelle spécification HTML516. Ce document17 a été publié sous forme de
WorkingDraft le 22janvier2008. Parmi les principes de conception évoqués par le groupe de
travail figurent en particulier18 :
la compatibilité des futures implémentations HTML avec le contenu web existant, et la
possibilité pour d’anciens agents utilisateurs d’exploiter les futurs contenus HTML 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êt, 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.
Une AccessibilityTask Force est créée par le W3C en novembre 2009 afin de résoudre les
problèmes de compatibilité du nouveau format avec les normes d'accessibilité19, liés
notamment à l'implémentation d'ARIA, aux alternatives textuelles et aux nouveaux éléments
canvas et video20.
Le développement de XHTML 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 serveurs21. Puis, en juillet 2009, le W3C décide la non-
reconduction du XHTML 2 Working Group à la fin 200922.
Avec l'abandon du XHTML 2, la version XHTML 1.1 reste donc la version normalisée. Le
HTML5 sera compatible avec le XHTML et le XML, et autorisera donc des documents
XHTML523. Cependant, il est probable que le W3C s'oriente vers un abandon pur et simple du
XHTML 1.1, car l'implantation du XML dans le HTML5 rend inutile la définition de
document de type XHTML y.y (où y.y sont les numéros de version)23.
Article détaillé : HTML5.
L'avenir du HTML : sans numéro de version ?
En janvier 2011, des divergences de points de vue entre Ian Hickson (ingénieur chez Google),
qui écrit la spécification HTML5, et les membres du groupe de travail du W3C conduisent le
WHATWG à créer HTML 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
navigateurs24(par opposition à des versions numérotées, donc « fixes »).
Le HTML Living Standard a pour but d'inclure le HTML5, et de le développer en
permanence25. En particulier, dans la version du 22 août 2012, le document de référence25
explique que le HTML5 du W3C, publié le 22 juin 2012, est basé sur une version du HTML
Living Standard, mais que le HTML 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 version HTML 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 le HTML Living Standard ne sont pas incluses dans le HTML5).
Description de HTML
HTML est un langage de description de format de document qui se présente sous la forme
d’un langage de balisage dont la syntaxe vient du Standard GeneralizedMarkupLanguage
(SGML).
Syntaxe de HTML
Jusqu’à sa version 4.01 comprise, HTML est formellement décrit comme une application du
Standard GeneralizedMarkupLanguage (SGML). Cependant, les spécifications successives
admettent, par différents biais, que les agents utilisateurs ne sont pas, en pratique, des
analyseurs SGML conformes26. Les navigateurs Web n’ont jamais été capables de déchiffrer
l’ensemble des variations de syntaxe permises par SGML27 ; en revanche ils sont
généralement capables de rattraper automatiquement de nombreuses erreurs de syntaxe,
suivant la première partie de la « loi de Postel » : « Soyez libéral dans ce que vous acceptez, et
conservateur dans ce que vous envoyez » (RFC 79128). De fait, les développeurs de pages
Web et de navigateurs Web ont toujours pris beaucoup de liberté avec les règles syntaxiques
de SGML. Enfin, la document type definition (DTD) de HTML, soit la description technique
formelle de HTML, n’a été écrite par Dan Connolly que quelques années après l’introduction
de HTML4.
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é d’un document HTML à l’aide d’un
parseur SGML29.
À 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 <A HREF=[Link]>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ément TITLE.
</TITLE> est la balise fermante de l’élément TITLE.
Exemple de HTML est le contenu de l’élément TITLE.
<A HREF=[Link]> est la balise ouvrante de l’élément A, avec :
o HREF=[Link], l’attribut HREF dont la valeur est [Link].
<P> est la balise ouvrante de l’élément P. Toutefois, elle est utilisée ici 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. Il s’agit de la balise
ouvrante du paragraphe dont le contenu est Ceci est un paragraphe où
il n’y a pas d’hyperlien. La balise fermante de l’élément P, qui est optionnelle,
est ici omise. L’élément P est implicitement terminé lorsqu’un nouveau paragraphe
commence ou que l’élément parent est fermé (cas présent).
ù est une référence d’entité représentant le caractère « ù ».
Les balises peuvent être indifféremment écrites en minuscules ou majuscules. L’usage
des minuscules devient plus courant car XHTML les impose.
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. Il ne manque qu’une déclaration de type de document à l’exemple précédent pour
qu’il soit un document HTML 2.0 valide30.
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 définition de type de document (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’attribut datetime : pour être conforme à HTML 4.01,
celui-ci doit être lui-même conforme à un sous-ensemble de la norme ISO 860131. Un parseur
strictement SGML tel que le validateur HTML du W3C ne peut donc pas garantir la
conformité d’un document HTML.
Structure des documents HTML
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 style32. Ainsi la balise <p> était
considérée comme un saut de ligne, et la balise </p> était ignorée. Ou encore lorsque
JavaScript 1.0 est apparu, il ne donnait accès qu’aux liens et formulaires du document à
travers les tables [Link] et [Link].
Avec l’introduction des Cascading Style Sheets et du Document Object Model, il a fallu
considérer que les documents HTML ont une véritable structure en arbre, avec un élément
racine contenant tous les autres éléments33. Les balises ouvrantes et fermantes de ces éléments
restent d’ailleurs optionnelles. Cependant, aujourd’hui, on a tendance à baliser chaque
élément34 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 des feuilles de style en cascade où
chaque élément peut avoir un fond, un bord et une marge propres.
La structure et le code des sites web peut d'ailleurs se consulter en ajoutant view-source:
devant l'url de la page. Pour la page ci-présente cela donnerait view-
source:[Link]
Structure d’un document HTML
Modèle du
Source HTML
document
html
head
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> title
<html>
<head> texte
<title>
Exemple de HTML
</title> body
</head>
<body> texte
Ceci est une phrase avec un <a
href="[Link]">hyperlien</a>.
<p> a
Ceci est un paragraphe où il n’y a pas d’hyperlien.
</p> texte
</body>
</html>
texte
texte
Éléments de HTML
Article détaillé : Élément HTML.
La version 4 de HTML décrit 91 éléments. En suivant la spécification de HTML 4, les
fonctionnalités implémentées par HTML peuvent être réparties ainsi :
Structure générale d’un document HTML35
Au plus haut niveau, un document HTML est séparé entre un en-tête et un corps. L’en-
tête contient les informations sur le document, notamment son titre et éventuellement
des métadonnées. Le corps contient ce qui est affiché.
Informations sur la langue36
Il est possible d’indiquer la langue de n’importe quelle partie du document et de gérer
le mélange de texte s’écrivant de gauche à droite avec du texte de droite à gauche.
Marquage sémantique37
HTML permet de différencier des contenus spécifiques tels que les citations d’œuvres
externes, les extraits de code informatique, les passages en emphase et les
abréviations. 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 de variable et d’exemple de valeur dans un code informatique, par exemple,
ou encore instance d’un terme défini dans le contexte).
Listes38
HTML différencie des listes non ordonnées et des listes ordonnées, selon que l’ordre
formel du contenu dans le code est en soi ou non une information. Des listes de
définition existent également, mais sans que leur champ d’application ne soit
exactement déterminé.
Tables39
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 les feuilles de style
en cascade (CSS) atteignent un degré de maturité suffisant.
Hyperliens40
La fonctionnalité première de HTML.
Inclusion d’images, d’applets et d’objets divers41
À 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 regroupement42
Ne conférant pas de signification au contenu qu’ils balisent, ces éléments génériques
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.
Style de la présentation43
Chaque élément, voire tout le document, peut se voir appliquer des styles. Les styles
sont définis dans le document ou proviennent de feuilles de style en cascade (CSS)
externes.
Marquage de présentation du texte44
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.
Cadres45
Aussi connu sous le nom de frames, une fonctionnalité souvent décriée qui permet
d’afficher plusieurs documents HTML dans une même fenêtre.
Formulaire pour l’insertion interactive de données46
Les éléments de formulaire permettent aux visiteurs d'entrer du texte et des fichiers
dans les pages Web.
Scripts47
Permet d’associer des morceaux de programmes aux actions des utilisateurs sur le
document. Les langages utilisés sont généralement JavaScript et VBScript.
Attributs de HTML
Les attributs permettent de préciser les propriétés des éléments HTML. Il y a 188 attributs
dans la version 4 de HTML48.
Certains attributs s’appliquent à presque tous les éléments :
les attributs génériques id (identificateur unique) et class (identificateur répétable)49
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 un langage de
script. Il s’y ajoute l’attribut style50 permettant de définir le style de présentation de
l’élément (généralement en CSS), et l’attribut title51 apportant une information
complémentaire de nature le plus souvent libre (L’exception majeure est l’utilisation
du title pour déterminer le style permanent et les éventuels styles alternatifs
appliqués à un document via des éléments link).
les attributs d’internationalisation dir et lang36 spécifiant la direction d’écriture et la
langue du contenu ;
les gestionnaires d’évènements onclick, ondblclick, onkeydown, onkeypress,
onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup52, 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ément label des étiquettes des contrôles de formulaire et son attribut fordésignant
le contrôle concerné : c’est, en HTML, et avec les attributs usemap et ismap 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 le code source.
La plupart des attributs sont facultatifs. Quelques éléments ont cependant des attributs
obligatoires :
de par leur nature : l’élément img est obligatoirement doté d’un attribut src spécifiant
l’URI de la ressource graphique qu’il représente. Il en est de même de tous les
éléments dits « vides » et « remplacés »53 qui, au prix d’une entorse aux règles SGML,
n’ont pas de contenu propre. C’est également le cas d’éléments non vides pour des
raisons fonctionnelles, comme l’élément form dont l’attribut action indique la cible
serveur qui traitera les données après soumission ;
pour des raisons liées à l’accessibilité du contenu : les images sont ainsi dotées d’un
attribut obligatoire alt 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 les URI, les types de contenu ou les
codes 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’attribut selected d’un contrôle de formulaire peut
ainsi être raccourci sous la forme selected remplaçant la forme complète
selected="selected". Cette forme particulière est un des points différenciant HTML de la
syntaxe des documents « bien formés » au sens XML.
Jeu de caractères
Les pages Web peuvent être rédigées dans toutes sortes de langues et de très nombreux
caractères peuvent être utilisés, ce qui requiert soit un jeu 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
universel Unicode n’était pas encore inventé, et de nombreux jeux de caractères se côtoyaient,
notamment ISO-8859-1 pour l’alphabet latin et ouest-européen, Shift-JIS pour le japonais,
KOI8-R pour le cyrillique. Aujourd’hui, le codage UTF-8de Unicode est le plus répandu.
Le protocole 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 norme ASCII.
Technique d'échappement
Article détaillé : Liste des entités de caractère de XML et HTML.
Avant la généralisation d'Unicode, des entités ont été définies pour représenter certains
caractères non ASCII. Cela a commencé avec les caractères d'ISO 8859-1 dans la norme
HTML 2.0. Pour les diacritiques, ces entités suivent un principe simple : la lettre suivie de
l'abréviation de la diacritique associée.
Diacritiques d'ISO 8859-1
caractère référence d'entité remarque
Á Á acute pour l'accent aigu
  circ pour l'accent circonflexe
À À grave pour l'accent grave
Å Å ring pour le rond en chef
à à tilde pour le tilde
Ä Ä uml pour le tréma
Ç Ç cedil pour la cédille
Ø Ø slash pour la barre oblique
Interopérabilité de HTML
Tel qu’il a été formalisé par le W3C, HTML est conçu pour optimiser l’interopérabilité des
documents. Le HTML ne sert pas à décrire le rendu final des pages web. En particulier,
contrairement à la publication assistée par ordinateur, HTML n’est pas conçu pour spécifier
l’apparence visuelle des documents. HTML est plutôt conçu pour donner du sens aux
différentes parties du texte : titre, liste, passage important, citation, etc. Le langage HTML a
été développé avec l’intuition que les appareils de toutes sortes seraient utilisés pour consulter
le web : les ordinateurs personnels avec des écrans de résolution et de profondeur de couleurs
variables, les téléphones portables, les appareils de synthèse et de reconnaissance de la parole,
les ordinateurs avec une bande passante faible comme élevée, et ainsi de suite.
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 en mode graphique ou un terminal
informatique en mode texte, il peut être imprimé, ou il peut être prononcé par synthè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 (en Perl, 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.
Notes et références
1.
14:00-17:00, « ISO/IEC 15445:2000 » [archive], sur ISO (consulté le 7 octobre 2020)
Le W3C publie le premier document de travail sur HTML 5, futur du contenu Web - La
communauté Web établit le prochain standard HTML au sein du forum W3C public [archive],
communiqué du W3C daté du 22 janvier 2008.
(en) Tim Berners-Lee, Mark Fischetti, Weaving the web: the past, present and future of
the World Wide Web by its inventor, Londres, Texere, 2000, p. 45-46 (ISBN 978-1-58799-018-2).
(en) James Gillies, Robert Cailliau, How the Web was Born: The Story of the World
Wide Web, Oxford, Oxford University Press, 2000, p. 212-213 (ISBN 978-0-19-286207-5).
(en) HypertextMarkupLanguage (HTML) [archive], Internet Draft, juin 1993, sur [Link].
(en) « Introduction to HTML 4 » [archive], sur [Link] (consulté le 7 octobre 2020)
« Introduction à HTML 4 » [archive], sur [Link] (consulté le 7 octobre 2020)
Marc Andreessen, créateur de Netscape Navigator, déclarait dès 1993 sur la liste de
discussion www-talk : « Je pense que s’occuper du SGML en général est une complète perte
de temps, et que nous en serions aujourd’hui beaucoup plus loin si nous n’étions pas
encombrés avec cet héritage SGML que nous continuons à porter. 99,99 % des gens avec qui
je parle veulent mettre en ligne des documents riches, veulent contrôler leur apparence, et se
contre-fichent totalement du balisage sémantique ou des différences entre la structure et le
rendu d’un document. » (en) HTML Spec [archive], daté du 16 juin 1993.
(en) « HypertextMarkupLanguage - 2.0 [archive] », Request for comments no 1866.
(en) « HTML 3.2 Reference Specification » [archive], sur [Link] (consulté le 8 octobre
2020)
La W3C a lancé en 1997 les premiers travaux de son (en) Initiative pour l’Accessibilité
du web [archive] (WAI), qui entame alors l’élaboration de ce qui allait devenir les premières
(en) Directives pour l’Accessibilité des Contenus web [archive] (WCAG), essentiellement
consacrées à l’accessibilité des documents HTML.
L’initiative vient d’Opera et de Mozilla, rejoints par la suite par Apple, (en)
[Link] [archive].
(en) Jeffrey Zeldman, An angryfix [archive], mis en ligne le 17 juillet 2006.
Tim Berners Lee écrivait dès octobre2006 : « la tentative de faire passer tout le monde à
XML et aux contraintes syntaxiques que cela impose (guillemets autour des valeurs
d’attributs, slashes 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) [Link] [archive].
(en) « HTML Working Group » [archive], Charte du groupe de travail HTML W3C, sur
[Link] (consulté le 7 octobre 2020)
(en)Results of Questionnaire Shall we Adopt HTML5 as our specification text for
review? [archive], sur [Link].
(en) HTML 5 – A vocabulary and associated APIs for HTML and XHTML – W3C
Working Draft 22 January 2008, [Link] [archive].
(en) HTML Design Principles [archive], sur [Link].
(en) HTML Accessibility Task Force Work Statement, W3C [archive], HTML Accessibility
Task Force Wiki, W3C [archive].
(en) Why is HTML5 Accessibility important? Because this child may never know
HTML 4 [archive], Steve Faulkner, juin 2009,sur [Link].
« 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 standard XHTML 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 travail XHTML 2, le
W3C 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, 7 mars 2007 [archive].
« 2009 - W3C » [archive], sur [Link] (consulté le 8 octobre 2020)
« Frequently Asked Questions (FAQ) about the future of XHTML » [archive], sur
[Link] (consulté le 8 octobre 2020)
Denis Christine, « Historique d'Internet » [archive], sur [Link], 2018 (consulté
le 8 octobre 2020)
« HTML Standard » [archive], sur [Link] (consulté le 8 octobre 2020)
(en) Henri Sivonen, An HTML5 Conformance Checker [archive], Master’s Thesis,
Helsinki, 2007.
Comme la forme courte <em/emphase/> au lieu de <em>emphase</em>.
(en) « Internet Protocol [archive] », Request for comments no 791.
Comme valideur HTML, on peut notamment citer le (en) Markup Validation
Service [archive] du W3C.
« [Valid] Markup Validation of upload://Form Submission - W3C Markup
Validator » [archive], sur [Link] (consulté le 8 octobre 2020)
« Paragraphs, Lines, and Phrases » [archive], sur [Link] (consulté le 8 octobre 2020)
Tim Berners-Lee considérait les balises de titre, et même de liste, comme des balises de
style. Voir notamment la présentation Les standards HTML et CSS des origines à mercredi
dernier [archive] de Daniel Glazman.
Des navigateurs comme Netscape Navigator 4 ont eu du mal à faire cette transition ;
ainsi un style appliqué à l’élément p 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.
(en) HTML 4.01 Specification - 7 The global structure of an HTML document [archive]
sur [Link] (consulté le 9 octobre 2020) (fr) 7 La structure globale du document
HTML [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 8 Language information and text direction [archive] sur
[Link] (consulté le 9 octobre 2020) (fr) 8 Les indications de langue et la direction du
texte [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 9 Text [archive] sur [Link] (consulté le 9 octobre 2020)
(fr) 9 Le texte [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 10 Lists [archive] sur [Link] (consulté le 9 octobre 2020)
(fr) 10 Les listes [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 11 Tables [archive] sur [Link] (consulté le 9 octobre
2020) (fr) 11 Les tables [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 12 Links [archive] sur [Link] (consulté le 9 octobre
2020) (fr) 12 Les liens [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 13 Objects, Images, and Applets [archive] sur
[Link] (consulté le 9 octobre 2020) (fr) 13 Les objets, les images et les applets [archive] sur
[Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 7.5.4 Grouping elements: the DIV and SPAN
elements [archive] sur [Link] (consulté le 9 octobre 2020) (fr) 7.5.4 Le regroupement des
éléments : les éléments DIV et SPAN [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 14 Style Sheets [archive] sur [Link] (consulté le 9
octobre 2020) (fr) 14 Les feuilles de style [archive] sur [Link] (consulté le 9 octobre
2020)
(en) HTML 4.01 Specification - 15 Alignment, font styles, and horizontal rules [archive]
sur [Link] (consulté le 9 octobre 2020) (fr) 15 L’alignement, les styles de police et les règles
horizontales [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 16 Frames [archive] sur [Link] (consulté le 9 octobre
2020) (fr) 16 Les cadres [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 17 Forms [archive] sur [Link] (consulté le 9 octobre
2020) (fr) 17 Les formulaires [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 18 Scripts [archive] sur [Link] (consulté le 9 octobre
2020) (fr) 18 Les scripts [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - Index of Attributes [archive] sur [Link] (consulté le 9
octobre 2020) (fr) Index des attributs [archive] sur [Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 7.5.2 Element identifiers: the id and class
attributes [archive] sur [Link] (consulté le 9 octobre 2020) (fr) 7.5.2 Les identifiants des
éléments : les attributs id et class [archive] sur [Link] (consulté le 9 octobre 2020).
(en) HTML 4.01 Specification - 14.2.2 Inline style information [archive] sur [Link]
(consulté le 9 octobre 2020) (fr) 14.2.2 Les informations de style en-ligne [archive] sur [Link]-
[Link] (consulté le 9 octobre 2020)
(en) HTML 4.01 Specification - 7.4.3 The title attribute [archive] sur [Link] (consulté
le 9 octobre 2020) (fr) 7.4.3 L’attribut title [archive] sur [Link] (consulté le 9 octobre
2020)
(en) HTML 4.01 Specification - 18.2.3 Intrinsic events [archive] sur [Link] (consulté
le 9 octobre 2020) (fr) 18.2.3 Les événements intrinsèques [archive] sur [Link]
(consulté le 9 octobre 2020)
53. au sens de CSS 2.1 qui explicite la notion d’« élément remplacé » restée implicite
en HTML. Voir (en) [Link]
element [archive].
Voir aussi
Sur les autres projets Wikimedia :
HTML, sur Wikimedia Commons
HTML, sur le Wiktionnaire
HypertextMarkupLanguage, sur Wikiversity
HypertextMarkupLanguage, sur Wikibooks
Articles connexes
World Wide Web
World Wide Web Consortium (W3C)
Élément HTML
Identificateur de fragment
CSS
JavaScript
Extensible HypertextMarkupLanguage (XHTML)
HTML5
SGML
SELFHTML une documentation en ligne de la syntaxe HTML
JHTML
Liens externes
(en) The W3c Markup Validation Service [archive]
(en) Full chapter-by-chapter HTML tutorials [archive].
Documents officiels :
(en) HTML 3.2 Reference Specification [archive], recommandation du W3C,
14janvier1997
(en) HTML 4.0 Specification [archive], recommandation du W3C, 18décembre1997
(en) HTML 4.01 Specification [archive], dernière recommandation HTML 4 du W3C,
24décembre1999
(en) HTML 5 A vocabulary and associated APIs for HTML and XHTML [archive],
actuel brouillon de travail du W3C sur HTML5, 25août2009
(en) HTML 5 differencesfrom HTML 4 [archive], brouillon de travail du W3C sur les
différences entre HTML4 et HTML5, 25août2009
(en) HTML Living Standard specifications [archive], la documentation du HTML
Living Standard, successeur du HTML5, qui n'a plus de version numéroté.
(fr) La spécification HTML 4.01 [archive], traduction non normative
[afficher]
v·m
Couches du modèle OSI
[afficher]
v·m
Accessibilité du web
Portail de l’informatique
Portail des télécommunications
Portail du Web sémantique
Portail de l’édition numérique
Catégories :
Format ouvert
Standard du web
Codage du texte
SGML
HTML
Protocole réseau sur la couche présentation
[+]
La dernière modification de cette page a été faite le 3 février 2021 à 11:48.
Droit d'auteur : les textes sont disponibles sous licence Creative Commons attribution,
partage dans les mêmes conditions ; d’autres conditions peuvent s’appliquer. Voyez
les conditions d’utilisation pour plus de détails, ainsi que les crédits graphiques. En cas
de réutilisation des textes de cette page, voyez comment citer les auteurs et mentionner
la licence.
Wikipedia® est une marque déposée de la WikimediaFoundation, Inc., organisation de
bienfaisance régie par le paragraphe 501(c)(3) du code fiscal des États-Unis.
Politique de confidentialité
À propos de Wikipédia
Avertissements
Contact
Version mobile
Développeurs
Statistiques
Déclaration sur les témoins (cookies)