XHTML

Quelle différence y a-t-il entre HTML et XHTML ?

Article par Florent V. (Chef de projet, intégrateur web, Lyon, France)
Mis à jour le 02 Juillet 2009. 10809 lectures.
Tags : xhtml, validation, html, tableless, doctype, différence

Lorsque les Standards du Web tels que XHTML et CSS ont commencé à être connus, beaucoup d'idées reçues ont circulé. Parmi celles-ci, il y avait l'idée que XHTML était fondamentalement différent du bon vieux HTML que l'on connaissait.

Pour beaucoup de débutants, le XHTML était associé aux CSS et au code valide W3C, et le HTML aux tableaux et à la soupe de balises. C'est bien sûr une vision erronée.

XHTML 1.0 est une transposition d'HTML 4

XHTML 1.0 est une transposition en syntaxe XML de HTML 4. La différence se joue donc uniquement sur la syntaxe, qui est plus rigoureuse en XML (et donc en XHTML 1.0) qu'en HTML 4.

Ainsi, en XHTML:

  • Toute balise ouvrante doit être fermée, et les balises dites «vides» sont écrites avec une barre oblique finale (exemple: <img alt="…" />).
  • Les noms des balises et des attributs sont écrits en minuscules.
  • Les valeurs des attributs sont encadrés par des 'quotes' (apostrophes droites) ou des "double quotes" (guillemets droits).
  • Chaque attribut doit avoir une valeur (pas d'attribut vide comme checked, qui doit être écrit checked="checked").
  • Les éléments HTML doivent être correctement imbriqués 
    (<strong><span>contenu</span></strong> et pas
    <strong><span>contenu</strong></span>).

C'est tout! Comme vous le voyez, aucune notion de tableaux, de CSS, de sémantique ni d'accessibilité. En réalité, ces termes et domaines existent déjà en HTML.

À l'extrême, on peut donc faire du code valide en HTML 4 et exploiter à fond les possibilités de CSS, ou encore faire de la soupe de balises dans des tableaux en XHTML 1.0 Strict!

Pourquoi utiliser l'un ou l'autre?

Pour commencer, rappelons qu'utiliser XHTML 1.0 n'est pas du tout une obligation. On pourra aussi s'interroger sur la bonne manière de déclarer et de servir du XHTML. Mais pour l'essentiel HTML 4 et XHTML 1.0 sont équivalents au niveau des fonctionnalités (éléments et attributs, principales règles «grammaticales»).

Si leurs fonctionnalités sont équivalentes, pourquoi utiliser XHTML 1.0 plutôt qu'HTML 4? Un argument souvent donné est le suivant: XHTML permet un apprentissage plus simple de HTML. Pour deux raisons:

  • comme il est plus strict, on évite des erreurs d'interprétation des navigateurs (si on imbrique mal les éléments, que doit faire le navigateur?);
  • comme les écritures possibles sont moins nombreuses (pas de balises tour à tour en minuscules ou majuscules, pas de balises fermantes un coup présentes et un coup manquantes…), la syntaxe se maitrise plus facilement.

Lire aussi:

Les DTD HTML4.01 et XHTML1.0 : comment choisir ?