Je ne compte plus les audits de référencement qui répètent à l'envie que le code d'un site web ne doit pas contenir de tableaux. Que les tableaux pénalisent le positionnement, qu'ils sont contraires aux spécifications en vigueur. Mais s'est-on jamais posé la question de savoir pourquoi ? Google aurait-il lancé une fatwa sur les tableaux ? Microsoft aurait-il décidé de ne plus reconnaître cet élément de mise en forme dans la dernière version d'Internet Explorer ? Que nenni. Nés avec le langage HTML (en 1996), donnant alors aux pages web un petit air de feuille de calcul, les tableaux font aujourd'hui toujours partie des spécifications du (X)HTML et ils n'ont nullement été proscrits ou supprimés. Ils sont toujours parfaitement interprétés par l'ensemble des navigateurs, c'est même l'un de leurs atouts majeurs.

Le positionnement des éléments sur une page web est le cauchemar des webdesigners. Sous l'apparent dépouillement et l'agréable ergonomie d'un site web se cachent parfois des trésors d'astuce et de contorsions techniques. Jusqu'au début des années 2000, les tableaux représentaient la seule solution disponible pour organiser les éléments d'une page web. Avec les nouveaux standards de mise en page et de mise en forme de styles (CSS2 et CSS3) ils ont été progressivement voués aux gémonies et sacrifiés sur l'autel du positionnement dynamique. Il est vrai qu'ils étaient devenus omniprésents et l'usage qui en avait été progressivement fait entrait en complète contradiction avec les avantages procurés par les nouvelles méthodes.

Sans doute fallait-il frapper fort et les proscrire pour provoquer une vraie évolution. Mais qu'en est-il aujourd'hui ? Les passions apaisées et les standards respectés permettent-ils aujourd'hui d'utiliser sereinement les tableaux de mise en page, sous certaines conditions, sans craindre les fourches caudines des moteurs de recherche et les foudres des convaincus de la sémantique ?

Par certains aspects, les tableaux semblent mieux appropriés à répondre à certaines problématiques que le positionnement dynamique. Pourquoi se priver des avantages d'un alignement automatique de hauteur et de position verticale (désolé pour les moins techniciens d'entre vous) alors qu'il faut déployer une dizaine de lignes de CSS pour parvenir au même résultat ? Vous avez dit "légèreté du code" ? "vitesse de chargement" ? "simplification" ? "facilité de maintenance" ? "respect de la sémantique" ?

Bref, il semble aujourd'hui qu'une utilisation raisonnée des tableaux est acceptable :

  • S'ils simplifient le code
  • S'ils ne nuisent pas à la logique et au "sens" du document (la sémantique)
  • S'ils sont réservés à ce qu'ils savent faire à l'origine : hauteur homogène, positionnement vertical, …
  • S'ils ne sont pas utilisés de façon imbriquée, avec des colspan, rowspan et autres artifices de mise en forme directe.
  • S'ils sont utilisés de façon stricte (pas de balises du genre <thead><tfoot><th> ou <caption>)
  • S'ils évitent de détourner de leur usage premier les autres outils disponibles (float, faux-column, etc…)

Signe que le concept de tableau a toujours sa place dans les nouvelles spécifications, il est possible aujourd'hui de formater des contenus au comportement équivalent à celui des tableaux grâces aux balises CSS display ({display:table-cell;} par exemple). C'est d'ailleurs la méthode à utiliser si l'on souhaite affiner la présentation d'un élément de type "tableau".

Désormais je saurai quoi répondre aux référenceurs qui, malgré mes résistances, préconisent sans cesse de "supprimer les tableaux"…

 

Cet article m'a été inspiré (et libéré de certains doutes) par la présentation "Vive les tableaux de mise en page" de Raphaël Goetter (AlsacréationS)

Réagir

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *