HTML

Un article de Wikipédia, l'encyclopédie libre
Aller à la navigation Aller à la recherche

HTML
(langage de balisage hypertexte)
Logo et mot-symbole HTML5.svg
Le logo officiel de la dernière version, HTML5 [1]
Extension de nom de fichier
  • .html
  • .htm
Type de média Internet
texte/html
Tapez le codeTEXTE
Identificateur de type uniforme (UTI)public.html
Développé parWHATWG
Première version1993 ; il y a 29 ans ( 1993 )
Dernière version
Type de formatFormat de fichier de document
Conteneur pourÉléments HTML
Contenu parNavigateur Web
Prolongé deSGML
Prolongé àXHTML
Format ouvert ?Oui
Site Internethtml .spec .whatwg .org

Le langage de balisage hypertexte ou HTML est le langage de balisage standard pour les documents conçus pour être affichés dans un navigateur Web . Il peut être assisté par des technologies telles que les feuilles de style en cascade (CSS) et des langages de script tels que JavaScript .

Les navigateurs Web reçoivent des documents HTML d'un serveur Web ou d'un stockage local et restituent les documents dans des pages Web multimédias. HTML décrit sémantiquement la structure d'une page Web et incluait à l'origine des indices pour l'apparence du document.

Les éléments HTML sont les blocs de construction des pages HTML. Avec les constructions HTML, des images et d'autres objets tels que des formulaires interactifs peuvent être intégrés dans la page rendue. HTML fournit un moyen de créer des documents structurés en désignant la sémantique structurelle du texte, comme les titres, les paragraphes, les listes, les liens , les citations et d'autres éléments. Les éléments HTML sont délimités par des balises , écrites à l' aide de chevrons . Des balises telles que et introduisent directement du contenu dans la page. D'autres balises telles que<img /><input /><p>entourent et fournissent des informations sur le texte du document et peuvent inclure d'autres balises en tant que sous-éléments. Les navigateurs n'affichent pas les balises HTML, mais les utilisent pour interpréter le contenu de la page.

HTML peut intégrer des programmes écrits dans un langage de script tel que JavaScript , qui affecte le comportement et le contenu des pages Web. L'inclusion de CSS définit l'apparence et la mise en page du contenu. Le World Wide Web Consortium (W3C), ancien mainteneur du HTML et actuel mainteneur des normes CSS, a encouragé l'utilisation de CSS plutôt que du HTML de présentation explicite depuis 1997. [2] Une forme de HTML, connue sous le nom de HTML5 , est utilisée pour afficher la vidéo et l'audio, principalement en utilisant l' élément, en collaboration avec javascript. <canvas>

Histoire

Développement

Photographie de Tim Berners-Lee en avril 2009
Tim Berners-Lee en avril 2009

En 1980, le physicien Tim Berners-Lee , sous-traitant au CERN , a proposé et prototypé INQUIRE , un système permettant aux chercheurs du CERN d'utiliser et de partager des documents. En 1989, Berners-Lee a rédigé une note proposant un système hypertexte basé sur Internet . [3] Berners-Lee a spécifié HTML et a écrit le navigateur et le logiciel serveur à la fin de 1990. Cette année-là, Berners-Lee et l' ingénieur des systèmes de données du CERN, Robert Cailliau , ont collaboré à une demande conjointe de financement, mais le projet n'a pas été officiellement adopté par le CERN. Dans ses notes personnelles [4] de 1990, il a énuméré [5]"certains des nombreux domaines dans lesquels l'hypertexte est utilisé" et de mettre une encyclopédie en premier.

La première description publiquement disponible de HTML était un document appelé "HTML Tags" , mentionné pour la première fois sur Internet par Tim Berners-Lee à la fin de 1991. [6] [7] Il décrit 18 éléments comprenant la conception initiale relativement simple de HTML. À l'exception de la balise de lien hypertexte, ceux-ci ont été fortement influencés par SGMLguid , un format de documentation interne basé sur le langage de balisage généralisé standard (SGML) du CERN. Onze de ces éléments existent toujours dans HTML 4. [8]

HTML est un langage de balisage que les navigateurs Web utilisent pour interpréter et composer du texte, des images et d'autres éléments dans des pages Web visuelles ou audibles. Les caractéristiques par défaut de chaque élément de balisage HTML sont définies dans le navigateur, et ces caractéristiques peuvent être modifiées ou améliorées par l'utilisation supplémentaire de CSS par le concepteur de la page Web . De nombreux éléments de texte se trouvent dans le rapport technique ISO de 1988 TR 9537 Techniques d'utilisation de SGML , qui à son tour couvre les fonctionnalités des premiers langages de formatage de texte tels que celui utilisé par la commande RUNOFF développée au début des années 1960 pour le CTSS(Compatible Time-Sharing System) : ces commandes de formatage sont dérivées des commandes utilisées par les compositeurs pour formater manuellement les documents. Cependant, le concept SGML de balisage généralisé est basé sur des éléments (plages annotées imbriquées avec attributs) plutôt que sur de simples effets d'impression, avec également la séparation de la structure et du balisage ; HTML a été progressivement déplacé dans cette direction avec CSS.

Berners-Lee considérait HTML comme une application de SGML. Il a été formellement défini comme tel par l' Internet Engineering Task Force (IETF) avec la publication au milieu de 1993 de la première proposition de spécification HTML, le "Hypertext Markup Language (HTML)" Internet Draft de Berners-Lee et Dan Connolly , qui inclus une définition de type de document SGML pour définir la grammaire. [9] [10] Le brouillon a expiré après six mois, mais était remarquable pour sa reconnaissance de la balise personnalisée du navigateur NCSA Mosaic pour l'intégration d'images en ligne, reflétant la philosophie de l'IETF de baser les normes sur des prototypes réussis. De même, Dave RaggettL'Internet-Draft concurrent de "HTML+ (Hypertext Markup Format)", datant de la fin de 1993, suggérait de standardiser les fonctionnalités déjà implémentées comme les tableaux et les formulaires à remplir. [11]

Après l'expiration des brouillons HTML et HTML + au début de 1994, l'IETF a créé un groupe de travail HTML, qui en 1995 a achevé "HTML 2.0", la première spécification HTML destinée à être traitée comme une norme sur laquelle les futures implémentations devraient être basées. [12]

La poursuite du développement sous les auspices de l'IETF a été bloquée par des intérêts concurrents. Depuis 1996, les spécifications HTML sont maintenues, avec la contribution des éditeurs de logiciels commerciaux, par le World Wide Web Consortium (W3C). [13] Cependant, en 2000, HTML est également devenu une norme internationale ( ISO / IEC 15445:2000). HTML 4.01 a été publié à la fin de 1999, avec d'autres errata publiés jusqu'en 2001. En 2004, le développement a commencé sur HTML5 dans le groupe de travail sur la technologie d'application hypertexte Web (WHATWG), qui est devenu un livrable conjoint avec le W3C en 2008, et complété et normalisé sur 28 octobre 2014. [14]

Chronologie des versions HTML

HTML2

24 novembre 1995
HTML 2.0 a été publié en tant que RFC  1866 . Fonctionnalités ajoutées par les RFC supplémentaires :

HTML3

14 janvier 1997
HTML 3.2 [15] a été publié en tant que recommandation du W3C . C'était la première version développée et standardisée exclusivement par le W3C, car l'IETF avait fermé son groupe de travail HTML le 12 septembre 1996. [16]
Initialement nommé "Wilbur", [17] HTML 3.2 a complètement abandonné les formules mathématiques, a concilié le chevauchement entre diverses extensions propriétaires et a adopté la plupart des balises de balisage visuel de Netscape . L' élément clignotant de Netscape et l'élément chapiteau de Microsoft ont été omis en raison d'un accord mutuel entre les deux sociétés. [13] Un balisage pour les formules mathématiques similaire à celui de HTML n'a été normalisé que 14 mois plus tard dans MathML .

HTML4

18 décembre 1997
HTML 4.0 [18] a été publié en tant que recommandation du W3C. Il propose trois variantes :
  • Strict, dans lequel les éléments obsolètes sont interdits
  • Transitionnel, dans lequel les éléments obsolètes sont autorisés
  • Frameset, dans lequel seuls les éléments liés au cadre sont généralement autorisés.
Initialement nommé "Cougar", [17] HTML 4.0 a adopté de nombreux types d'éléments et attributs spécifiques au navigateur, mais a en même temps cherché à supprimer progressivement les fonctionnalités de balisage visuel de Netscape en les marquant comme obsolètes au profit des feuilles de style. HTML 4 est une application SGML conforme à la norme ISO 8879 – SGML. [19]
24 avril 1998
HTML 4.0 [20] a été réédité avec des modifications mineures sans incrémentation du numéro de version.
24 décembre 1999
HTML 4.01 [21] a été publié en tant que recommandation du W3C. Il propose les trois mêmes variantes que HTML 4.0 et ses derniers errata ont été publiés le 12 mai 2001.
Mai 2000
ISO/IEC 15445:2000 [22] [23]ISO HTML », basé sur HTML 4.01 Strict) a été publié en tant que norme internationale ISO/IEC. Dans l'ISO, cette norme relève du domaine de l' ISO/CEI JTC1/SC34 (Comité technique mixte ISO/CEI 1, sous-comité 34 – Description des documents et langages de traitement). [22]
Après HTML 4.01, il n'y a pas eu de nouvelle version de HTML pendant de nombreuses années, car le développement du langage XHTML parallèle basé sur XML a occupé le groupe de travail HTML du W3C au début et au milieu des années 2000.

