5568 sujets

Sémantique web et HTML

Bonjour à tous,

J'utilise des imbrications de balises span pour de la mise en forme de texte. Par exemple:
<span class="hilit">
  texte bla bla
  <span class="match">
    match match
    <span class="capt">
      capture
    </span>
     match 
   </span>
  texte  texte
</span>


Chaque classe css a ses caractéristiques propres.

Validé en XHTML 1.0 par W3C mais HTML Tidy me donne un Warning nested emphasis <span>. Dans les spec's, je n'ai pas réussi à trouver si les imbrications de balises span étaient autorisées ou pas.

Quelle autre solution pour attribuer un style, inline, à un ensemble de <span>..</span>?
Administrateur
Salut ripat,

<span>, comme toutes les autres balises inline en général, peut contenir d'autres éléments <span> sans restrictions.

Par contre, il est recommandé de ne l'utiliser que si d'autres balises plus porteuses de sens ne sont pas appliquables.
Modifié par Raphael (31 Mar 2005 - 14:13)
Lorsque HTML Tidy te dit ça, ce n'est qu'une recommandation. C'est valide syntaxiquement parlant.

HTML Tidy ne sait pas que c'est pour la présentatoin, et lui voit simplement :
<span><span>Truc<span>Truc</span>Truc</span></span>


Donc en fait, ton code ne comporte aucune erreur Smiley smile
Modifié par Nyro Xeo (31 Mar 2005 - 14:19)
Voilà un forum bien réactif Smiley smile

Merci à tous les deux pour vos réponses. Je dormirai mieux ce soir...

>Raphael quand tu dis "balises plus porteuses de sens" tu fais alusion à des balises comme <pre> <cit> etc... ou à autre chose?
Il est fait allusion à la sémantique : c'est-à-dire le sens des balises.

<strong> par exemple est une balise qui veut dire "important", <blockquote>, une balise contenant une citation.

Si tes balises <span> ne sont que là pour la présentation, alors c'est bon (en quelques sortes). Car la balise <span> est une balise neutre qui ne veut rien dire.

Un synthétiseur vocal ne la retransmettra pas (tandis que par exemple il retransmettra le contenu d'une balise <strong> d'une manière un peu plus forte pour signaler l'importance). C'est ça la sémantique...
Administrateur
C'est effectivement ce que je voulais dire : en règle générale, certaines balises sont bien plus appropriées que <span> : notamment <dfn>, <em>, <strong>, <kbd>, <samp>, <q>, etc.

Attention car <pre> est une balise de type bloc et donc ne convient pas à ce que tu veux faire.
... et <cit> n'existe pas Smiley cligne
Modifié par Raphael (31 Mar 2005 - 14:42)
D'accord. Je vois un peu mieux.

J'ai passé beaucoup de temps sur ce site pour essayer de capter l'essentiel des standards.

J'y crois (aux standards). Mais les respecter, et de manière consistante, c'est une autre histoire...

Je passerai encore un peu plus de temps sur ce forum.
Modifié par ripat (31 Mar 2005 - 14:50)