5568 sujets

Sémantique web et HTML

Bonjour,
j'ai remarqué que certains éléments HTML comme les tableaux qui se suivent
supportent mal (visuellement) une désactivation CSS : les tableaux sont collés
sans aucune séparation et le caption s'il est présent ne s'affiche même pas en
gras. Je me demande donc si le HR n'a pas un rôle à jouer dans la présentation
du document web en l'absence de couche CSS.
Modifié par Hermann (30 Jul 2007 - 10:08)
Hermann a écrit :
j'ai remarqué que certains éléments HTML comme les tableaux qui se suivent supportent mal (visuellement) une désactivation CSS : les tableaux sont collés sans aucune séparation et le caption s'il est présent ne s'affiche même pas en gras. Je me demande donc si le HR n'a pas un rôle à jouer dans la présentation du document web en l'absence de couche CSS.

Théoriquement, ça serait plutôt du ressort des styles par défaut des navigateurs. Cependant, si la pratique des navigateurs fait que certains éléments d'un document sont peu lisibles avec leurs seuls styles par défaut, et ce de manière assez proche d'un navigateur à l'autre, ça peut être légèrement frustrant. On pourra tenter d'y remédier (bien que ça ne soit pas indispensable, loin de là...), si la solution trouvée n'est pas trop lourde.

En l'occurrence, je ne suis pas sûr que mettre des hr partout soit très pertinent. S'il s'agit de pouvoir distinguer deux tableaux même sans feuille de style, je ferais tout simplement ceci:
<table border="1"><tr><td>Premier tableau</td></tr></table>
<table border="1"><tr><td>Second tableau</td></tr></table>

On notera que les bordures pourront être annulées ainsi:
table, td {border: none;}


Le problème du hr, c'est qu'il peut être interprété comme divisant le document en deux (ou plus, suivant le nombre de hr...), vu qu'il n'est pas très discret et prend toute la largeur disponible.

Une solution plus douce:
[b]HTML:[/b]
<table><tr><td>Premier tableau</td></tr></table>
<br class="nocss" />
<table><tr><td>Second tableau</td></tr></table>

[b]CSS:[/b]
br.nocss {display: none;}

Ou encore combiner les deux :
<table border="1"><tr><td>Premier tableau</td></tr></table>
<br class="nocss" />
<table border="1"><tr><td>Second tableau</td></tr></table>
Salut,
ton point de vue sur l'utilisation qu'il faudrait faire du HR est pertinent, et puis
c'est vrai que l'attribut border au niveau des tables n'est pas invalidant,
je crois donc que je vais me tourner vers cette solution. Smiley cligne
La solution du <br /> est moins propre, je n'utilise celui-ci
que dans sa fonction première : forcer des coupures de ligne.

Florent V. a écrit :
On pourra tenter d'y remédier (bien que ça ne soit pas indispensable, loin de là...)

Peut-être pas indispensable mais parfois nécessaire.

Merci.
Modifié par Hermann (30 Jul 2007 - 15:23)