HTML5

28 octobre 2014
HTML5 [24] a été publié en tant que recommandation du W3C. [25]
1 novembre 2016
HTML 5.1 [26] a été publié en tant que recommandation du W3C. [27] [28]
14 décembre 2017
HTML 5.2 [29] a été publié en tant que recommandation du W3C. [30] [31]

Chronologie de la version brouillon HTML

Octobre 1991
HTML Tags , [6] un document informel du CERN répertoriant 18 balises HTML, a été mentionné pour la première fois en public.
juin 1992
Premier projet informel de la DTD HTML, [32] avec sept [33] [34] [35] révisions ultérieures (15 juillet, 6 août, 18 août, 17 novembre, 19 novembre, 20 novembre, 22 novembre)
novembre 1992
HTML DTD 1.1 (la première avec un numéro de version, basé sur les révisions RCS, qui commencent par 1.1 au lieu de 1.0), un brouillon informel [35]
juin 1993
Le langage de balisage hypertexte [36] a été publié par le groupe de travail IETF IIIR en tant que projet Internet (une proposition approximative de norme). Elle a été remplacée par une seconde version [37] un mois plus tard.
novembre 1993
HTML + a été publié par l'IETF en tant que brouillon Internet et était une proposition concurrente du brouillon du langage de balisage hypertexte. Il a expiré en juillet 1994. [38]
novembre 1994
Premier projet (révision 00) de HTML 2.0 publié par l'IETF lui-même [39] (appelé "HTML 2.0" à partir de la révision 02 [40] ), qui a finalement conduit à la publication de la RFC 1866 en novembre 1995. [41] 
Avril 1995 (rédigé en mars 1995)
HTML 3.0 [42] a été proposé comme norme à l'IETF, mais la proposition a expiré cinq mois plus tard (28 septembre 1995) [43] sans autre action. Il comprenait de nombreuses fonctionnalités de la proposition HTML + de Raggett, telles que la prise en charge des tableaux, le flux de texte autour des figures et l'affichage de formules mathématiques complexes. [43]
Le W3C a commencé le développement de son propre navigateur Arena comme banc d'essai pour HTML 3 et les feuilles de style en cascade, [44] [45] [46] mais HTML 3.0 n'a pas réussi pour plusieurs raisons. Le projet était considéré comme très volumineux à 150 pages et le rythme de développement du navigateur, ainsi que le nombre de parties intéressées, avaient dépassé les ressources de l'IETF. [13] Les fournisseurs de navigateurs, y compris Microsoft et Netscape à l'époque, ont choisi d'implémenter différents sous-ensembles de fonctionnalités préliminaires de HTML 3 ainsi que d'y introduire leurs propres extensions. [13] (voir Guerres des navigateurs). Celles-ci comprenaient des extensions pour contrôler les aspects stylistiques des documents, contrairement à « la croyance [de la communauté universitaire des ingénieurs] selon laquelle des éléments tels que la couleur du texte, la texture d'arrière-plan, la taille de la police et le type de police sortaient définitivement du cadre d'une langue lorsque leur seule intention était pour spécifier comment un document serait organisé." [13] Dave Raggett, qui a été membre du W3C pendant de nombreuses années, a commenté par exemple : "Dans une certaine mesure, Microsoft a construit son activité sur le Web en étendant les fonctionnalités HTML." [13]
Logo officiel HTML5
Logo de HTML5
janvier 2008
HTML5 a été publié en tant qu'ébauche de travail par le W3C. [47]
Bien que sa syntaxe ressemble étroitement à celle de SGML , HTML5 a abandonné toute tentative d'être une application SGML et a explicitement défini sa propre sérialisation "html", en plus d'une sérialisation XHTML5 alternative basée sur XML. [48]
2011 HTML5 – Dernier appel
Le 14 février 2011, le W3C a étendu la charte de son groupe de travail HTML avec des jalons clairs pour HTML5. En mai 2011, le groupe de travail a avancé HTML5 vers "Last Call", une invitation aux communautés à l'intérieur et à l'extérieur du W3C pour confirmer la solidité technique de la spécification. Le W3C a développé une suite de tests complète pour atteindre une large interopérabilité pour la spécification complète d'ici 2014, qui était la date cible pour la recommandation. [49] En janvier 2011, le WHATWG a renommé son standard de vie "HTML5" en "HTML". Le W3C poursuit néanmoins son projet de sortie de HTML5. [50]
2012 HTML5 - Recommandation de candidat
En juillet 2012, le WHATWG et le W3C ont décidé d'un certain degré de séparation. Le W3C poursuivra le travail de spécification HTML5, en se concentrant sur une seule norme définitive, qui est considérée comme un "instantané" par le WHATWG. L'organisation WHATWG poursuivra son travail avec HTML5 en tant que "norme de vie". Le concept de niveau de vie est qu'il n'est jamais complet et qu'il est constamment mis à jour et amélioré. De nouvelles fonctionnalités peuvent être ajoutées mais les fonctionnalités ne seront pas supprimées. [51]
En décembre 2012, le W3C a désigné HTML5 comme recommandation candidate. [52] Le critère d'avancement vers la recommandation du W3C est "deux implémentations complètes à 100 % et entièrement interopérables". [53]
2014 HTML5 – Proposition de recommandation et recommandation
En septembre 2014, le W3C a déplacé HTML5 vers la recommandation proposée. [54]
Le 28 octobre 2014, HTML5 a été publié en tant que recommandation stable du W3C [55] , ce qui signifie que le processus de spécification est terminé. [56]

Versions XHTML

XHTML est un langage distinct qui a commencé comme une reformulation de HTML 4.01 à l'aide de XML 1.0. Il n'est plus développé en tant que norme distincte.

  • XHTML 1.0 a été publié en tant que recommandation du W3C le 26 janvier 2000 [57] et a ensuite été révisé et republié le 1er août 2002. Il offre les trois mêmes variantes que HTML 4.0 et 4.01, reformulées en XML, avec des restrictions mineures.
  • XHTML 1.1 [58] a été publié en tant que recommandation W3C le 31 mai 2001. Il est basé sur XHTML 1.0 Strict, mais inclut des modifications mineures, peut être personnalisé et est reformulé à l'aide de modules de la recommandation W3C "Modularisation de XHTML", qui a été publié le 10 avril 2001. [59]
  • XHTML 2.0 était un projet de travail, les travaux sur celui-ci ont été abandonnés en 2009 au profit de travaux sur HTML5 et XHTML5 . [60] [61] [62] XHTML 2.0 était incompatible avec XHTML 1.x et, par conséquent, serait caractérisé plus précisément comme un nouveau langage inspiré de XHTML qu'une mise à jour vers XHTML 1.x.
  • Une syntaxe XHTML, connue sous le nom de "XHTML5.1", est définie parallèlement à HTML5 dans le brouillon HTML5. [63]

Transition de la publication HTML vers WHATWG

Le 28 mai 2019, le W3C a annoncé que WHATWG serait le seul éditeur des standards HTML et DOM. [64] [65] [66] [67] Le W3C et le WHATWG publiaient des normes concurrentes depuis 2012. Alors que la norme du W3C était identique au WHATWG en 2007, les normes ont depuis progressivement divergé en raison de décisions de conception différentes. [68] Le WHATWG "Living Standard" était la norme Web de facto depuis un certain temps. [69]

Balisage

