5568 sujets

Sémantique web et HTML

Bonjour à tous.

Malgré de très nombreuses contraintes dues à une mauvaise conception, j'essaie d'intégrer un site dans les normes et respectant le plus possible la sémantique HTML.
Or, je dois réalisé un petit filet séparateur entre deux blocs (comprenant un texte, une image, in lien).
J'étais tenté par hr (reformaté via css), mais celui-ci semble générer des espaces verticaux parasites sous IE.
Du coup je dois me rabattre vers un autre tag, mais lequel ?

Ma question est-elle idiote ? Smiley ohwell
Modifié par vinzo (02 Mar 2005 - 11:35)
Merci,

J'aurais dû commencer par faire une recherche, je suis confus.
Je vais opter pour la solution qui me semble la plus élégante <div class="hr"></div>.

Bravo pour cet excellent forum.

Smiley confused
vinzo a écrit :
Bonjour à tous.

Malgré de très nombreuses contraintes dues à une mauvaise conception, j'essaie d'intégrer un site dans les normes et respectant le plus possible la sémantique HTML.
Or, je dois réalisé un petit filet séparateur entre deux blocs (comprenant un texte, une image, in lien).
J'étais tenté par hr (reformaté via css), mais celui-ci semble générer des espaces verticaux parasites sous IE.


vinzo a écrit :
Je vais opter pour la solution qui me semble la plus élégante <div class="hr"></div>.


Je peux jouer les troubles-fêtes ? Dites, je peux ? Smiley biggrin

Côté sémantique, <hr>... est plus "sémantique" que <div class="hr"></div>. Et pourtant il ne s'agit, dans les deux cas, que de présentation.

"sémantique", ça veut dire quoi, ici ?
- un balisage qui pourra être interprété par une machine ? Auquel cas, <hr> présente l'indéniable avantage d'être beaucoup plus largement interprété qu'un <div class="hr"></div>

- un élément doté d'un sens précis selon une DTD ? Auquel cas, <hr> est, là encore, l'élément spécifique qu'un <div class="hr"></div> vient inutilement répliquer.

Ah... Mais non ! C'est de la présentation, ai-je dis ! Maudits soient ceux qui se servent du HTML pour faire de la vile présentation ! Cette ligne de séparation n'est pas sémantique, à l'évidence. C'est juste une pollution décorative. Donc, il faut bien un <div class="hr"></div> et tout plein de CSS qui vont bien dessus...

Alors : <hr> ? <div class="hr"></div> ? Oui ? Non ? Zut ?

Enlevons ce mot qui rend tout très confus: sémantique. Et posons clairement la question :

- l'objectif de l'auteur est-il de produire un code concret, avec l'avantage d'être plus aisément interprété par un plus grand nombre de navigateurs ? C'est à dire un code moins dépendant de CSS ? Dans ce cas, <hr> est son ami : valide, conforme, favorisant l'accessibilité, que ce soit dans un navigateur vocal ou un navigateur texte... Certes un peu embêtant parfois à styler dans certains navigateurs. Mais est-ce l'essentiel ?

- sinon, si son objectif est de produire un code beaucoup moins orienté vers un media donné, beaucoup moins visuel dans ce cas précis, si c'est cela que vous mettez derrière le mot sémantique : ça ne vous titille pas un peu sur les bords, ce <div class="hr"></div> (auquel il faudrait d'ailleurs ajouter un contenu du type & nbsp; pour qu'il soit pris en compte par tous les navigateurs) ? Une border-bottom sur un élément HTML existant ne serait-elle pas plus élégante ? Le prix de l'élégance étant, dans tous les cas, une plus grande dépendance envers CSS, bien-sûr.

---
La chose n'est pas le mot, et le mot n'est pas la chose
Modifié par Laurent Denis (02 Mar 2005 - 11:13)
Merci Laurent pour ces explications très claires.

Produire un site "sémantique", respectant toutes les normes et accessible. Voilà un beau sujet, un espoir....

Seulement, je suis toujours déçu de ne pouvoir exprimer réellement ces exigences au sein de projets qui sont souvent mal ficelés, mal conçus, trop complexes éditorialement, ou l'on veut toujours mettre toutes les informations possibles sur la homepage. Bien que concepteur, je n'ai pas toujours la main sur le sujet.
Alors j'essaie de faire mon mieux en essayant de faire quelque chose de propre (déjà)
J'ai bien compris le sens de sémantique, mais il faut bien savoir que dans la totalité des projets produits par la SSII dans laquelle je bosse, y compris les sites publics, ce terme est souvent exclu.

Merci à tous.
Vinzo: mon irruption dans ce fil était, tu l'as compris, un peu provocatrice Smiley cligne .

Ton choix de balisage, dans la situation que tu décris (et que tu regrettes à juste titre), est évidemment tout à fait légitime si les exigences de présentation que tu ne maîtrises pas le nécessitent.
Je l'ai compris ainsi Laurent.
Même si j'ai déjà mangé pas mal de codes et de pages, je n'ai sûrment pas la science infuse. C'est pour cela que je consulte vos sites à tous qui sont très clairement une référence.
A la lecture des remarques de Laurent, j'ai envisagé cette solution. Mais le topic n'a pas de réelle solution simple pour contrarié IE (ce n'est qu'un <hr />).
Donc... vivement un IE élevé avec respect.

Bonne après-midi.