5568 sujets

Sémantique web et HTML

Je reprend içi la suite de http://forum.alsacreations.com/posting.php?action=newp&tid=5&fid=1&p=2&q=151

Raphael a écrit :
@dominique : "beaucoup plus facile d'accès s'il n'y a aucun tableau."

>> Voilà un joli débat qui devrait se poursuivre en salle Accessibilité.

Peut-être que je me trompe, mais la structure d'un forum est la même quelles que soient les balises mises en jeu : il y'a des "cellules" (appelons ça comme ça) contenant des titres, des données, des avatars, des messages, etc.

Selon moi : que cette structure soit construite avec des table+td ou des divs imbriqués ou des dl+dt+dd (ce ne sont que des exemples) devrait revenir strictement au même : il faut bien structurer d'une certaine manière les données.

Très honnêtement, je ne vois pas en quoi des imbrications de div ou de listes de définitions seraient un meilleur choix pour les non-voyants que des tableaux (sachant que ces tableaux sont "propres", non imbriqués entre eux).

Ce qui gêne les non-voyants n'est pas la balise <table> en elle-même, mais son utilisation imbriquée ou dénaturant la structure générale du document.


Cette question m'a été posé sur mon forum PunkBB : un PunBB customisé en Xhtml 1.0 strict et tableless
par NikO > http://forum.kh0d.com/viewtopic.php?id=8

Ma tentative d'argumentation :
C'est une réflexion que je me suis faite aussi pendant ce portage de PunBB.:)

Si l'on considère certaines pages comme l’index du forum c’est une liste de données comprenant les mêmes valeurs : titre, auteur etc.
Sujet(A) : (a)
Auteur(B) : (b) / Réponses (C) : (c) / Vues(D) : (d)
Dernier message(E) : (e)

Présenté en tableau chaque colonne (A, B, C…) est rempli à la vertical. Ce qui permet le classement par A ou B, l’inconvénient c’est de devoir remonter en haut de colonnes pour voir l’intitulé (dans le cadre de ce forum ce n’est pas gênant mais cela peut l’être dans un gros forum lorsque les donnés ne sont pas explicite ou très nombreuses. L’avantage c’est le classement.

Présenté sans tableau chaque ligne (A : a, B : b, C : c…) est rempli à l’horizontal. C’est finalement plus proche d’une liste composée d’éléments autonomes. Chaque entité possède ses propres sous catégories.

C’est particulièrement vrai pour les pages de post, chacun est une entité avec son texte, son auteur etc. Le classement vertical est inutile, les tables inadaptées.
Par extension de ce principe la présentation en colonnes n’est pas sémantiquement si justifié dans le reste du forum.

Toutefois, c’est discutable et en relisant ta phrase elle contient une piste :
la liste, l’index du forum est en effet une liste avec titres et sous-titres, catégories et des sous catégories.

La « vérité sémantique » pour ces pages se situe peut-être là… ;)
Modifié le 11 Nov 2004 - 18:51
Ben ! merci pour ton intervention kh0d ...

Je n'aurais certainement pas mieux expliqué Smiley cligne ... de plus, on entre pas dans un débat et la discussion reste ouverte...
Administrateur
Très intéressant en effet.

Mais le problème reste le même pour beaucoup de données purement tabulaires dans ce cas. L'affichage et la navigation dans de tels tableaux restent peut-être peu instinctifs... et pourtant il est sémantiquement propre d'utiliser un tableau pour des données tabulaires (même si de ce fait, ils posent peut-être des problèmes aux non voyants).

Donc la question est de savoir quelle frontière on met entre une liste et un tableau.
Effectivement, une liste semble être une utilisation sémantiquement juste, tout autant qu'une liste de définition qui apporterait un titre de liste en plus.

Mais "sémantiquement plus correct" est-il pour autant synonyme de "plus Accessible" ?
Une liste présenterait autant de divisions qu'un affichage en tableau.. et risquerait peut-être même de dérouter les non-voyants qui ont l'habitude maintenant de rencontrer des tableaux partout.

En tout cas, la question reste intéressante... tant qu'on n'en vient pas à bannir complètement les tableaux.
Administrateur
Petit rajout :
Pompage a écrit :

Les listes de définitions ne peuvent pas avoir l'apparence de données tabulaires, mais elles peuvent contenir des éléments d'accessibilité comme des descripteurs (labels) et des en-têtes (headers) pour mieux relier les informations. Pour cette raison, elles ne devraient pas être utilisées en remplacement de données tabulaires complexes.


-- > http://pompage.net/pompe/listesdefinitions/
Comme d'habitude, le risque quand on découvre un sujet c'est de trop en faire.

Tout d'abord, ici on a des données tabulaires, il n'y a donc aucun mal à utiliser les tableaux. Maintenant vous parlez de pouvoir remettre des label et des listes horizontales.

Je me pose la question du comment. Faire :
Titre
xxxx
Message
yyyyyy
Auteur
zzzz

Ca autant de fois qu'il y a de messages ? oui c'est plus clair (quoique), mais vous immaginez l'horreur dans un navigateur oral pour la navigation ? Essayez à la main et mettez en route un Jaws en version d'essai, vous allez comprendre. En mettre trop n'est pas mieux que de ne pas en mettre assez. Ce qu'il faut c'est de la qualité, pas de la quantité.

Un tableau bien fait sera tout à fait acessible. Le navigateur peut repérer le thead et les th pour connaitre les entêtes et labels des cellules td. S'il ne le fait pas c'est éventuellement un problème de navigateur, si ça gêne, mais pas un problème de code.

Ne bannissez pas les tableaux, ils n'ont rien fait de mal et sont au contraire parmi les balises qui ont une accessibilité théorique la plus forte (on repère bien les entête, les empilements, les fin et début de données, on peut avoir un titre horizontal et un titre vertical, etc...

Ce n'est pas le tableau qui est mauvais, c'est sa mauvaise utilisation (souvent pour faire du positionnement).
(ceci dit c'est vrai que le code source de ce forum n'est pas parmi les plus jolis)
C'est moi le niko en question :)

La question de la structure d'un forum me turlupine souvent ( à chaque fois que j'en réinstalle un et le customise )

Toutes les pages d'un forum ne sont pas identiques, loin de là, à partir de ce constat, d'une page à l'autre, la structure peut/doit être trés différente.

Enumérons les différentes pages :

- accueil

De maniere litteraire : l 'accueil propose une description de forums avec une liste d'informations les concernants ( nom, nb de post, nb de reponses, dernier message )
( je zappe le bas de page avec login, liste (li) des derniers posts, etc )

La méthode classique : un tableau :


titrea titreb titrec
1a      1b     1c
2a      2b     2c

Une alternative ?

on peut aussi voir sous forme de listes imbriquées dans des liste de définitions:


<dl>
<dt>nom forum a</dt>
<dd>
      <ul>
            <li>description</li>
            <li>nb de post</li>
            <li>nd de réponse</li>
            <li>dernier message</li>
      </ul>
</dd>
<dt>nom forum b</dt>
<dd>
      <ul>
            <li>description</li>
            <li>nb de post</li>
            <li>nd de réponse</li>
            <li>dernier message</li>
      </ul>
</dd>
</dl>


Ca me semble valable pour la page d'accueil, qui est generale.

- liste des post d'un forum

là, pour moi, c'est différent. On sort du cadre de la liste de définition.
Car il n'est plus question de description d'un forum, mais de liste avec différentes données bien hierachisées.

Sujets Pages Auteur Réponses Vues Dernier envoi

il serait lourd, de réxpliqué à chaque posts, de quelles informations il s'agit, étant donner le nombre important de caracteristiques ( sujets, pages )... > on passe en données tablulaires.


<dl>
<dt>post 1</dt>
<dd>
      <ul>
            <li><strong>nb de pages</strong> 5</li>
            etc ...
      </ul>
</dd>
</dl>


La structuration sous forme de tableau me semble pertinente sur cette page là.

- la page topic

Là on sort totalement de la problématique "forum" on rentre plutot dans le cadre d'un "blog" ( 1 post principal, et des réponses à ce post )


<div>
   <h2>titre post</h2>
   <dl>
     <dt>Auteur</dt>
     <dd>
       <ul><li>email</li><li>nb de messages postés ...</li>
       </ul>
    </dd>
  </dl>
  <div>
  <p>contenu du post</p>
  </div>
</div>

<div>
<h2>Réponses 1</h2>
<dl>{{informations auteur}}</dl>
<p>contenu réponses</p>
</div>


Je ne parle pas des autres pages, qui sont moins problématiques sémantiquent & accessibilités ...
si ce n'est que les label et les fieldset c'est bon pour les formulaires :)

Bref, Voici mon opinion ( non définitive ) sur la structure que devrait avoir un forum.

edit : j'ai l'impression qui l'y a un bug avec les a href automatiques, ils ne prennent que l'url du topic en cours ( voir le 1 post )
Modifié le 28 Oct 2004 - 17:05
Je trouve que cette réflexion avance bien Smiley smile

La description de la fonction des pages est je trouve clairement expliquer par NiKo, la présentation dépend du contenu.

Certes les donnés tabulaires( comme un catalogue de produits) doivent se présenter dans des tables, ordonnées en colonnes et en ligne.

Voici la page d'accueil du forum vu dans lynx :
http://www.delorie.com/web/lynxview.cgi?url=http%3A%2F%2Fforum.alsacreations.com%2Fforum.php
On perd totalement les titres des colonnes, c'est bien une suite (titre, sous titre, date, auteur)


Ce qui est accepté comme une "norme" dans un blog (une suite de réponses à un texte dans des divs), est dans un forum par convention présenté en tables.
Pourtant la fonction est identique...

Si c'est uniquement une convention issus d'une pratique passée de la présentation des pages d'un forum, c'est un archaîsme amené à disparaître, attendons et voyons Smiley fou


codons moins, codons mieux Smiley biggrin
Administrateur
kh0d a écrit :

Ce qui est accepté comme une "norme" dans un blog

C'est un peu exagéré, non ?

Selon moi, tout dépend de la complexité de la structure.
Effectivement, un blog peut se limiter à un billet et des commentaires, et dans ce cas une structure tabulaire est sans doute inappropriées.

Dans le cas d'un forum tel que celui-ci, nous avons à structurer et présenter :
- des titres, sous-titres, contenu de message
- "cases" pour l'avatar, la citation, le nombre de posts
- dans la rédaction de posts : des zones pour les smileys, les boutons de bbcode
- etc.

Oui effectivement tout cela ne représente pas uniquement des données strictement "tabulaires", mais une structure différente ne serait-elle pas plus complexe encore ?
Une page comme : http://www.kalitee.org/punBB/... ne s'en sort pas mal sans table.
Il n'y a pas de limite aux css powaa (en théorie)...

Mais tout cela n'est qu'anecdotique par rapport à la qualité du developpement d'un forum, c'est une "vue de l'esprit" Smiley smile
Modifié le 05 Nov 2004 - 15:02