La version française de cette traduction est : http://w3c.britoweb.info/html5-diff/2008-06-10.html

Traducteur : Victor Brito

Cette traduction peut contenir des erreurs. Seule la version anglaise fait autorité. La version originale de ce document est la suivante : http://www.w3.org/TR/2008/WD-html5-diff-20080610/.

W3C

Différences de HTML 5 par rapport à HTML 4

Brouillon de Travail du W3C du 10 juin 2008

Cette version :
http://www.w3.org/TR/2008/WD-html5-diff-20080610/
Dernière version :
http://www.w3.org/TR/html5-diff/
Dernier brouillon du rédacteur :
http://www.w3.org/html/wg/html5/diff/
Précédente version :
http://www.w3.org/TR/2008/WD-html5-diff-20080122/
Rédacteur :
Anne van Kesteren (Opera Software ASA) <annevk@opera.com>

Résumé

HTML 5 définit la cinquième révision majeure du langage cœur du World Wide Web : HTML. « Différences de HTML 5 par rapport à HTML 4 » décrit les différences entre HTML 4 et HTML 5 et fournit quelques unes des raisons des changements. Ce document peut ne pas fournir de renseignements exacts, comme la spécification HTML 5 est encore activement en développement. En cas de doute, vérifiez toujours la spécification HTML 5 elle-même. [HTML5]

Statut de ce document

Cette section décrit le statut de ce document au moment de sa publication. D'autres documents peuvent se superposer à celui-ci. Une liste des publications courantes du W3C et la dernière révision de ce rapport technique peuvent être trouvées dans l'index des rapports techniques du W3C sur http://www.w3.org/TR/.

C'est un Brouillon de Travail Public produit par le Groupe de Travail de HTML, qui fait partie de l'Activité HTML. Le Groupe de Travail a l'intention de publier ce document comme une Note de Groupe de Travail pour accompagner la spécification HTML 5. Le forum approprié pour les commentaires est public-html-comments@w3.org, une liste publique d'abonnés avec des archives publiques.

La publication en tant que Brouillon de Travail ne donne pas à entendre son soutien par les membres du W3C. C'est un document brouillon qui peut être mis à jour, remplacé ou rendu obsolète par d'autres documents à tout moment. Il est inapproprié de citer ce document autrement que comme un travail en cours.

Ce document fut produit par un groupe opérant sous la Politique de Documentation Officielle du W3C du 5 février 2004. Le W3C maintient une liste publique de toute diffusion officielle établie en relation avec les livraisons du groupe ; cette page-là inclut aussi des instructions pour la diffusion de documents officiels. Un individu qui a vraiment connaissance d'un document officiel dont il croit qu'il contient une(des) Affirmation(s) Essentielle(s) doit diffuser l'information conformément à la section 6 de la Politique de Documentation Officielle du W3C.

Table des matières

1. Introduction

HTML est en constante évolution depuis son introduction sur l'Internet au début des années 1990. Certaines caractéristiques furent introduites dans des spécifications, d'autres lors de sorties de logiciel. À certains égards, les implémentations et les pratiques des éditeurs ont convergé les unes vers les autres et vers les spécifications et les standards ; mais, à d'autres, elles continuent à diverger.

HTML 4 devint une Recommandation du W3C en 1997. Alors qu'il continue à servir de guide incohérent pour beaucoup de caractéristiques constituant le cœur de HTML, il ne fournit pas assez d'informations pour constuire des implémentations qui interopèrent les unes avec les autres et, de façon plus importante, avec une masse critique de contenu déployé. Il en est de même pour XHTML1, qui définit une sérialisation en XML de HTML 4, et pour DOM Niveau 2 HTML, qui définit les APIs JavaScript pour HTML et XHTML à la fois. [HTML4] [XHTML1] [DOM2HTML]