Le balisage HTML se compose de plusieurs composants clés, y compris ceux appelés balises (et leurs attributs ), types de données basés sur des caractères , références de caractères et références d' entités . Les balises HTML viennent le plus souvent par paires comme et , bien que certaines représentent des éléments vides et ne soient donc pas appariées, par exemple . La première balise d'une telle paire est la balise de début et la seconde est la balise de fin (elles sont également appelées balises d'ouverture et balises de fermeture ). <h1></h1><img>

Un autre composant important est la déclaration de type de document HTML , qui déclenche le rendu en mode standard .

Voici un exemple du classique "Hello, World!" programme :

<!DOCTYPE html> 
< html > 
  < head > 
    < title > Ceci est un titre </ title > 
  </ head > 
  < body > 
    < div > 
        < p > Bonjour tout le monde ! </ p > 
    </ div > 
  </ corps > 
</ html >

Le texte entre et décrit la page Web, et le texte entre et est le contenu visible de la page. Le texte de balisage définit le titre de la page du navigateur affiché sur les onglets du navigateur et les titres de fenêtre , et la balise définit une division de la page utilisée pour un style facile. De plus, un élément est utilisé entre et , qui peut être utilisé pour définir les métadonnées de la page Web. <html></html><body></body><title>This is a title</title><div><meta><head></head>

La déclaration de type de document <!DOCTYPE html>est pour HTML5. Si une déclaration n'est pas incluse, divers navigateurs reviendront au " mode quirks " pour le rendu. [70]

Éléments

Les documents HTML impliquent une structure d' éléments HTML imbriqués . Celles-ci sont indiquées dans le document par des balises HTML , mises entre crochets ainsi : . [71] [ meilleure source nécessaire ]<p>

Dans le cas simple et général, l'étendue d'un élément est indiquée par une paire de balises : une "balise de début" et une "balise de fin" . Le contenu textuel de l'élément, le cas échéant, est placé entre ces balises. <p></p>

Les balises peuvent également inclure un balisage supplémentaire entre le début et la fin, y compris un mélange de balises et de texte. Cela indique d'autres éléments (imbriqués), en tant qu'enfants de l'élément parent.

La balise de début peut également inclure les attributs de l'élément dans la balise. Ceux-ci indiquent d'autres informations, telles que les identifiants des sections du document, les identifiants utilisés pour lier les informations de style à la présentation du document, et pour certaines balises telles que celles utilisées pour incorporer des images, la référence à la ressource image dans le format comme celui-ci :<img><img src="example.com/example.jpg">

Certains éléments, tels que le saut de ligne , ou n'autorisent aucun contenu intégré, qu'il s'agisse de texte ou d'autres balises. Ceux-ci ne nécessitent qu'une seule balise vide (semblable à une balise de début) et n'utilisent pas de balise de fin. <br><br />

De nombreuses balises, en particulier la balise de fin fermante de l'élément de paragraphe très couramment utilisé , sont facultatives. Un navigateur HTML ou un autre agent peut déduire la fermeture de la fin d'un élément à partir du contexte et des règles structurelles définies par le standard HTML. Ces règles sont complexes et peu comprises par la plupart des codeurs HTML. <p>

La forme générale d'un élément HTML est donc : . Certains éléments HTML sont définis comme des éléments vides et prennent la forme . Les éléments vides peuvent ne contenir aucun contenu, par exemple, la balise ou la balise en ligne. Le nom d'un élément HTML est le nom utilisé dans les balises. Notez que le nom de la balise de fin est précédé d'une barre oblique, , et que dans les éléments vides, la balise de fin n'est ni obligatoire ni autorisée. Si les attributs ne sont pas mentionnés, les valeurs par défaut sont utilisées dans chaque cas. <tag attribute1="value1" attribute2="value2">''content''</tag><tag attribute1="value1" attribute2="value2"><br><img>/

Exemples d'éléments

En-tête du document HTML : . Le titre est inclus dans l'en-tête, par exemple : <head>...</head>

< head > 
  < title > Le titre </ title > 
  < link  rel = "stylesheet"  href = "stylebyjimbowales.css"  />  <!-- Importe les feuilles de style --> 
</ head >
Rubriques

Les en-têtes HTML sont définis avec les balises to , H1 étant le niveau le plus élevé (ou le plus important) et H6 le moins : <h1><h6>

< h1 > Titre niveau 1 </ h1 > 
< h2 > Titre niveau 2 </ h2 > 
< h3 > Titre niveau 3 </ h3 > 
< h4 > Titre niveau 4 </ h4 > 
< h5 > Titre niveau 5 </ h5 > 
< h6 > Titre niveau 6 </ h6 >

Les effets sont :

Titre Niveau 1
Titre Niveau 2
Titre niveau 3
Titre Niveau 4
Titre niveau 5
Titre niveau 6

Notez que CSS peut changer radicalement le rendu.

Paragraphes :

< p > Paragraphe 1 </ p >  < p > Paragraphe 2 </ p >

Sauts de ligne :

<br>. La différence entre et est que coupe une ligne sans altérer la structure sémantique de la page, tandis que sectionne la page en paragraphes . L'élément est un élément vide dans le sens où, bien qu'il puisse avoir des attributs, il ne peut prendre aucun contenu et il peut ne pas avoir de balise de fin. <br><p><br> <p><br>

< p > Ce < br > est un paragraphe < br > avec < br > sauts de ligne </ p >

Ceci est un lien en HTML. Pour créer un lien, la balise est utilisée. L' attribut contient l' adresse URL du lien. <a>href

< a  href = "https://www.wikipedia.org/" > Un lien vers Wikipédia ! </a> _ _

Contributions:

Il existe de nombreuses façons possibles pour un utilisateur de donner des entrées comme :

< input  type = "text"  />  <!-- C'est pour la saisie de texte -->
< input  type = "file"  />  <!-- C'est pour télécharger des fichiers -->
< input  type = "checkbox"  />  <!-- C'est pour les cases à cocher -->

Commentaires:

<!-- Ceci est un commentaire -->

Les commentaires peuvent aider à comprendre le balisage et ne s'affichent pas sur la page Web.

Il existe plusieurs types d'éléments de balisage utilisés en HTML :

Le balisage structurel indique le but du texte
Par exemple, établit "Golf" comme titre de second niveau . Le balisage structurel n'indique aucun rendu spécifique, mais la plupart des navigateurs Web ont des styles par défaut pour la mise en forme des éléments. Le contenu peut être stylisé davantage à l'aide de feuilles de style en cascade (CSS). [72]<h2>Golf</h2>
Le balisage de présentation indique l'apparence du texte, quel que soit son objectif
Par exemple, indique que les périphériques de sortie visuels doivent rendre "gras" dans le texte en gras, mais donne peu d'indications sur ce que les périphériques qui ne peuvent pas faire cela (tels que les périphériques auditifs qui lisent le texte à haute voix) doivent le faire. Dans le cas de et , il existe d'autres éléments qui peuvent avoir des rendus visuels équivalents mais qui sont de nature plus sémantique, tels que et respectivement. Il est plus facile de voir comment un agent utilisateur auditif devrait interpréter ces deux derniers éléments. Cependant, ils ne sont pas équivalents à leurs homologues de présentation : il ne serait pas souhaitable qu'un lecteur d'écran mette l'accent sur le nom d'un livre, par exemple, mais sur un écran un tel nom serait en italique. La plupart des éléments de balisage de présentation sont devenus obsolètes<b>bold text</b><b>bold text</b><i>italic text</i><strong>strong text</strong><em>emphasized text</em>sous la spécification HTML 4.0 en faveur de l'utilisation de CSS pour le style.
Le balisage hypertexte transforme des parties d'un document en liens vers d'autres documents
Un élément d'ancrage crée un lien hypertexte dans le document et son hrefattribut définit l' URL cible du lien . Par exemple, le balisage HTML affichera le mot « Wikipédia » sous la forme d'un lien hypertexte. Pour restituer une image sous forme de lien hypertexte, un élément est inséré en tant que contenu dans l' élément. Comme , est un élément vide avec des attributs mais sans contenu ni balise de fermeture. .<a href="https://www.google.com/">Wikipedia</a>imgabrimg<a href="https://example.org"><img src="image.gif" alt="descriptive text" width="50" height="50" border="0"></a>

Les attributs

La plupart des attributs d'un élément sont des paires nom-valeur , séparés par =et écrits dans la balise de début d'un élément après le nom de l'élément. La valeur peut être entourée de guillemets simples ou doubles, bien que les valeurs composées de certains caractères puissent être laissées sans guillemets en HTML (mais pas en XHTML). [73] [74] Laisser des valeurs d'attribut sans guillemets est considéré comme dangereux. [75] Contrairement aux attributs de paire nom-valeur, certains attributs affectent l'élément simplement par leur présence dans la balise de début de l'élément, [6] comme l' ismapattribut de l' imgélément. [76]

Il existe plusieurs attributs communs qui peuvent apparaître dans de nombreux éléments :

  • L' idattribut fournit un identifiant unique à l'échelle du document pour un élément. Ceci est utilisé pour identifier l'élément afin que les feuilles de style puissent modifier ses propriétés de présentation et que les scripts puissent modifier, animer ou supprimer son contenu ou sa présentation. Ajouté à l'URL de la page, il fournit un identifiant global unique pour l'élément, généralement une sous-section de la page. Par exemple, l'ID "Attributs" dans https://en.wikipedia.org/wiki/HTML#Attributes.
  • L' classattribut fournit un moyen de classer des éléments similaires. Cela peut être utilisé à des fins sémantiques ou de présentation. Par exemple, un document HTML peut utiliser sémantiquement la désignation pour indiquer que tous les éléments avec cette valeur de classe sont subordonnés au texte principal du document. Dans la présentation, ces éléments peuvent être rassemblés et présentés sous forme de notes de bas de page sur une page au lieu d'apparaître à l'endroit où ils apparaissent dans la source HTML. Les attributs de classe sont utilisés sémantiquement dans les microformats . Plusieurs valeurs de classe peuvent être spécifiées ; par exemple place l'élément à la fois dans les classes et dans les classes .<class="notation"><class="notation important">notationimportant
  • Un auteur peut utiliser l' styleattribut pour attribuer des propriétés de présentation à un élément particulier. Il est considéré comme une meilleure pratique d'utiliser un élément idou des classattributs pour sélectionner l'élément à partir d'une feuille de style , bien que cela puisse parfois être trop fastidieux pour un style simple, spécifique ou ad hoc.
  • L' titleattribut est utilisé pour attacher une explication sous-textuelle à un élément. Dans la plupart des navigateurs , cet attribut est affiché sous forme d' info- bulle .
  • L' langattribut identifie la langue naturelle du contenu de l'élément, qui peut être différente de celle du reste du document. Par exemple, dans un document en anglais :
    < p > Eh bien, < span  lang = "fr" > c'est la vie </ span > , comme on dit en France. </ p >
    

L'élément d'abréviation, abbr, peut être utilisé pour illustrer certains de ces attributs :

< abbr  id = "anId"  class = "jargon"  style = "color:purple;"  title = "Langage de balisage hypertexte" > HTML </ abbr >

Cet exemple s'affiche en HTML ; dans la plupart des navigateurs, pointer le curseur sur l'abréviation devrait afficher le texte du titre "Langage de balisage hypertexte".

La plupart des éléments prennent l'attribut lié à la langue dirpour spécifier la direction du texte, comme avec "rtl" pour le texte de droite à gauche, par exemple en arabe , en persan ou en hébreu . [77]

Références de caractère et d'entité

Depuis la version 4.0, HTML définit un ensemble de 252 références d'entités de caractères et un ensemble de 1 114 050 références de caractères numériques , qui permettent tous deux d'écrire des caractères individuels via un simple balisage, plutôt que littéralement. Un caractère littéral et son équivalent de balisage sont considérés comme équivalents et sont rendus de manière identique.

La capacité à " échapper " les caractères de cette manière permet aux caractères <et &(lorsqu'ils sont écrits comme &lt;et &amp;, respectivement) d'être interprétés comme des données de caractères, plutôt que comme du balisage. Par exemple, un littéral <indique normalement le début d'une balise et &indique normalement le début d'une référence d'entité de caractère ou d'une référence de caractère numérique ; l'écrire comme &amp;ou &#x26;ou &#38;permet &d'être inclus dans le contenu d'un élément ou dans la valeur d'un attribut. Le caractère guillemet double ( "), lorsqu'il n'est pas utilisé pour citer une valeur d'attribut, doit également être échappé comme &quot;ou &#x22;ou&#34;lorsqu'il apparaît dans la valeur d'attribut elle-même. De manière équivalente, le caractère guillemet simple ( '), lorsqu'il n'est pas utilisé pour citer une valeur d'attribut, doit également être échappé comme &#x27;ou &#39;(ou comme &apos;dans les documents HTML5 ou XHTML [78] [79] ) lorsqu'il apparaît dans la valeur d'attribut elle-même. Si les auteurs de documents négligent la nécessité d'échapper à ces caractères, certains navigateurs peuvent être très indulgents et essayer d'utiliser le contexte pour deviner leur intention. Le résultat est toujours un balisage non valide, ce qui rend le document moins accessible aux autres navigateurs et aux autres agents utilisateurs qui peuvent essayer d'analyser le document à des fins de recherche et d'indexation , par exemple.

L'échappement permet également aux caractères qui ne sont pas faciles à saisir ou qui ne sont pas disponibles dans le codage de caractères du document d'être représentés dans le contenu de l'élément et de l'attribut. Par exemple, l'accent aigu e( é), un caractère que l'on ne trouve généralement que sur les claviers d'Europe occidentale et d'Amérique du Sud, peut être écrit dans n'importe quel document HTML comme référence d'entité &eacute;ou comme référence numérique &#xE9;ou &#233;, en utilisant des caractères disponibles sur tous les claviers et sont pris en charge dans tous les codages de caractères. Les encodages de caractères Unicode tels que UTF-8 sont compatibles avec tous les navigateurs modernes et permettent un accès direct à presque tous les caractères des systèmes d'écriture du monde. [80]

Exemple de séquences d'échappement HTML
Nommé Décimal Hexadécimal Résultat La description Remarques
&amp; &#38; &#x26; & Esperluette
&lt; &#60; &#x3C; < Moins que
&gt; &#62; &#x3e; > Plus grand que
&quot; &#34; &#x22; " Double citation
&apos; &#39; &#x27; ' Simple citation
&nbsp; &#160; &#xA0; Espace non-cassant
&copy; &#169; &#xA9; © droits d'auteur
&reg; &#174; &#xAE; ® Marque déposée
&dagger; &#8224; &#x2020; Dague
&Dagger; &#8225; &#x2021; poignard double Les noms sont sensibles à la casse
&ddagger; &#8225; &#x2021; poignard double Les noms peuvent avoir des synonymes
&trade; &#8482; &#x2122; Marque déposée

Types de données

HTML définit plusieurs types de données pour le contenu des éléments, tels que les données de script et les données de feuille de style, et une pléthore de types pour les valeurs d'attribut, y compris les identifiants, les noms, les URI, les nombres, les unités de longueur, les langues, les descripteurs de média, les couleurs, les encodages de caractères, les dates et les heures, et ainsi de suite. Tous ces types de données sont des spécialisations de données de caractères.

Déclaration du type de document

Les documents HTML doivent commencer par une déclaration de type de document (de manière informelle, un "doctype"). Dans les navigateurs, le doctype aide à définir le mode de rendu, en particulier s'il faut utiliser le mode quirks .

L'objectif initial du doctype était de permettre l'analyse et la validation de documents HTML par des outils SGML basés sur la définition de type de document (DTD). La DTD à laquelle le DOCTYPE fait référence contient une grammaire lisible par machine spécifiant le contenu autorisé et interdit pour un document conforme à une telle DTD. Les navigateurs, en revanche, n'implémentent pas HTML comme une application de SGML et par conséquent ne lisent pas la DTD.

HTML5 ne définit pas de DTD ; par conséquent, en HTML5, la déclaration de doctype est plus simple et plus courte : [81]

<!DOCTYPE html>

Un exemple de doctype HTML 4

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

Cette déclaration fait référence à la DTD pour la version "stricte" de HTML 4.01. Les validateurs basés sur SGML lisent la DTD afin d'analyser correctement le document et d'effectuer la validation. Dans les navigateurs modernes, un doctype valide active le mode standard par opposition au mode quirks .

De plus, HTML 4.01 fournit des DTD de transition et de jeu de cadres, comme expliqué ci-dessous . Le type transitionnel est le plus inclusif, incorporant les balises actuelles ainsi que les balises plus anciennes ou "obsolètes", la DTD stricte excluant les balises obsolètes. Frameset contient toutes les balises nécessaires pour créer des cadres sur une page, ainsi que les balises incluses dans le type de transition. [82]

HTML sémantique

Le HTML sémantique est une manière d'écrire du HTML qui met l'accent sur la signification de l'information encodée plutôt que sur sa présentation (apparence). HTML a inclus un balisage sémantique depuis sa création, [83] mais a également inclus un balisage de présentation, tel que , et des balises. Il y a aussi les balises span et div sémantiquement neutres . Depuis la fin des années 1990, lorsque les feuilles de style en cascade ont commencé à fonctionner dans la plupart des navigateurs, les auteurs Web ont été encouragés à éviter l'utilisation du balisage HTML de présentation en vue de la séparation de la présentation et du contenu . [84]<font><i><center>

Dans une discussion sur le Web sémantique en 2001 , Tim Berners-Lee et d'autres ont donné des exemples de la manière dont des "agents" logiciels intelligents pourraient un jour explorer automatiquement le Web et trouver, filtrer et corréler des faits publiés auparavant sans rapport au profit des utilisateurs humains. . [85] De tels agents ne sont pas monnaie courante même maintenant, mais certaines des idées du Web 2.0 , des mashups et des sites Web de comparaison de prix pourraient se rapprocher. La principale différence entre ces hybrides d'applications Web et les agents sémantiques de Berners-Lee réside dans le fait que l' agrégation et l'hybridation actuelles des informations sont généralement conçues par les développeurs Web., qui connaissent déjà les emplacements Web et la sémantique API des données spécifiques qu'ils souhaitent mélanger, comparer et combiner.

Un type important d'agent Web qui explore et lit les pages Web automatiquement, sans connaissance préalable de ce qu'il pourrait trouver, est le robot d'exploration Web ou l'araignée des moteurs de recherche. Ces agents logiciels dépendent de la clarté sémantique des pages Web qu'ils trouvent car ils utilisent diverses techniques et algorithmes pour lire et indexer des millions de pages Web par jour et fournir aux internautes des fonctions de recherche sans lesquelles l'utilité du World Wide Web serait considérablement réduite.

Pour que les spiders des moteurs de recherche puissent évaluer l'importance des morceaux de texte qu'ils trouvent dans les documents HTML, et aussi pour ceux qui créent des mashups et autres hybrides ainsi que pour les agents plus automatisés au fur et à mesure de leur développement, les structures sémantiques qui existent en HTML doivent être largement et uniformément appliqués pour faire ressortir le sens du texte publié. [86]

Les balises de balisage de présentation sont obsolètes dans les recommandations HTML et XHTML actuelles. La majorité des fonctionnalités de présentation des versions précédentes de HTML ne sont plus autorisées car elles entraînent une accessibilité plus faible, un coût de maintenance du site plus élevé et des documents de plus grande taille. [87]

Un bon HTML sémantique améliore également l' accessibilité des documents Web (voir aussi Web Content Accessibility Guidelines ). Par exemple, lorsqu'un lecteur d'écran ou un navigateur audio peut déterminer correctement la structure d'un document, il ne fera pas perdre de temps à l'utilisateur malvoyant en lisant des informations répétées ou non pertinentes lorsqu'elles ont été correctement balisées.

Livraison

Les documents HTML peuvent être livrés par le même moyen que tout autre fichier informatique. Cependant, ils sont le plus souvent délivrés soit par HTTP à partir d'un serveur web , soit par email .

HTTP

Le World Wide Web est composé principalement de documents HTML transmis des serveurs Web aux navigateurs Web à l'aide du protocole de transfert hypertexte (HTTP). Cependant, HTTP est utilisé pour diffuser des images, du son et d'autres contenus, en plus du HTML. Pour permettre au navigateur Web de savoir comment traiter chaque document qu'il reçoit, d'autres informations sont transmises avec le document. Ces métadonnées incluent généralement le type MIME (par exemple, text/htmlou application/xhtml+xml) et l'encodage des caractères (voir Encodage des caractères en HTML ).

Dans les navigateurs modernes, le type MIME envoyé avec le document HTML peut affecter l'interprétation initiale du document. Un document envoyé avec le type XHTML MIME est supposé être du XML bien formé ; des erreurs de syntaxe peuvent empêcher le navigateur de le rendre. Le même document envoyé avec le type HTML MIME peut être affiché avec succès, car certains navigateurs sont plus indulgents avec HTML.

Les recommandations du W3C stipulent que les documents XHTML 1.0 qui suivent les directives énoncées dans l'annexe C de la recommandation peuvent être étiquetés avec l'un ou l'autre type MIME. [88] XHTML 1.1 stipule également que les documents XHTML 1.1 doivent [89] être étiquetés avec l'un ou l'autre type MIME. [90]

Courriel HTML

La plupart des clients de messagerie graphiques permettent l'utilisation d'un sous-ensemble de HTML (souvent mal défini) pour fournir un formatage et un balisage sémantique non disponibles avec le texte brut . Cela peut inclure des informations typographiques telles que des en-têtes colorés, du texte souligné et cité, des images en ligne et des diagrammes. Beaucoup de ces clients incluent à la fois un éditeur graphique pour composer des messages électroniques HTML et un moteur de rendu pour les afficher. L'utilisation de HTML dans les e-mails est critiquée par certains en raison de problèmes de compatibilité, car il peut aider à déguiser les attaques de phishing , en raison de problèmes d'accessibilité pour les personnes aveugles ou malvoyantes, car il peut confondre les filtres anti- spam et parce que la taille du message est plus grande que la normale. texte.

Conventions de nommage

L' extension de nom de fichier la plus courante pour les fichiers contenant du HTML est .html. Une abréviation courante de ceci est .htm, qui est née parce que certains premiers systèmes d'exploitation et systèmes de fichiers, tels que DOS et les limitations imposées par la structure de données FAT , limitaient les extensions de fichier à trois lettres . [91]

Application HTML

Une application HTML (HTA ; extension de fichier ".hta") est une application Microsoft Windows qui utilise HTML et Dynamic HTML dans un navigateur pour fournir l'interface graphique de l'application. Un fichier HTML normal est confiné au modèle de sécurité de la sécurité du navigateur Web , communiquant uniquement aux serveurs Web et manipulant uniquement les objets de la page Web et les cookies du site . Un HTA fonctionne comme une application entièrement fiable et a donc plus de privilèges, comme la création/modification/suppression de fichiers et d' entrées de registre Windows . Parce qu'ils fonctionnent en dehors du modèle de sécurité du navigateur, les HTA ne peuvent pas être exécutés via HTTP, mais doivent être téléchargés (tout comme un fichier EXE ) et exécutés à partir du système de fichiers local.

Variantes HTML4

Depuis sa création, HTML et ses protocoles associés ont été acceptés assez rapidement. [ par qui ? ] Cependant, aucune norme claire n'existait dans les premières années de la langue. Bien que ses créateurs aient à l'origine conçu HTML comme un langage sémantique dépourvu de détails de présentation, [92] des utilisations pratiques ont poussé de nombreux éléments et attributs de présentation dans le langage, largement pilotés par les différents fournisseurs de navigateurs. Les dernières normes entourant HTML reflètent les efforts visant à surmonter le développement parfois chaotique du langage [93] et à créer une base rationnelle pour la construction de documents à la fois significatifs et bien présentés. Pour redonner au HTML son rôle de langage sémantique, le W3Ca développé des langages de style tels que CSS et XSL pour assumer le fardeau de la présentation. Parallèlement, la spécification HTML a lentement limité les éléments de présentation.

Il existe deux axes qui différencient les diverses variantes de HTML telles qu'elles sont actuellement spécifiées : HTML basé sur SGML par rapport à HTML basé sur XML (appelé XHTML) sur un axe, et strict par rapport à transitionnel (lâche) par rapport à frameset sur l'autre axe.

HTML basé sur SGML versus basé sur XML

Une différence dans les dernières spécifications HTML réside dans la distinction entre la spécification basée sur SGML et la spécification basée sur XML. La spécification basée sur XML est généralement appelée XHTML pour la distinguer clairement de la définition plus traditionnelle. Cependant, le nom de l'élément racine continue d'être "html" même dans le code HTML spécifié par XHTML. Le W3C voulait que XHTML 1.0 soit identique à HTML 4.01, sauf là où les limitations de XML sur le SGML plus complexe nécessitent des solutions de contournement. Parce que XHTML et HTML sont étroitement liés, ils sont parfois documentés en parallèle. Dans de telles circonstances, certains auteurs confondent les deux noms en (X)HTML ou X(HTML).

Comme HTML 4.01, XHTML 1.0 a trois sous-spécifications : stricte, transitionnelle et frameset.

Outre les différentes déclarations d'ouverture d'un document, les différences entre un document HTML 4.01 et XHTML 1.0 - dans chacune des DTD correspondantes - sont en grande partie syntaxiques. La syntaxe sous-jacente de HTML autorise de nombreux raccourcis que XHTML ne permet pas, tels que des éléments avec des balises d'ouverture ou de fermeture facultatives, et même des éléments vides qui ne doivent pas avoir de balise de fin. En revanche, XHTML exige que tous les éléments aient une balise d'ouverture et une balise de fermeture. XHTML, cependant, introduit également un nouveau raccourci : une balise XHTML peut être ouverte et fermée dans la même balise, en incluant une barre oblique avant la fin de la balise comme ceci :<br/>. L'introduction de ce raccourci, qui n'est pas utilisé dans la déclaration SGML pour HTML 4.01, peut confondre les logiciels antérieurs peu familiers avec cette nouvelle convention. Une solution consiste à inclure un espace avant de fermer la balise, en tant que tel : . [94]<br />

Pour comprendre les différences subtiles entre HTML et XHTML, considérez la transformation d'un document XHTML 1.0 valide et bien formé qui adhère à l'annexe C (voir ci-dessous) en un document HTML 4.01 valide. Pour effectuer cette traduction, il faut suivre les étapes suivantes :

  1. La langue d'un élément doit être spécifiée avec un langattribut plutôt que l' xml:langattribut XHTML. XHTML utilise l'attribut de fonctionnalité de définition de langage intégré de XML.
  2. Supprimez l'espace de noms XML ( xmlns=URI). HTML n'a pas de facilités pour les espaces de noms.
  3. Modifiez la déclaration de type de document de XHTML 1.0 à HTML 4.01. (voir la section DTD pour plus d'explications).
  4. Si elle est présente, supprimez la déclaration XML. (Généralement c'est : <?xml version="1.0" encoding="utf-8"?>).
  5. Assurez-vous que le type MIME du document est défini sur text/html. Pour HTML et XHTML, cela provient de l'en-tête HTTP Content-Typeenvoyé par le serveur.
  6. Remplacez la syntaxe de l'élément vide XML par un élément vide de style HTML ( à ).<br /><br>

Ce sont les principaux changements nécessaires pour traduire un document de XHTML 1.0 vers HTML 4.01. Traduire de HTML en XHTML nécessiterait également l'ajout de toute balise d'ouverture ou de fermeture omise. Qu'il s'agisse de coder en HTML ou en XHTML, il peut être préférable de toujours inclure les balises facultatives dans un document HTML plutôt que de se souvenir des balises qui peuvent être omises.

Un document XHTML bien formé respecte toutes les exigences de syntaxe de XML. Un document valide respecte la spécification de contenu pour XHTML, qui décrit la structure du document.

Le W3C recommande plusieurs conventions pour assurer une migration facile entre HTML et XHTML (voir HTML Compatibility Guidelines ). Les étapes suivantes ne peuvent être appliquées qu'aux documents XHTML 1.0 :

  • Incluez les attributs xml:langet sur tous les éléments affectant la langue.lang
  • Utilisez la syntaxe d'élément vide uniquement pour les éléments spécifiés comme vides en HTML.
  • Incluez un espace supplémentaire dans les balises d'élément vide : par exemple au lieu de .<br /><br>
  • Incluez des balises de fermeture explicites pour les éléments qui autorisent le contenu mais sont laissés vides (par exemple, , pas ).<div></div><div />
  • Omettez la déclaration XML.

En suivant attentivement les directives de compatibilité du W3C, un agent utilisateur devrait être capable d'interpréter le document de la même manière en HTML ou en XHTML. Pour les documents XHTML 1.0 rendus compatibles de cette manière, le W3C autorise leur diffusion soit en HTML (avec un text/html type MIME ), soit en XHTML (avec un type MIME application/xhtml+xmlou ). application/xmlLorsqu'ils sont livrés en XHTML, les navigateurs doivent utiliser un analyseur XML, qui respecte strictement les spécifications XML pour l'analyse du contenu du document.

Transitionnel versus strict

HTML 4 a défini trois versions différentes du langage : Strict, Transitional (autrefois appelé Loose) et Frameset. La version Strict est destinée aux nouveaux documents et est considérée comme la meilleure pratique, tandis que les versions Transitional et Frameset ont été développées pour faciliter la transition de documents conformes à l'ancienne spécification HTML ou non conformes à une spécification vers une version de HTML 4. Les versions Transitional et Frameset permettent le balisage de présentation, qui est omis dans la version Strict. Au lieu de cela, les feuilles de style en cascade sont encouragées pour améliorer la présentation des documents HTML. Étant donné que XHTML 1 définit uniquement une syntaxe XML pour le langage défini par HTML 4, les mêmes différences s'appliquent également à XHTML 1.

La version Transitional autorise les parties suivantes du vocabulaire, qui ne sont pas incluses dans la version Strict :

  • Un modèle de contenu plus souple
    • Les éléments en ligne et le texte brut sont autorisés directement dans : body, blockquote, formetnoscriptnoframes
  • Éléments liés à la présentation
    • souligné ( u)(Obsolète. peut confondre un visiteur avec un lien hypertexte.)
    • barré ( s)
    • center(Obsolète. Utilisez CSS à la place.)
    • font(Obsolète. Utilisez CSS à la place.)
    • basefont(Obsolète. Utilisez CSS à la place.)
  • Attributs liés à la présentation
    • background(Obsolète. Utilisez CSS à la place.) et bgcolor(Obsolète. Utilisez CSS à la place.) Attributs pour body(élément requis selon le W3C.) élément.
    • align(Obsolète. Utilisez CSS à la place.) Attribut sur les éléments div, form, paragraphe ( p) et titre ( h1... h6)
    • align(Obsolète. Utilisez CSS à la place.), noshade(Obsolète. Utilisez CSS à la place.), size(Obsolète. Utilisez CSS à la place.) et width(Obsolète. Utilisez CSS à la place.) attributs sur hrl'élément
    • align(Obsolète. Utilisez CSS à la place.), border, vspaceet hspaceles attributs des éléments imget object(attention : l' objectélément n'est pris en charge que dans Internet Explorer (à partir des principaux navigateurs))
    • align(Obsolète. Utilisez CSS à la place.) attribut sur legendet captionéléments
    • align(Obsolète. Utilisez CSS à la place.) et bgcolor(Obsolète. Utilisez CSS à la place.) sur tablel'élément
    • nowrap(Obsolète), (Obsolète bgcolor. Utilisez CSS à la place.), width, heighton tdet thelements
    • bgcolor(Obsolète. Utilisez CSS à la place.) attribut sur trl'élément
    • clearAttribut (obsolète) sur brl'élément
    • compactattribut sur dlet élémentsdirmenu
    • type(Obsolète. Utilisez CSS à la place.), compact(Obsolète. Utilisez CSS à la place.) et start(Obsolète. Utilisez CSS à la place.) attributs sur olet uléléments
    • typeet valueattributs sur lil'élément
    • widthattribut sur preélément
  • Éléments supplémentaires dans la spécification transitoire
    • menu(Obsolète. Utilisez CSS à la place.) list (pas de substitut, bien qu'une liste non ordonnée soit recommandée)
    • dir(Obsolète. Utilisez CSS à la place.) list (pas de substitut, bien qu'une liste non ordonnée soit recommandée)
    • isindex(Obsolète.) (l'élément nécessite une prise en charge côté serveur et est généralement ajouté aux documents côté serveur, formet inputles éléments peuvent être utilisés comme substitut)
    • applet(Obsolète. Utilisez l' objectélément à la place.)
  • L' languageattribut (Obsolète) sur l'élément de script (redondant avec l' typeattribut).
  • Entités liées au cadre
    • iframe
    • noframes
    • target(Obsolète dans les éléments map, linket form.) attribut sur a, image-map côté client ( map) link, formet baseéléments

La version Frameset inclut tout dans la version Transitional, ainsi que l' framesetélément (utilisé à la place de body) et l' frameélément.

Jeu de cadres contre transitionnel

En plus des différences de transition ci-dessus, les spécifications de jeu de cadres (que ce soit XHTML 1.0 ou HTML 4.01) spécifient un modèle de contenu différent, en framesetremplaçant body, qui contient soit des frameéléments, soit éventuellement noframesun body.

Résumé des versions de spécifications

Comme le montre cette liste, les versions lâches de la spécification sont conservées pour la prise en charge héritée. Cependant, contrairement aux idées reçues, le passage à XHTML n'implique pas la suppression de cette prise en charge héritée. Au lieu de cela, le X dans XML signifie extensible et le W3C modularise l'ensemble de la spécification et l'ouvre à des extensions indépendantes. La principale réalisation du passage de XHTML 1.0 à XHTML 1.1 est la modularisation de l'ensemble de la spécification. La version stricte de HTML est déployée dans XHTML 1.1 via un ensemble d'extensions modulaires de la spécification XHTML 1.1 de base. De même, quelqu'un qui recherche les spécifications lâches (de transition) ou de jeu de cadres trouvera un support XHTML 1.1 étendu similaire (une grande partie est contenue dans les modules hérités ou de cadre). La modularisation permet également à des fonctionnalités distinctes de se développer selon leur propre calendrier. Ainsi, par exemple, XHTML 1.1 permettra une migration plus rapide vers les normes XML émergentes telles queMathML (un langage mathématique de présentation et sémantique basé sur XML) et XForms — une nouvelle technologie de formulaire Web très avancée pour remplacer les formulaires HTML existants.

En résumé, la spécification HTML 4 a principalement limité toutes les différentes implémentations HTML en une seule spécification clairement écrite basée sur SGML. XHTML 1.0 a porté cette spécification, telle quelle, vers la nouvelle spécification définie XML. Ensuite, XHTML 1.1 tire parti de la nature extensible de XML et modularise l'ensemble de la spécification. XHTML 2.0 était censé être la première étape de l'ajout de nouvelles fonctionnalités à la spécification dans une approche basée sur l'organisme de normalisation.

WHATWG HTML contre HTML5

Le HTML Living Standard, développé par le WHATWG, est la version officielle, tandis que le W3C HTML5 n'est plus séparé du WHATWG.

Éditeurs WYSIWYG

Il existe des éditeurs WYSIWYG (What You See Is What You Get), dans lesquels l'utilisateur présente tout tel qu'il doit apparaître dans le document HTML à l'aide d'une interface utilisateur graphique (GUI), souvent similaire aux traitements de texte . L'éditeur rend le document plutôt que d'afficher le code, de sorte que les auteurs n'ont pas besoin de connaissances approfondies en HTML.

Le modèle d'édition WYSIWYG a été critiqué, [95] [96] principalement à cause de la faible qualité du code généré ; il y a des voix [ qui? ] prônant une évolution du modèle WYSIWYM (What You See Is What You Mean).

Les éditeurs WYSIWYG restent un sujet controversé en raison de leurs défauts perçus tels que :

  • S'appuyant principalement sur la mise en page plutôt que sur le sens, utilisant souvent un balisage qui ne transmet pas le sens voulu mais copie simplement la mise en page. [97]
  • Produit souvent un code extrêmement verbeux et redondant qui ne parvient pas à utiliser la nature en cascade du HTML et du CSS .
  • Produisant souvent un balisage non grammatical, appelé soupe de balises ou balisage sémantiquement incorrect (comme pour l'italique).<em>
  • Comme une grande partie des informations contenues dans les documents HTML ne se trouvent pas dans la mise en page, le modèle a été critiqué pour sa nature "ce que vous voyez est tout ce que vous obtenez". [98]

Voir également

Les références

  1. ^ "W3C HTML" .
  2. ^ "Spécification HTML 4.0 - Recommandation W3C - Conformité : exigences et recommandations" . w3 . World Wide Web Consortium. 18 décembre 1997. Archivé de l'original le 5 juillet 2015 . Consulté le 6 juillet 2015 .
  3. ^ Tim Berners-Lee, « Gestion de l'information : une proposition ». CERN (mars 1989, mai 1990). W3.org
  4. ^ Tim Berners-Lee, "Problèmes de conception"
  5. ^ Tim Berners-Lee, "Problèmes de conception"
  6. ^ un bc " Étiquettes utilisées dans HTML" . w3 . World Wide Web Consortium. 3 novembre 1992. Archivé de l'original le 31 janvier 2010 . Consulté le 16 novembre 2008 .
  7. ^ Berners-Lee, Tim (29 octobre 1991). "Première mention des balises HTML sur la liste de diffusion www-talk" . w3 . World Wide Web Consortium. Archivé de l'original le 24 mai 2007 . Consulté le 8 avril 2007 .
  8. ^ "Index des éléments en HTML 4" . w3 . World Wide Web Consortium. 24 décembre 1999. Archivé de l'original le 5 mai 2007 . Consulté le 8 avril 2007 .
  9. ^ Berners-Lee, Tim (9 décembre 1991). "Re : docs SGML/HTML, X Browser (message archivé sur la liste de diffusion www-talk)" . w3 . Archivé de l'original le 22 décembre 2007 . Consulté le 16 juin 2007 . SGML est très général. HTML est une application spécifique de la syntaxe de base SGML appliquée aux documents hypertextes à structure simple.
  10. ^ Berners-Lee, Tim; Connolly, Daniel (juin 1993). "Langage de balisage hypertexte (HTML): une représentation d'informations textuelles et de méta-informations pour la récupération et l'échange" . w3 . Archivé de l'original le 3 janvier 2017 . Consulté le 4 janvier 2017 .
  11. ^ Raggett, Dave . "Un examen du format de document HTML +" . w3 . Archivé de l'original le 29 février 2000 . Consulté le 22 mai 2020 . Le langage de balisage hypertexte HTML a été développé comme un simple format de livraison non propriétaire pour l'hypertexte global. HTML+ est un ensemble d'extensions modulaires de HTML et a été développé en réponse à une compréhension croissante des besoins des fournisseurs d'informations. Ces extensions incluent le flux de texte autour de figures flottantes, de formulaires à remplir, de tableaux et d'équations mathématiques.
  12. ^ Berners-Lee, Tim; Connelly, Daniel (novembre 1995). "Langage de balisage hypertexte - 2.0" . ietf.org . Groupe de travail sur l'ingénierie Internet. RFC 1866 . Archivé de l'original le 11 août 2010 . Consulté le 1er décembre 2010 . Ce document définit donc un HTML 2.0 (pour le distinguer des précédentes spécifications informelles). Les futures versions (généralement compatibles vers le haut) de HTML avec de nouvelles fonctionnalités seront publiées avec des numéros de version plus élevés. 
  13. ^ un bcdef Raggett , Dave ( 1998 ). Raggett sur HTML 4 . Archivé de l'original le 9 août 2007 . Consulté le 9 juillet 2007 .
  14. ^ "HTML5 - Langage de balisage hypertexte - 5.0" . Groupe de travail sur l'ingénierie Internet. 28 octobre 2014. Archivé de l'original le 28 octobre 2014 . Consulté le 25 novembre 2014 . Ce document recommande HTML 5.0 après l'achèvement.
  15. ^ "Spécification de référence HTML 3.2" . World Wide Web Consortium. 14 janvier 1997 . Consulté le 16 novembre 2008 .
  16. ^ "Groupe de travail HTML IETF" . Consulté le 16 juin 2007 . Remarque : Ce groupe de travail est fermé
  17. ^ un b Arnoud Engelfriet. "Introduction à Wilbur" . Groupe de conception Web . Consulté le 16 juin 2007 .
  18. ^ "Spécification HTML 4.0" . World Wide Web Consortium. 18 décembre 1997 . Consulté le 16 novembre 2008 .
  19. ^ "Conformité HTML 4 – 4 : exigences et recommandations" . Consulté le 30 décembre 2009 .
  20. ^ "Spécification HTML 4.0" . World Wide Web Consortium. 24 avril 1998 . Consulté le 16 novembre 2008 .
  21. ^ "Spécification HTML 4.01" . World Wide Web Consortium. 24 décembre 1999 . Consulté le 16 novembre 2008 .
  22. ^ un b ISO (2000). "ISO/IEC 15445:2000 – Technologies de l'information – Langages de description et de traitement de documents – Langage de balisage hypertexte (HTML)" . Récupéré le 26 décembre 2009 .
  23. ^ Cs.Tcd.Ie . Cs.Tcd.Ie (2000-05-15). Consulté le 16/02/2012.
  24. ^ "HTML5 : un vocabulaire et des API associées pour HTML et XHTML" . World Wide Web Consortium. 28 octobre 2014 . Récupéré le 31 octobre 2014 .
  25. ^ "Le jalon de la plate-forme Web ouverte atteint avec la recommandation HTML5" (communiqué de presse). World Wide Web Consortium. 28 octobre 2014 . Récupéré le 31 octobre 2014 .
  26. ^ "HTML 5.1" . World Wide Web Consortium. 1er novembre 2016 . Récupéré le 6 janvier 2017 .
  27. ^ "HTML 5.1 est une recommandation du W3C" . World Wide Web Consortium. 1er novembre 2016 . Récupéré le 6 janvier 2017 .
  28. ↑ Philippe le Hégaret (17 novembre 2016). "HTML 5.1 est l'étalon-or" . Consortium World Wide Web . Récupéré le 6 janvier 2017 .
  29. ^ "HTML 5.2" . World Wide Web Consortium. 14 décembre 2017 . Récupéré le 15 décembre 2017 .
  30. ^ "HTML 5.2 est maintenant une recommandation du W3C" . World Wide Web Consortium. 14 décembre 2017 . Récupéré le 15 décembre 2017 .
  31. ^ Charles McCathie Nevile (14 décembre 2017). "HTML 5.2 est terminé, HTML 5.3 arrive" . Consortium World Wide Web . Récupéré le 15 décembre 2017 .
  32. ^ Connolly, Daniel (6 juin 1992). "MIME comme architecture hypertexte" . CERN . Récupéré le 24 octobre 2010 .
  33. ^ Connolly, Daniel (15 juillet 1992). "DTD HTML jointe" . CERN . Récupéré le 24 octobre 2010 .
  34. ^ Connolly, Daniel (18 août 1992). "sous-ensemble de déclaration de type de document pour Hyper Text Markup Language tel que défini par le projet World Wide Web" . CERN . Récupéré le 24 octobre 2010 .
  35. ^ un b Connolly, Daniel (24 novembre 1992). "Définition de type de document pour le langage de balisage hypertexte tel qu'utilisé par l'application World Wide Web" . CERN . Récupéré le 24 octobre 2010 .Voir la section "Historique des révisions"
  36. ^ Berners-Lee, Tim ; Connolly, Daniel (juin 1993). "Langage de balisage hypertexte (HTML) Version préliminaire Internet 1.1" . Groupe de travail IETF IIIR . Récupéré le 18 septembre 2010 .
  37. ^ Berners-Lee, Tim ; Connolly, Daniel (juin 1993). "Langage de balisage hypertexte (HTML) Version préliminaire Internet 1.2" . Groupe de travail IETF IIIR . Récupéré le 18 septembre 2010 .
  38. ^ Raggett, Dave (1993-11-08). "Historique pour draft-raggett-www-html-00" . datatracker.ietf.org . Récupéré le 18/11/2019 .
  39. ^ Berners-Lee, Tim ; Connolly, Daniel (28 novembre 1994). "Spécification du langage de balisage hypertexte - 2.0 INTERNET DRAFT" . IETF . Récupéré le 24 octobre 2010 . {{cite journal}}:Citer le journal nécessite |journal=( aide )
  40. ^ Connolly <[email protected]>, Daniel W. (1995-05-16). "Langage de balisage hypertexte - 2.0" . tools.ietf.org . Récupéré le 18/11/2019 .
  41. ^ "Histoire de draft-ietf-html-spec-05" . datatracker.ietf.org . Récupéré le 18/11/2019 .
  42. ^ "HTML 3.0 Brouillon (Expiré!) Matériaux" . World Wide Web Consortium. 21 décembre 1995 . Consulté le 16 novembre 2008 .
  43. ^ un b "la Version de Spécification de Langage de Balisage Hypertexte 3.0" . Consulté le 16 juin 2007 .
  44. ^ Raggett, Dave (28 mars 1995). "Spécification du langage de balisage hypertexte version 3.0" . HTML 3.0 Internet Draft Expire dans six mois . Consortium World Wide Web . Récupéré le 17 juin 2010 .
  45. ^ Bowers, Neil. "Weblint : Juste un autre piratage Perl". CiteSeerX 10.1.1.54.7191 .  {{cite journal}}:Citer le journal nécessite |journal=( aide )
  46. ^ Mensonge, Håkon Wium ; Bos, Bert (avril 1997). Feuilles de style en cascade : concevoir pour le Web . Addison Wesley Longman. p. 263 . ISBN 9780201419986. Récupéré le 9 juin 2010 .
  47. ^ "HTML5" . World Wide Web Consortium. 10 juin 2008 . Consulté le 16 novembre 2008 .
  48. ^ "HTML5, un vocabulaire, deux sérialisations" . Consulté le 25 février 2009 .
  49. ^ "Le W3C confirme mai 2011 pour le dernier appel HTML5, cible 2014 pour la norme HTML5" . Consortium World Wide Web . 14 février 2011 . Récupéré le 18 février 2011 .
  50. ^ Hickson, Ian. "HTML est le nouveau HTML5" . Récupéré le 21 janvier 2011 .
  51. ^ "HTML5 obtient les divisions" . netmagazine.com . Récupéré le 23 juillet 2012 .
  52. ^ "HTML5" . W3.org. 2012-12-17 . Récupéré le 15/06/2013 .
  53. ^ "Quand HTML5 sera-t-il terminé ?" . FAQ . QUOI Groupe de travail . Récupéré le 29 novembre 2009 .
  54. ^ "Appel à la révision : les nouvelles du W3C publiées par la recommandation proposée par HTML5" . W3.org. 2014-09-16 . Récupéré le 27/09/2014 .
  55. ^ "Étape de la plate-forme Web ouverte atteinte avec la recommandation HTML5" . W3C. 28 octobre 2014 . Récupéré le 29 octobre 2014 .
  56. ^ "La spécification HTML5 est finalisée, les querelles sur les spécifications continuent" . Ars Technica . 2014-10-29 . Récupéré le 29/10/2014 .
  57. ^ "XHTML 1.0 : Le langage de balisage hypertexte extensible (deuxième édition)" . World Wide Web Consortium. 26 janvier 2000 . Consulté le 16 novembre 2008 .
  58. ^ "XHTML 1.1 - XHTML basé sur des modules - Deuxième édition" . World Wide Web Consortium. 16 février 2007 . Consulté le 16 novembre 2008 .
  59. ^ "La modularisation de XHTML" . www.w3.org . Récupéré le 04/01/2017 .
  60. ^ "XHTM 2.0" . World Wide Web Consortium. 26 juillet 2006 . Consulté le 16 novembre 2008 .
  61. ^ "Le groupe de travail XHTML 2 devrait arrêter le travail fin 2009, W3C pour augmenter les ressources sur HTML5" . World Wide Web Consortium. 17 juillet 2009 . Consulté le 16 novembre 2008 .
  62. ^ "FAQ W3C XHTML" .
  63. ^ "HTML5" . W3C . 19 octobre 2013.
  64. ^ Jaffe, Jeff (28 mai 2019). "W3C et WHATWG vont travailler ensemble pour faire progresser la plate-forme Web ouverte" . Blogue du W3C . Archivé de l'original le 29 mai 2019 . Récupéré le 29 mai 2019 .
  65. ^ "Le W3C et le WHATWG ont signé un accord pour collaborer sur une version unique de HTML et DOM" . W3C . 28 mai 2019. Archivé de l'original le 29 mai 2019 . Récupéré le 29 mai 2019 .
  66. ^ "Le protocole d'accord entre le W3C et le WHATWG" . W3C . 28 mai 2019. Archivé de l'original le 29 mai 2019 . Récupéré le 29 mai 2019 .
  67. ^ Cimpanu, Catalin (29 mai 2019). "Les fournisseurs de navigateurs gagnent la guerre avec le W3C sur les normes HTML et DOM" . ZDNet . Archivé de l'original le 29 mai 2019 . Récupéré le 29 mai 2019 .
  68. ^ "W3C - Wiki WHATWG" . Wiki WHATWG . Archivé de l'original le 29 mai 2019 . Récupéré le 29 mai 2019 .
  69. ^ Shankland, Stephen (9 juillet 2009). "Une épitaphe pour la norme Web, XHTML 2" . CNET . CBS INTERACTIF INC.
  70. ^ Activation des modes de navigateur avec Doctype . Hsivonen.iki.fi. Consulté le 16/02/2012.
  71. ^ "Éléments HTML" . w3schools . Récupéré le 16 mars 2015 .
  72. ^ "Introduction CSS" . W3schools . Récupéré le 16 mars 2015 .
  73. ^ "Sur SGML et HTML" . Consortium World Wide Web . Consulté le 16 novembre 2008 .
  74. ^ "XHTML 1.0 - Différences avec HTML 4" . Consortium World Wide Web . Consulté le 16 novembre 2008 .
  75. ^ Korpela, Jukka (6 juillet 1998). "Pourquoi les valeurs d'attribut doivent toujours être entre guillemets en HTML" . Cs.tut.fi . Consulté le 16 novembre 2008 .
  76. ^ "Objets, images et applets dans les documents HTML" . World Wide Web Consortium. 24 décembre 1999 . Consulté le 16 novembre 2008 .
  77. ^ "H56 : Utilisation de l'attribut dir sur un élément en ligne pour résoudre les problèmes avec les passages directionnels imbriqués" . Techniques pour les WCAG 2.0 . W3C . Récupéré le 18 septembre 2010 .
  78. ^ "Character Entity Reference Chart" . World Wide Web Consortium. 24 octobre 2012.
  79. ^ "La référence de personnage nommée '" . World Wide Web Consortium. 26 janvier 2000.
  80. ^ "La norme Unicode : une introduction technique" . Récupéré le 16/03/2010 .
  81. ^ "HTML : Le langage de balisage (une référence de langage HTML)" . Récupéré le 19/08/2013.
  82. ^ "Définition du type de document HTML 4 Frameset" . www.w3.org . Récupéré le 25/12/2021 .
  83. ^ Berners-Lee, Tim; Fischetti, Mark (2000). Tisser le Web: la conception originale et le destin ultime du World Wide Web par son inventeur . San Francisco : Harper. ISBN 978-0-06-251587-2.
  84. ^ Raggett, Dave (2002). "Ajouter une touche de style" . W3C . Consulté le 2 octobre 2009 .Cet article note que le balisage HTML de présentation peut être utile pour cibler les navigateurs "avant Netscape 4.0 et Internet Explorer 4.0". Consultez la liste des navigateurs Web pour confirmer qu'ils ont tous deux été publiés en 1997.
  85. ^ Tim Berners-Lee, James Hendler et Ora Lassila (2001). « Le Web sémantique » . Scientifique américain . Consulté le 2 octobre 2009 .
  86. ^ Nigel Shadbolt, Wendy Hall et Tim Berners-Lee (2006). "Le Web sémantique revisité" (PDF) . Systèmes intelligents IEEE . Consulté le 2 octobre 2009 .
  87. ^ "HTML : Le niveau de vie" . WHATWG . Récupéré le 27 septembre 2018 .
  88. ^ "XHTML 1.0 Le langage de balisage hypertexte extensible (deuxième édition)" . World Wide Web Consortium. 2002 [2000] . Consulté le 7 décembre 2008 . Les documents XHTML qui suivent les directives énoncées dans l'annexe C, "Directives de compatibilité HTML" peuvent être étiquetés avec le type de média Internet "text/html" [RFC2854], car ils sont compatibles avec la plupart des navigateurs HTML. Ces documents, et tout autre document conforme à la présente spécification, peuvent également être étiquetés avec le type de média Internet "application/xhtml+xml" tel que défini dans la [RFC3236].
  89. ^ Bradner, Scott O. (1997). "Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence" . Université de Harvard. RFC 2119 . Consulté le 7 décembre 2008 . 3. DEVRAIT Ce mot, ou l'adjectif "RECOMMANDÉ", signifie qu'il peut exister des raisons valables dans des circonstances particulières pour ignorer un élément particulier, mais toutes les implications doivent être comprises et soigneusement pesées avant de choisir un cours différent.  {{cite journal}}:Citer le journal nécessite |journal=( aide )
  90. ^ "XHTML 1.1 - XHTML basé sur des modules - Deuxième édition" . World Wide Web Consortium. 2007 . Consulté le 7 décembre 2008 . Les documents XHTML 1.1 DEVRAIENT être étiquetés avec le type de média Internet text/html tel que défini dans la [RFC2854] ou application/xhtml+xml tel que défini dans la [RFC3236].
  91. ^ "Nommer les fichiers, les chemins et les espaces de noms" . Microsoft . Récupéré le 16 mars 2015 .
  92. ^ Contraintes de conception HTML , Archives W3C
  93. ^ WWW: BTB - HTML , Pris Sears
  94. ^ Freeman, E (2005). Tête première HTML. O'Reilly.
  95. ^ Sauer, C.: WYSIWIKI - Interroger WYSIWYG à l'ère d'Internet. Dans : Wikimania (2006)
  96. ^ Spiesser, J., Kitchen, L. : Optimisation du HTML généré automatiquement par les programmes WYSIWYG. Dans : 13e Conférence internationale sur le World Wide Web, pp. 355-364. WWW'04. ACM, New York, NY (New York, NY, États-Unis, 17-20 mai 2004)
  97. ^ Référence XHTML : blockquote Archivé le 25/03/2010 à la Wayback Machine . Xhtml.com. Consulté le 16/02/2012.
  98. ^ RÉVOLUTION INVISIBLE de Doug Engelbart . Invisiblerevolution.net. Consulté le 16/02/2012.

Liens externes