Le brouillon du HTML 5 publié !!!

Bonjour,

Pour votre information, le brouillon (draft) du HTML 5 a été publié hier par le W3C : http://www.w3.org/TR/html5/. La spécification a considérablement grossi. Elle définit toujours des balises et des attributs et la façon de les utiliser, mais également des API et le DOM. En attendant de vraiment se plonger dedans, on pourra consulter la page suivante qui indique les différences avec le HTML 4 : http://www.w3.org/TR/2008/WD-html5-diff-20080122/. Ce qui suit s’appuie largement sur ce document.

Entre autres nouveautés, nous avons ceci :

  • Le principe d’implémentation de la spécification du HTML 5 est particulier puisque la spécification ne sera considérée comme définitive que lorsqu’elle aura été implémentée entièrement au moins deux fois. L’idée est d’éviter les correctifs qu’on a rencontré avec le HTML 4.01, le HTML 3.2, etc.
  • Syntaxe :
    • Heureusement pour nous, la syntaxe reste compatible avec le HTML 4 mais aussi le XHTML 1. Cela veut dire, en fait, qu’on peut écrire du HTML 5 à la façon du HTML 4 (en omettant certaines balises fermantes, par exemple) ou à la façon plus « propre » XML. Chaque syntaxe est assortie de types MIME correspondants. C’est peut-être une nouveauté qui pourrait poser quelques problèmes…
    • Jeux de caractères : on nous apporte une syntaxe raccourcie pour forcer le jeu de caractères dans un document (<meta charset= »UTF-8″> pour UTF-8) + la possibilité d’utiliser le caractère Unicode BOM en début de fichier (ce sont les amateurs de l’UTF-8 sous Notepad qui vont être contents ;)).
    • Le DOCTYPE : la syntaxe HTML demande désormais à préciser un DOCTYPE <!DOCTYPE html> en début de fichier. Pour la syntaxe XML, on se conforme à la syntaxe XML, ce qui fait que le DOCTYPE est optionnel.
  • Le langage :
    • De nouvelles balises (super !!) <section>, <article>, <header>, <footer>, <nav> pour encore mieux structurer les documents, des dialogues ( <dialog> ), des figures « légendables », des éléments vidéo et audio, des balises sémantiques (par exemple <meter> pour représenter une mesure, <time> pour représenter une date ou une heure), de nouveaux objets de formulaire comme, par exemple, des comboboxes, un mécanisme de templating… La balise <menu> refait son apparition.
    • Des balises disparaissent : les balises faisant double-emploi par rapport aux CSS (<s>, <font>, etc.), les balises <acronym>, <applet>, <isindex> et <dir> car peu utilisées ou portant à confusion, et … <frame>, <frameset> et <noframes> car jugées posant des problèmes d’utilisation et d’accessibilité !!
    • De nouveaux attributs. Entre autres : autofocus (ça évitera de faire des bidouilles en JavaScript pour porter le focus sur un élément quand la page est chargée), form (pour dire qu’un champ est utilisé par plusieurs formulaires) et required pour les champs de formulaire. On notera également le nouvel attribut « ping » utilisé dans les balises <a> qui va faire beaucoup parler de lui à mon avis pour cause de protection de la vie privée : il est censé faire en sorte que le navigateur ping les URL indiquées lorsque l’utilisateur clique dessus. Logiquement, l’utilisateur doit pouvoir désactiver cette fonctionnalité…
    • Des attributs disparaissent par exemple parce qu’ils sont en double-emploi par rapport aux CSS
  • Des API :
    • Le HTML 5 introduit des API pour faciliter la création d’applications Web et ainsi – on l’espère – enrichir les pages et alléger le code JavaScript : dessins en 2D, vidéo, audio, stockage persistant (reste à savoir ce que c’est dans le détail), drag & drop, push (événements venant du serveur), etc.
    • Côté DOM, quelques nouveautés dont l’officialisation de innerHTML

En conclusion et en attendant de voir ce que cela donne dans la réalité, pas mal de nouveautés intéressantes qui sont censées répondre aux nouvelles attentes notamment en ce qui concerne l’interactivité des pages. On notera toutefois quelques éléments qui peuvent surprendre ou faire peur : l’attribut ping et les API de push qui pourraient être détournés pour plus de tracking, plus de publicité…

Par ailleurs, il semblerait que Firefox 3 accepte certaines balises du HTML 5, comme le souligne cette article.

Merci à _Mac_ pour la rédaction de ce billet ;)

8 réflexions au sujet de « Le brouillon du HTML 5 publié !!! »

  1. Avatar de nicoramanicorama

    Quitte à faire un langage tourné application, il serait sympa de pousser les multiples ECMA262 (javascript, actionScript) vers des bibliothèques de base compatibles – bref un seul plug-in « dynamique » intégré à tous les navigateur. Cela n’empecherais pas l’excellentissime logiciel Flash de se vendre – et on telechargerais via des liens .js des nouvelles bibliothèques plutot que de mettre à jour le plug-in.

  2. Avatar de djo.mosdjo.mos

    Bonjour,
    En confirmant ce qu’a dit adiGuba, j’ajouterais juste que le HTML 5 , d’après les dires, a été largement influencé par les acteurs du marché des navigateurs (Opera, Mozilla, etc.) qui ont en quelque sorte ‘obligé‘ la W3C a pondre un HTML 5 bourré de fonctionnalités plutôt qu’un modèle élégant en théorie et inutilisable telquel en réalité.

  3. Avatar de adigubaadiguba

    Le futur XHTML 2 est incompatible avec le XHTML 1 et est purement orienté « document », ce qui a rebuté certaines personnes et poussé le groupe WHATWG à débuter ses travaux sur l’HTML5, qui ont ensuite été intégré dans le W3C…

    L’HTML 5 est bien plus orienté « application » que « document », et devrait mieux s’adapter au Web tel qu’il est actuellement…

    a++

  4. Avatar de balubalu

    cyberzoide : « Pourquoi avoir fait le choix de faire évoluer le HTML au lieu de se concentrer sur le XHTML ? »

    Je me suis posé la même question.

    Peut-être que cela veut dire que les recommandations HTML et XHTML sont regroupées dans le HTML 5 ?

  5. Avatar de cyberzoidecyberzoide

    Je suis étonné de la cohexistance du HTML et du XHTML, j’aurais cru le XHTML aurait définivement pris le pas et vu disparaître le HTML !

    Pourquoi avoir fait le choix de faire évoluer le HTML au lieu de se concentrer sur le XHTML ?

  6. Avatar de woodwaiwoodwai

    Hum, encore que du bonheur en perspective pour jongler entre qui supporte quoi et depuis quand :)

    Sinon, pas mal de bonnes idées: HTML plus sémantique et le grand oublié de ton post l’ajout au niveau du DOM de la méthode getElementByClassName() qui est super utile en AJAX.

Laisser un commentaire