5568 sujets

Sémantique web et HTML

Bonjour,

On m'a toujours dit que d'utiliser les tableaux pour mettre en forme une page web était mal, je dis bien pour le design de la page, mais maintenant j'ai une question:

Sur une page gérer par un CMS, je dois mettre 3 liste ul côte à côte "sur la même ligne", pour faire cela je suis obliger de faire un tableau? je pourrais mettre des float, mais il faudrait appliquer un style à chaque liste ul, et allez dire ça à la personne qui va gérer le site via le cms et qui ni connait rien du tout en web...

Au final, utiliser les tableaux pour mettre en place un design c'est mal, mais est-ce que utiliser les tableaux pour "mettre en forme" le contenu du site est aussi mal?

Merci d'avance
Il faut utiliser les tableaux pour afficher un tableau dans le site. Mais pas pour mettre en forme la page.

Donc, à priori, dans ton cas (si c'est bien un tableau de liens dans un contenu) c'est logique.
Modifié par Borak (04 Nov 2010 - 16:30)
Bonjour,

C'est très clairement une mise en page en colonnes ici, pas un tableau de données. Donc dans l'absolu il ne faut pas utiliser TABLE.

Maintenant, si c'est un contenu HTML «en vrac» éditable avec un éditeur WYSIWYG plus ou moins bien fichu par une personne pas formée à HTML... utiliser un tableau de mise en page est sans doute un bon compromis. En gardant en tête qu'une personne pas formée à HTML aura vite fait de casser complètement la mise en forme des contenus. C'est un peu comme donner un donner un document InDesign à un néophyte et de lui dire: ok allez-y, faites toutes les modifs que vous voulez et ensuite vous envoyez directement à l'imprimeur, tout ira bien.

Enfin bref, d'un point de vue accessibilité le tableau de mise en page c'est moins bien, mais ça peut passer.
D'un point de vue pratique c'est peut-être plus efficace pour l'utilisateur du CMS que des classes sur les éléments UL ou des DIV (les deux étant invisibles dans la plupart des éditeurs WYSIWYG JavaScript), mais ça va pas être miraculeux non plus comme solution.
Hello,

En passant rapidos, pour faire les choses "bien" il faudrait (au choix) :
- Utiliser les champs personnalisés (custom fields en anglais, intégrés sur certains CMS comme Wordpress).
- Trouver ou développer un module (/ plug-in).

Beaucoup de boulot pour pas grand chose j'ai l'impression... Smiley ohwell
bonjour,

il y a aussi la possibilité dans certains editeur d'utiliser un 'modèle' que l'utilisateur final peut modifier/remplir pour la création d'une nouvelle page, c'est utile.

A l'édition , pour éviter 'le sapin de noél', il ne devrait pas y avoir trop de soucis en bridant l'éditeur a l'essentiel.

GC
Bonjour,

Merci pour les réponses, je me doutait bien que d'utiliser un tableau pour mon cas n'était pas la meilleur solution mais un bon compromis. en effet le principal problème c'est l'utilisation de l'éditeur du CMS par une personne qui connait pas forcément tout bien le monde de l'Internet Smiley smile

Pour le mode "sapin de Noël", ne vous inquiétez pas, l'éditeur est en effet bridé pour ne pas faire n'importe quoi.
Administrateur
Bonjour,

un tableau de mise en page peut être une solution si les 3 blocs doivent avoir la même hauteur.
L'idéal c'est 3 div avec display: table-cell; mais pas de support des vieux IE.
Sinon 3 div avec display: inline-block; (et vertical-align pour l'alignement vertical)
Sinon faire flotter.

Dans le cas d'un tableau de mise en page, les contraintes sont de ne PAS utiliser les éléments qui apportent du sens dans un tableau de données.
L'attribut summary doit donc être vide (summary="") ou inexistant, je crois que tu as le droit à tbody et donc 3 <td>.
Pas de <caption>, thead, tfoot, th ; pas d'attributs scope, id/headers.
Le tableau doit se linéariser correctement m'enfin avec 3 cellules je vois pas comment aller à l'encontre de la linéarisation ^^
Tu peux vérifier que tu t'y prends bien ici : http://www.braillenet.org/accessibilite/referentiel-aw21/#tableaux
Hum interéssant le display table-cell et display inline-block, j'avais oublié qu'il existait ces options Smiley smile

Une question: peut appliquer un display inline-block à une liste ul? sinon à quel élément peut-on appliquer cette propriété?

Pour l'instant j'y suis aller avec un tableau simple avec un tbody et c'est tout, rien d'autre.
Mais c'est vrai que si je peux utiliser un display inline-block c'est plus simple pour moi, et surtout pour le rédacteur qui ne devra pas s'embêter à faire des tableaux pour aligner des éléments Smiley smile

Merci pour ta réponse.
Blogger a écrit :
Une question: peut appliquer un display inline-block à une liste ul?

Oui.
Ne marche pas dans IE7, par contre.
Je tiens à vous mettre en garde en ce qui concerne la linéarisation. AVec le code suivant :

<table>
<tr><td>
<ul>
...
</ul>
</td> <td>
<ul>
...
</ul
></td><td>
<ul>
...
</ul>
</tr></td></table>


Si le contenu est censé être lu colonne par colonne, c'est-à-dire on lit l'ensemble de la colonne de gauche, puis ensuite on lit l'ensemble de la colonne du milieu, puis enfin on lit l'ensemble de la colonne de droite, la linéarisation donne un résultat correct.

Par contre, si le contenu est censé être lu ligne par ligne, c'est-à-dire on lit le premier élément de la colonne de gauche, le premier de celle du milieu, le premier de celle de droite, le second de celle de gauche, le second de celle du milieu, le second de celle de droite, le troisième de celle de gauche, etc. alors la linéarisation du contenu ne correspond plus au sens supposé de lecture. La seule solution pour remédier à ce cas est d'avoir un seul élément par cellule.

JE tenais à le rappeler, parce qu'on voit malheureusement très souvent que la mauvaise option a été choisie, et il n'y a aucun droit à l'erreur sur ce terrain, la linéarisation correcte des contenus faisant partie des inddispensables à l'accessibilité au même titre que les alt sur les images et la hiérarchisation des titres. Beaucoup de personnes ne font pas la différence, même hors web (j'ai déjà vu des word et des PDF complètement faux, et le pire de tout: la tabulation, qui ne s'applique heureusement pas sur le web)
Modifié par QuentinC (06 Nov 2010 - 08:17)