5546 sujets

Sémantique web et HTML

Bonjour,

Quel est l'impact aujourd'hui de réaliser tout un site avec une table. (référencement, évolution ect).

Merci d'avance
Administrateur
Bonjour,

tu seras la risée de tes collègues, ton karma va baisser... ah pardon l'impact pour le site ? Smiley smile
- l'adaptation aux mobiles ne sera pas de la tarte (quoique... zut tu me donnes des idées tordues à base de (dans une Media Query) td { display: block; float: left } )
- référencement aucune idée je suis pas Google.
Le problème principal va être pour la maintenance et l'évolution oui, mais ça dépend grandement de la quantité de tables que tu utilises. 2 TD pour faire des colonnes et des tables imbriquées sur 3 niveaux et des colspan/rowspan partout ça va du "inhabituel mais je peux m'en sortir" à "impossible de modifier quoi que ce soit sans revoir le code à chaque fois pour pas avoir des cellules manquantes ou en trop".

Si tu supportes IE8+ uniquement c'est en tout cas inutile d'avoir des tables. Ca peut très éventuellement se justifier avec IE7- (bon en fait non mais il peut exister des designs venus de l'hyper-espace où ça se justifierait. Après avoir répondu à la question "mais pourquoi un design pareil ?" Smiley ravi )
Bonsoir,
les tableaux (uniquement en temps qu'élément de mise en page) peuvent poser des problèmes d'accessibilité quand ils sont imbriqués et mal implémentés, allourdissent et complexifient le code, ce qui peut potentiellement être pénalisant en terme de positionnement depuis que Google (et peut-être d'autre moteurs de recherchent) prennent en compte le poids des pages dans leur algo (mais à faible dose à mon avis).
Lorsque qu'ils ne son pas dotés d'un table-layout fixe (la valeur par défaut étant auto), ils ne s'affichent qu'une fois qu'ils sont entièrement lus par la navigateur > ralentissement du temps d'affichage.
D'autre part les cellules dotées d'un position:relative ne peuvent pas servir de référent pour leur descendants positionnés en absolu sur la plupart des navigateurs.
Modifié par Hermann (25 Mar 2013 - 09:08)
Les lecteurs de navigateurs (tel que celui de Safari ou l'addon iReader pour Chrome) ne lisent pas les tableaux, ce qui donne une petite idée de leur accessibilité/lisibilité pour ce qui est de l'info.

Mais pour les moteurs de recherche ce n'est peut-être encore pas très pénalisant : certains sites anciens - codés en tableaux donc - sont encore très bien référencés (mais leur ancienneté compte positivement dans leur référencement).

À cause des techniques abusives quand au SEO les moteurs de recherchent s'intéressent peut à la structure d'un site (après tout vous faites confiance apriori aux données d'un formulaire vous?), ils ne s'intéressent qu'au contenu visible, tableau ou pas.

Maintenant, pour ce qui est de l'évolutivité et de la souplesse de la structure du site... c'est mort.
En fait, c'est une société auquel je travail en freelance qui ont fait appel à un prestataire pour la réalisation de leurs site. J'ai vu la version en cours de développement, et j'étais extrêmement choqué qu'on puisse encore réaliser des site avec un tableau.
Surtout que, c'est moi qui va devoir ajouter des fonctionnalités à l'avenir... Avant de pouvoir leurs dire que c'est nimp de réalise un site avec un tableau, je préfère avoir tout les arguments pour les contrer .
poligondor a écrit :
En fait, c'est une société auquel je travail en freelance qui ont fait appel à un prestataire pour la réalisation de leurs site. J'ai vu la version en cours de développement, et j'étais extrêmement choqué qu'on puisse encore réaliser des site avec un tableau.
Surtout que, c'est moi qui va devoir ajouter des fonctionnalités à l'avenir... Avant de pouvoir leurs dire que c'est nimp de réalise un site avec un tableau, je préfère avoir tout les arguments pour les contrer .


S'il ne visent pas la compatibilité pour IE7-, à priori ça signifie simplement qu'ils ne sont pas assez compétents en CSS pour pondre un site sans table, depuis que les display:table-* sont implémentés sur IE8 et permettent d'obtenir le même résultat (si on fait exception des colspan/rowspan).
Autrement dit, il n'y a plus aucune raison valable à mon avis pour utiliser les tableaux si IE7- est exclu de la liste des browsers visés.
Les sites en tableaux sont dépassés depuis maintenant plusieurs années. Il est clair que coder en tableau la structure d'un site conduit à le fermer à l'évolutivité (responsive design, etc). Ce n'est pas du tout professionnel, il y a clairement ici un problème de compétence.
Les tableaux imbriqués posent problème dans les nouveaux navigateurs, bizarrement ce qu’il était possible de faire avec il y a 10 ans avec l’internet de l’époque et les ordinateurs qui vont avec on était décrété trop complexe pour le HTML5 et nos machines de guerre actuelles.

La consigne est donnée, il faut abonner les tableaux en tant que structure de site, et cela exige une compréhension beaucoup plus solide du CSS, il est vrai.

C’est un passage assez difficile, d’autant que tout le monde prétend qu’on peut faire facilement les mêmes choses en CSS, mais très peu sont capables de répondre quand les problèmes sont présentés.

Un site structuré en tableau n’est pas plus difficile à modifier qu’un site structuré en CSS, surtout que les techniques actuelles permettent de séparée structure et contenu (cf MasterPage en Visual Studio), mais l’abandon des tableaux en tant que structure de site est un passage quasi obligatoire vu que les nouveaux navigateurs ne les calculent plus correctement.

D’autre part, une structure CSS peut permettre d’obtenir un site responsive, avec des comportements qui s’adaptent à la taille du viewport, ce qui un avantage certain par rapport à une structure tableau.

Les nouvelles techniques CSS se démocratisent et rendent certaines utilisations de structure tableaux inutiles (Cadre aux bords arrondis par exemple).

Actuellement, si tu n’as pas de connaissance assez solide des CSS et/ou un temps limité à y passé, il peut être utile de passer par un Framework, qui offrent des structures de grilles pour construire son site et incluent souvent une partie responsive gérée pour toi.
http://usablica.github.com/front-end-frameworks/compare.html

Personnellement j’ai opté pour Kube, qui est très léger et sans Javascript , utilisable tel quel mais facilement compréhensible et facilement modifiable pour créer le Framework dont j’ai besoin. (c'est une bonne base d'apprentissage)
Modifié par Nikolian (03 Apr 2013 - 09:34)
Nikolian a écrit :
C’est un passage assez difficile, d’autant que tout le monde prétend qu’on peut faire facilement les mêmes choses en CSS, mais très peu sont capables de répondre quand les problèmes sont présentés.

display: table + vertical-align?

Nikolian a écrit :
D’autre part, une structure CSS peut permettre d’obtenir un site responsive, avec des comportements qui s’adaptent à la taille du viewport, ce qui un avantage certain par rapport à une structure tableau.

C'est bien là l'un des problèmes principaux de cette structure, comme nous disions plus haut. Le tableau n'est pas un mal en soit, mais comme toute technique celle-ci a fait son temps.
Justement le display:table est un apport au CSS (utilisable depuis IE8), qui montre que les tableaux avaient des avantages qui manquaient encore aux structures Div. Ces modes d’affichages (table, table-row,table-cell…) permettent de créer structures tabulaires simples (sans colspan ni rowspan) sans utiliser <table>
Raphaël a écrit un excellent article sur le sujet : Le modèle tabulaire en CSS

L’avantage d’utiliser une structures tableau CSS, c’est le tableau peut alors devenir responsive, on peut passer d’un display:cell à un display:block grâce aux mediaqueries.