Le brouillon de HTML 5 reflète un effort, commencé en 2004, d'étudier les implémentations de HTML contemporaines et le contenu déployé. Le brouillon :

  1. Définit un langage singulier appelé HTML 5, qui peut être écrit dans une syntaxe HTML « personnalisée » et en syntaxe XML.
  2. Définit des modèles de processus détaillés pour promouvoir des implémentations interopérables.
  3. Améliore le balisage des documents.
  4. Introduit des balises et des APIs pour des expressions émergentes, telles que les applications Web.

1.1 Problèmes ouverts

HTML 5 est encore un brouillon. Le contenu de HTML 5, ainsi que celui de ce document qui dépend de HTML 5, est toujours en cours de discussion dans le Groupe de Travail de HTML et dans la liste d'abonnés de WHATWG. Certains problèmes ouverts incluent (cette liste n'est pas exhaustive) :

1.2 Rétrocompatible

HTML 5 est défini de manière qu'il soit rétrocompatible avec la manière dont les agents utilisateurs manipulent le contenu déployé. Pour que le langage d'édition reste relativement simple pour les éditeurs, plusieurs éléments et attributs ne sont pas inclus, comme indiqué aux autres sections de ce document, tels que les éléments de présentation qui sont mieux pris en charge par l'utilisation de CSS.

Les agents utilisateurs, toutefois, devront toujours supporter ces anciens éléments ; c'est pourquoi la spécification sépare clairement les obligations pour les éditeurs et les agents utilisateurs. Cela veut dire que les éditeurs ne peuvent pas utiliser l'élément isindex ou plaintext ; mais, les agents utilisateurs sont tenus de les supporter d'une manière compatible avec celle dont ces éléments se comportaient précédemment.

À partir du moment où HTML 5 a des obligations de conformité distinctes pour les éditeurs et les agents utilisateurs, il n'y a plus besoin de marquer les choses comme « désapprouvées ».

1.3 Modèle de développement

La spécification HTML 5 ne sera pas considérée comme finie avant qu'il y ait au moins deux implémentations complètes de la spécification. C'est une approche différente de celle qu'avaient les versions précédentes de HTML. Le but est de s'assurer que la spécification est implémentable et utilisable par les graphistes et les développeurs une fois finie.

1.4 Impact sur l'architecture Web

On croit que les zones / caractéristiques suivantes définies en HTML 5 ont un impact sur l'architecture Web :

2. Syntaxe

Le langage HTML 5 a une syntaxe HTML « personnalisée » qui est compatible avec les documents HTML 4 et XHTML1 publiés sur le Web, mais n'est pas compatible avec les caractéristiques SGML plus ésotériques de HTML 4, telles que <em/content/. Les documents utilisant cette syntaxe « personnalisée » doivent être servis avec le type MIME text/html.

HTML 5 définit aussi des règles d'analyse détaillées (incluant « l'erreur de traitement ») pour cette syntaxe, qui sont largement compatibles avec les implémentations populaires. Les agents utilisateurs suivront ces règles pour les ressources qui ont le type MIME text/html. Voici un exemple de document conforme à la syntaxe HTML :

<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Exemple de document</title>
  </head>
  <body>
    <p>Exemple de paragraphe</p>
  </body>
</html>

L'autre syntaxe qui peut être utilisée pour HTML 5 est XML. Cette syntaxe est compatible avec les documents et implémentations XHTML1. Les documents utilisant cette syntaxe ont besoin d'être servis avec un type MIME XML et les éléments d'être placés sous l'espace de nom http://www.w3.org/1999/xhtml, suivant les règles établies dorénavant par les spécifications XML. [XML]

Ci-dessous un exemple de document conforme à la syntaxe XML de HTML 5. Notez que les documents XML doivent avoir un type MIME XML tel que application/xhtml+xml ou application/xml.

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Exemple de document</title>
  </head>
  <body>
    <p>Exemple de paragraphe</p>
  </body>
</html>

2.1 Codage des caractères

Pour la syntaxe HTML de HTML 5, les éditeurs ont trois moyens d'indiquer le codage des caractères :

Pour la syntaxe XML, les éditeurs doivent utiliser les règles telles qu'établies dorénavant dans les spécifications XML pour indiquer le codage des caractères.

2.2 Le DOCTYPE

La syntaxe HTML de HTML 5 oblige à ce qu'un DOCTYPE soit spécifié pour s'assurer que le navigateur affiche la page selon le mode standard. Le DOCTYPE n'a pas d'autre objectif et est, par conséquent, facultatif pour XML. Les documents avec un type MIME XML sont toujours traités en mode standard. [DOCTYPE]

La déclaration du DOCTYPE est <!DOCTYPE html> et est insensible à la casse dans la syntaxe HTML. Les DOCTYPEs des versions plus anciennes de HTML étaient plus longues parce que le langage HTML était basé sur le SGML et, par conséquent, exigeait une référence à une DTD. Avec HTML 5, ce n'est plus le cas et le DOCTYPE n'est nécessaire que pour activer le mode standard pour les documents écrits selon la syntaxe HTML. Les navigateurs le font déjà pour <!DOCTYPE html>.

2.3 Divers

Il y a d'autres changements syntaxiques qui valent la peine d'être mentionnés :

3. Langage

Cette section est divisée en plusieurs sous-sections pour illustrer plus clairement les diverses différences qu'il y a entre HTML 4 et HTML 5.

3.1 Nouveaux éléments

Les éléments suivants ont été introduits pour une meilleure structure :

Il y a bien d'autres nouveaux éléments :

L'attribut type de l'élément input a maintenant les nouvelles valeurs suivantes :

L'idée de ces nouveaux types est que l'agent utilisateur peut founir à l'utilisateur une interface, telle que la sélection d'une date dans le calendrier ou une intégration au carnet d'adresses de l'utilisateur, et soumettre au serveur un format défini. Cela donne à l'utilisateur un meilleur contact, comme sa saisie est vérifiée avant son envoi vers le serveur, ce qui veut dire moins de temps d'attente pour la réaction.

3.2 Nouveaux attributs

HTML 5 a introduit plusieurs nouveaux attributs dans divers éléments qui faisaient déjà partie de HTML 4 :

Plusieurs attributs de HTML 4 s'appliquent maintenant à tous les éléments. Ils sont appelés attributs globaux : class, dir, id, lang, style, tabindex et title.

Il y a aussi plusieurs nouveaux attributs globaux :

Ce qui suit, ce sont les attributs pour le modèle de répétition. Ce sont des attributs globaux et, en tant que tels, peuvent être utilisés sur tous les éléments HTML, ou sur tout élément dans tout autre espace de nom, dont les attributs sont dans l'espace de nom http://www.w3.org/1999/xhtml :

HTML 5 fait aussi de tous les attributs gestionnaires d'événements de HTML 4 qui prennent la forme onnom de l'événement des attributs globaux et en ajoute plusieurs nouveaux pour de nouveaux événements qu'il définit, tels que l'attribut onmessage, qui peut être utilisé avec le nouvel élément event-source et l'API de messagerie de documents multiples.

3.3 Éléments ayant changé

Ces éléments ont une signification légèrement modifiée en HTML 5 pour mieux refléter la manière dont ils sont utilisés sur le Web ou pour les rendre plus utiles :

3.4 Éléments absents

Les éléments mentionnés dans cette section ne sont pas à utiliser par les éditeurs. Les agents utilisateurs devront, pourtant, les supporter et HTML 5 obtiendra une section d'affichage en temps voulu qui dira exactement comment. (L'élément isindex, par exemple, est déjà supporté par l'analyseur.)

Les éléments suivants ne figurent pas en HTML 5 parce que leur effet est de pure présentation et, par conséquent, mieux pris en charge par CSS :

Les éléments suivants ne figurent pas en HTML 5 parce que leur usage affectait négativement l'utilisabilité et l'accessibilité pour l'utilisateur final :

