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

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 ;)

Trackbacks

Le mercredi 20 septembre 2006 à 00:23, de Olivier _Carmine_ G. :: #

Relations entre HTML et XHTML

Tout d'abord une précision, il n'y a pas de sépration entre HTML 4.01 et XHTML 1.0. Je cite la première ligne de la traduction de la recommandation du W3C au sujet de XHTML 1.0 : Cette spécification définit XHTML 1.0, comme une reformulation...

Le mercredi 20 septembre 2006 à 21:46, de LiberT - Blog :: #

Podcast #1 : premiers essais, réglages et dérapages...

Ca y est ! Je me suis lancé ! Enfin un podcast, audio pour cette fois, la qualité est médiocre, mais on fait avec le matériel qu'on a. Au programme : Wikio, Coups de gueule version Alsas, Gaspanik, La religion et les médias, le podcasting sous linux...

Les trackbacks pour ce billet sont fermés.

Evaluez ce billet

Commentaires

Le mardi 19 septembre 2006 à 15:51, par Thanh :: site :: #

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

Le mardi 19 septembre 2006 à 15:53, par Raphael :: site :: #

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

Le mardi 19 septembre 2006 à 15:56, par giz404 :: site :: #

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

Le mardi 19 septembre 2006 à 16:10, par Thanh :: site :: #

@guillaume,

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

Le mardi 19 septembre 2006 à 16:42, par Jérémie :: site :: #

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é :)

Le mardi 19 septembre 2006 à 16:49, par DROZ :: #

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

Le mardi 19 septembre 2006 à 17:03, par Raphael :: site :: #

"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.

Le mardi 19 septembre 2006 à 17:09, par arnaudfabs :: site :: #

Très bon rappel !

Le mardi 19 septembre 2006 à 17:50, par Christophe :: #

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.

Le mardi 19 septembre 2006 à 20:59, par Sébastien Guillon :: site :: #

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.

Le mardi 19 septembre 2006 à 21:00, par Helven :: site :: #

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

Le mardi 19 septembre 2006 à 21:36, par Mike :: site :: #

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 !

Le mercredi 20 septembre 2006 à 08:33, par Antoine :: site :: #

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

Le mercredi 20 septembre 2006 à 09:23, par Raphael :: site :: #

@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)

Le mercredi 20 septembre 2006 à 09:52, par Frank Taillandier :: site :: #

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...

Le mercredi 20 septembre 2006 à 10:13, par Un autre Christophe :: site :: #

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 !

Le mercredi 20 septembre 2006 à 10:23, par Neoxy :: site :: #

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.

Le mercredi 20 septembre 2006 à 10:32, par Raphael :: site :: #

"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 :-/

Le mercredi 20 septembre 2006 à 11:11, par goetsu :: site :: #

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

Le mercredi 20 septembre 2006 à 11:13, par Raphael :: site :: #

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

Le mercredi 20 septembre 2006 à 16:30, par cynic- :: #

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

Le mercredi 20 septembre 2006 à 21:34, par clb56 :: site :: #

"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.

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.