Bonnes feuilles : CSS avancées, Vers HTML5 et CSS3 Vers un HTML5 "transitionnel" ?

HTML 5, successeur proclamé du vieillissant HTML 4.01, marque une volonté de s'adapter aux usages et technologies contemporains, en décrivant mieux le contenu affiché sur une page web, en améliorant la gestion des périphériques et en favorisant l'intégration des applications web.

La démocratisation de ce langage facilitera dans un avenir proche l'interopérabilité des documents HTML, mais aussi leur accessibilité universelle, voire leur référencement. Seul hic : nous ne sommes pas encore dans un avenir proche.

En attendant, quelle position adopter vis-à-vis de cette spécification en brouillon ? Est-il prématuré de prévoir d'ores et déjà le passage de son site web à HTML 5 ?

La démocratisation de HTML5 facilitera l'interopérabilité des documents HTML, leur accessibilité universelle et leur référencement.

Si j'osais, je répliquerais par un classique – mais toujours à propos – "ça dépend". Néanmoins, j'aime le risque et je vais tâcher de clarifier la situation en distinguant différentes transitions possibles :

 S'il s'agit simplement de se faciliter la vie, comme Google ou d'autres l'ont fait, en passant par une syntaxe HTML 5 plus élémentaire (Doctype court) et plus courte (plus besoin de type="text/css", type="text/javascript", link rel="stylesheet", de certaines valeurs d'attribut, d'ajouter une barre oblique / dans la syntaxe des éléments autofermants?), alors le risque d'incompatibilité est proche de zéro et rien de vous empêche d'appliquer aujourd'hui ces préceptes en production.

 Si vous souhaitez utiliser les nouveaux éléments sémantiques tels que <header>, <nav>, <aside>, <footer>? le risque est double : non seulement c'est prendre le pari que vos visiteurs sur Internet Explorer disposent tous de JavaScript, sans quoi les nouveaux éléments ne seront tout simplement pas affichés sur la page ; mais en outre, vous pourriez altérer l'accessibilité
ou le référencement de vos documents en optant pour un nouvel élément HTML 5 (dont le sens demeure inconnu des agents utilisateurs) au détriment d'un élément de l'ancienne génération qui a fait ses preuves.

 Les nouveaux types de champs de formulaires comptent parmi les éléments les moins reconnus par les navigateurs hormis les versions très modernes. Paradoxalement, cela ne nous empêche pas de les employer dès à présent au sein des documents web : les <input> de type
email, url, search, number et autre date, s'ils ne sont pas compris, seront tout simplement traités tels des champs génériques de type text, tout en offrant aux navigateurs les plus avantgardistes une cerise sur le gâteau.

 Les différentes applications natives (API) ainsi que les éléments <audio>, <video> et <canvas> sont déjà employés en production sur certains sites de référence tels que Google, YouTube ou Dailymotion. Toutefois, pour certaines, leurs spécifications demeurent encore instables et leur implémentation nécessite de nombreuses alternatives hors HTML 5. En résumé, il s'agit d'éléments extraordinaires à manipuler avec d'extrêmes précautions et au sein d'un cadre parfaitement maîtrisé.


Au-delà de ces quatre cas de figure envisageables, sachez que d'autres remaniements sont apportés par rapport à HTML 4 et risquent de chambouler notre façon d'intégrer les pages web dans le futur :

 De nouvelles possibilités d'imbrications voient le jour : plusieurs titres <h1> sont applicables à différents niveaux de la hiérarchie, des éléments de liens <a> peuvent dorénavant contenir des éléments de titre, etc.

 Les éléments <body> et <head>, entre autres, ne sont plus nécessaires ! Ils demeurent cependant toujours utiles, voire recommandés.

 Certains attributs, obligatoires en HTML 4, deviennent optionnels en HTML 5, le plus discuté étant l'alternative alt sur les images.

 Les nouveaux éléments de sortie (<video>, <audio>, <canvas>) nécessitent une véritable prise en charge des navigateurs ; les styler en CSS n'est pas suffisant pour les rendre opérationnels.