Les éléments suivants ne sont pas inclus parce qu'ils n'ont pas été souvent utilisés, ont créé de la confusion ou peuvent être pris en charge par d'autres éléments :

Finalement, le noscript n'est conforme qu'à la syntaxe HTML. Il n'est pas inclus dans la syntaxe XML, comme son usage se fie à un analyseur HTML.

3.5 Attributs absents

Quelques attributs de HTML 4 ne sont plus autorisés en HTML 5. S'ils ont besoin d'avoir un impact sur les agents utilisateurs pour des raisons de compatibilité, la manière dont ils devraient fonctionner dans ces scénarios est définie.

En outre, HTML 5 n'a aucun des attributs de présentation qui figuraient en HTML 4, comme ils sont mieux pris en charge par CSS :

4. APIs

HTML 5 introduit un nombre d'APIs qui aident à la création d'applications Web. Celles-ci peuvent être utilisées avec les nouveaux éléments introduits pour les applications :

4.1 Extensions de HTMLDocument

HTML 5 a étendu l'interface HTMLDocument du DOM Niveau 2 HTML de quelques manières. L'interface est maintenant implémentée sur tous les objects implémentant l'interface Document, de façon à ce que cela reste significatif dans un contexte de document composé. Elle a aussi plusieurs nouveaux membres remarquables :

4.2 Extensions de HTMLElement

L'interface HTMLElement a aussi obtenu plusieurs extensions en HTML 5 :

5. Journal de bord des modifications de HTML 5

Ci-dessous une liste approximative des changements opérés à la spécification HTML 5 depuis le début de la publication du Brouillon de Travail de HTML 5. Ce journal de bord n'indique que ce qui a été modifié. Pour une discussion plus détaillée, veuillez utiliser les archives des listes d'abonnés public-html@w3.org et whatwg@whatwg.org. Les changements qui affectent ce document ont été intégrés partout.

Remerciements

Le rédacteur voudrait remercier Ben Millard, Cameron McCormack, Charles McCathieNevile, Dan Connolly, David Håsäther, Frank Ellermann, Henri Sivonen, James Graham, Jürgen Jeka, Maciej Stachowiak, Martijn Wargers, Martyn Haigh, Masataka Yakura, Michael Smith, Olivier Gendrin, Philip Taylor et Simon Pieters pour leurs contributions à ce document, ainsi qu'à tous ceux qui ont contribué à HTML 5 au fil des ans pour améliorer le Web !

Références

[DOCTYPE]
Activating the Right Layout Mode Using the Doctype Declaration, H. Sivonen, janvier 2008.
[DOM2HTML]
Document Object Model (DOM) Level 2 HTML Specification, J. Stenback, P. Le Hégaret, A. Le Hors, rédacteurs. W3C, janvier 2003.
[HTML4]
HTML 4.01 Specification, D. Raggett, A. Le Hors, I. Jacobs, rédacteurs. W3C, décembre 1999.
[HTML5]
HTML 5, I. Hickson, D. Hyatt, rédacteurs. W3C, juin 2008.
Web Forms 2.0, I. Hickson, rédacteur. W3C, octobre 2006.
HTML 5, I. Hickson, rédacteur. WHATWG, juin 2008.
Web Forms 2.0, I. Hickson, rédacteur. WHATWG, octobre 2006.
HTML 5 (brouillon du rédacteur), I. Hickson, D. Hyatt, rédacteurs. W3C, juin 2008.
Web Forms 2.0 (brouillon du rédacteur), I. Hickson, rédacteur. W3C, octobre 2006.
[XHTML1]
XHTML™ 1.1 - Module-based XHTML, M. Altheim, S. McCarron, rédacteurs. W3C, mai 2001.
[XML]
Extensible Markup Language (XML) 1.0 (Fourth Edition), T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau, rédacteurs. W3C, septembre 2006.
Namespaces in XML 1.0 (Second Edition), T. Bray, D. Hollander, A. Layman, R. Tobin, rédacteurs. W3C, août 2006.