[Coup de gueule] Arrêtons de confondre XHTML et CSS !

Actualité par (Intégrateur du Dimanche, Strasbourg)
Créé le (15394 lectures)

Une petite piqûre de rappel, maintes et maintes fois répétée et pourtant...

Assez fréquemment, sur les forums de webmasters que je hante, je lis ce genre de choses :

... Le but du XHTML est d'éviter les tableaux afin d'avoir une mise en page uniquement conçue en CSS.

... Le but du XHTML est de faire une séparation entre la fond et la forme.

Ce genre d'amalgames est un leitmotiv dans les salons de discussions en ligne. On dirait que la mode "CSS" ou "Web 2.0" veut tellement couper les ponts avec la conception web ancienne (à traduire par "tableaux de mise en forme" et "Wysiwyg") que l'on en devient fanatique et que l'on dédaigne certains langages - le HTML - sous prétexte qu'il permettent de concevoir des sites obsolètes.

Voilà certainement la grosse confusion des années actuelles.

Encore une fois, faisons une rapide piqûre de rappel :

  • le but du XHTML n'est pas d'éviter les tableaux (les tableaux sont et resteront des balises tout à fait valides et utiles)
  • les tableaux de mise en page ne sont pas prohibés, mais seulement déconseillés lorsqu'ils sont imbriqués (comme peuvent l'être des <div> imbriqués)
  • le but du XHTML n'est pas d'avoir une page uniquement gérée via CSS : les feuilles de styles existent et cohabitent depuis HTML et n'ont rien de spécifique à XHTML
  • le but de XHTML n'est pas de dissocier le contenu du contenant : là aussi, HTML le faisait très bien avant. Pour rappel, seules les versions strictes (de HTML ou XHTML) exigent cette séparation.

Pour rappel, les seules différences entre HTML et XHTML sont de l'ordre de la rigueur dans les balises (fermeture, imbrication, minuscules, etc.) et n'a strictement rien à voir avec les tableaux ou les CSS.

C'est en général le choix d'un doctype (strict ou transitionnel) qui va orienter la décision d'employer CSS ou non, mais pas le choix du langage.

OK, le contenu de ce coup de gueule a été dit et redit un peu partout, notamment dans ce blog ou le forum. Mais j'ai vraiment la sensation qu'il faut parfois en rajouter une couche de temps en temps pour que ça impregne bien les esprits.

Une dernière fois :

  • Oui, le HTML permet de faire des sites obsolètes avec des tableaux.
  • Oui le XHTML le permet tout autant.
  • Oui, il est tout à fait possible de faire un document valide, propre, accessible, en CSS, et HTML
  • Oui il est possible de faire des documents bien laids et invalides en XHTML transitionnel là où HTML strict aurait été un bien meilleur choix.

Voilà, c'est fait et ça soulage ;)

Commentaires

Thanh a dit le

Tu nous refais ce coup de gueule en live jeudi ou vendredi? ^^

Raphael a dit le

@Thanh : vendredi, j'essaierai de me faire aussi discret que possible :p

giz404 a dit le

J'espère que les gens qui vont à Paris Web 2006 sont déjà au courant...

Thanh a dit le

@guillaume,

moi j'y vais pour l'apéro =)

Jérémie a dit le

Bon rappel, utile à certains.

Par contre une petite erreur... un document se doit d'être sémantique pour respecter l'esprit des standards. Donc pas de tableau de mise en page, même non imbriqué :)

DROZ a dit le

Je suis toujours épaté de voir comment certain d'entre nous prennent à coeur toutes ces choses.

Raphael a dit le

"Je suis toujours épaté de voir comment certain d'entre nous prennent à coeur toutes ces choses."

> Pour certains, ils s'agit de leur métier quand-même, donc ça me semble assez primordial d'être à jour dans sa profession.

arnaudfabs a dit le

Très bon rappel !

Christophe a dit le

Bref,en toute rigueur, un document XHTML est un document XML bien formé, (validé par une DTD spécifique)un document HTML ne l'est pas.
Le XHTML est un dialecte XML, pas le HTML.
Un document XHTML peut être transformé via une feuille XSLT, pas un document HTML etc...
Pour comprendre réellement la différence entre les deux, il faut avoir au moins des notions sur les dialectes XML.

Sébastien Guillon a dit le

Le XHTML 1.1 servi en tant que XML (avec le type application/xhtml+xml) permet de faire de grosses daubes : sebastienguillon.com/test...

Parallèlement HTML permet une séparation complète entre structure et présentation et un balisage sémantique : annevankesteren.nl/

Très peu de développeurs connaissent vraiment HTML. Encore moins comprennent vraiment les implications de XHTML.

Helven a dit le

Comme ça c'est clair, meme si ça à été déja dit...donc oui une petite surcouche ne fais pas de mal.

Mike a dit le

Bon billet qui remet les pendules à l'heure. Il est vrai que l'amalgamme est courant.

J'adore ton commentaire Sébastien Guillon, surtout tes deux exemples !

Antoine a dit le

Enfin quelqu'un qui le dit... Ca fait plaisir...

Raphael a dit le

@Sébastien Guillon > Merci pour ces exemples.

Pour XHTML 1.1 mal servi, on peut piocher ici aussi (voir les liens contenus) : forum.alsacreations.com/f...

Et pour voir un exemple frappant de site propre en HTML et CSS, pourquoi ne pas faire un tour sur le site du gourou mondial des CSS, Eric Meyer ? ;)
meyerweb.com/ (HTML 4.01 transitionnel)

Frank Taillandier a dit le

Faudrait surtout pas oublier la modularité de XHTML et la signification du X ( eXtensible), qui est la grosse différence avec HTML.
Petit rappel de la FAQ W3C : www.w3.org/MarkUp/2004/xh...

Un autre Christophe a dit le

Bravo Raphaël :) Et merci à Franck Taillandier car effectivment en lisant le titre de ton post je m'attendais aussi à ce que tu commences par cette précision !

Neoxy a dit le

Il est vrai qu'il ya de nombreuses confusions, mais la transition générale vers l'utilisation de <div> à la place de tableaux risque de prendre du temps.

Raphael a dit le

"Il est vrai qu'il ya de nombreuses confusions, mais la transition générale vers l'utilisation de <div> à la place de tableaux risque de prendre du temps."

>> Raaah, mon prochain billet sera : "arrêtons de vouloir remplacer systématiquement les tableaux par des <div>" et son sous-titre : "le retour de la Divite chronique".

Ah ben ça aussi, ça a déjà été dit et redit :-/

goetsu a dit le

cela me rappelle la grossière erreur de croire que accessibilité et validation html sont la même chose.

Raphael a dit le

@goetsu : arrête de me donner des idées de billets-coups de gueule :)

cynic- a dit le

@Sébastien Guillon > Merci pour les exemples !
@Raphael : merci pour ce rappel :)

clb56 a dit le

"le but de XHTML n'est pas de dissocier le contenu du contenant : là aussi, HTML le faisait très bien avant."

Non, c'est en fait ni l'un ni l'autre...

... Ce dont le but est de dissocier le contenu du contenant (ie la dissociation de la description/structuration du contenu et de sa présentation suivant les types de media) c'est les CSS.

En fait conceptuellement parlant les CSS c'est fait pour ça, permettre d'opérer cette dissociation.