Avec un peu de retard, mais plein de bonne volonté, je me lance quand même dans une réponse pour essayer de t'éclairer un peu sur ce que j'entendais. Je m'excuse d'avance, je sais que ce sera long. ^_^
CITATION(nizouille @ lundi 03 janvier 2005, 14h30)
Je ne vois pas trop comment travailler sur ces spans apparemment mal utilisées. Je me suis peut-être mal renseigné, mais c'était dans ma tête la seule possibilité. Par ailleurs je ne vois pas de quoi tu parles Denis, en disant :
2. span utilisés comme des éléments de block alors que le div sert justement à cela ;
4. span utilisés uniquement pour passer des class CSS alors qu'il y a déjà des éléments HTML qui peuvent les accueillir."
Commençons par le point 2 si tu le veux bien. Tu utilises trois spans pour créer le menu du haut pour les items inscription, newsletter et forum. Voici comment tu as codé le CSS qui accompagne ces <span> :
CODE
/* les 3 boutons du header*/
.bt1 {
position: absolute;
top: 18px;
left: 470px;
font-size: 13px;
}
.bt2 {
position: absolute;
top: 38px;
left: 440px;
font-size: 13px;
}
.bt3 {
position: absolute;
top: 58px;
left: 415px;
font-size: 13px;
}
Autrement dit, en positionnant ces trois <span> comme des éléments distincts, tu leur donnes un rôle semblable à celui qu'un <div> remplirait, donc un élément block. Pour faire la distinction entre un élément en-ligne (ex. le span), par opposition à un élément bloc (ex. le div) et la différence entre un <div> et un <span>, voir les articles suivants :
http://www.netmechanic.com/news/vol6/css_no16.htmhttp://www.webmasterworld.com/forum83/3980.htmhttp://webdesign.about.com/cs/htmltags/a/aa011000a.htmC'est pas terrible, mais c'est ce que j'ai trouvé de mieux pour le moment.
C'est pourquoi je faisais initialement allusion à l'effet d'utiliser une liste HTML avec trois <li> plutôt que trois <span> (ou mieux, <div>). Sémantiquement parlant, le <ul> serait plus indiqué pour regrouper ton menu que ces trois liens qui actuellement ne sont pas regroupés du tout. Est-ce que je suis un peu plus clair ?

Et maintenant, pour le point 4 : "span utilisés uniquement pour passer des class CSS alors qu'il y a déjà des éléments HTML qui peuvent les accueillir". Prenons quelques exemples, tu comprendras tout de suite.
CODE
<span class="gras">Enseignons.be</span>
<span class="gras">échange de ressources pédagogiques</span>
<span class="gras">50 préparations</span>
CODE
<p>P.S.:<span class="gras">Enseignons.be étant à ses débuts, peu de préparations se trouvent à ce jour sur notre serveur. Nous vous demandons votre plus grande collaboration pour que rapidement des documents soient à disposition des autres utilisateurs, afin de pouvoir lancer le mouvement d'échange.</span></p>
Dans les deux cas, tu utilises une classe "gras" pour simuler la balise <b> que tu as décidé de ne pas utiliser, fort probablement parce que tu as lu quelque part qu'elle ne véhiculait aucune valeur sémantique (et c'est vrai). En remplaçant ton <b> par un <span class="gras">, tu es tombé dans le même piège que tout le monde (je n'y ai pas échappé non plus il y a quelques années).
Heureusement, c'est le genre de truc qu'on te dit une fois et plus jamais tu ne refais l'erreur par la suite. Si tu voulais conférer aux mots que tu soulignes une valeur supplémentaire d'emphase (et pas juste un effet visuel), tu devrais utiliser la balise <strong> qui est tout à fait indiquée pour cela. Dans ce cas-ci, c'est un abus de CSS et de span.

En résumé, si tu veux juste faire du gras, sachant que la seule valeur sera visuelle, garde plutôt ce bon vieux <b> qui fait partie de la norme XHTML 1.0 strict de toute manière. Si tu veux aller un peu plus loin en terme de focus, utilise le <strong>.
Dans le deuxième cas, pour l'exemple de ton paragraphe avec un P.S., tu utilises un <span> de trop. Tu aurais tout aussi bien pu écrire <p class="gras"> et t'éviter le recours à un <span>... parce que la sémantique, c'est aussi l'économie des balises. ^_^
CITATION(nizouille @ mercredi 05 janvier 2005, 03h57)
La proposition peut paraître absurde, mais j'aimerais appliquer une sémantique plus conforme, y aurait-il quelqu'un qui pourrait m'y aider ?
Ça peut se faire... ce serait très formateur pour tout le monde je crois.
Pour commencer, je te propose de réfléchir sur le rôle que doit remplir chaque bout de code. En fonction de la réponse, tu auras déjà une meilleure idée du choix de balise HTML à utiliser pour tes pages. Revenons à ce fameux menu avec trois <span> pour réfléchir sur les menus en général.
Qu'est-ce qu'un menu, sinon une série de liens, regroupées ensemble ? Pour que le sens de regroupement existe ailleurs que simplement viuellement, il faut les structurer pour qu'ils soient contenus dans un bloc, un conteneur. C'est pourquoi le <ul> peut être tout indiqué, puisqu'il regroupe un nombre illimité d'items (les <li>) de menu potentiel. Mais ce n'est pas la seule solution... d'un point de vue accessibilité, un <p> avec trois <a> à l'intérieur, séparés par des caractères délimitateurs adjacents comme le | pourraient aussi faire l'affaire, tout comme le ferait un <ol> ou même un <div>, traité comme un paragraphe (mais dans un tel cas, il faudrait que tu te questionnes sur la pertinence d'utiliser le <div> puisque le <p> serait tout indiqué).
Fais cette réflexion avec chaque bouts de code utilisés et pose toi la question de la pertinence du code choisi... est-il le plus approprié pour le travail, en fonction de ce que tu connais de sa raison d'être ?
J'arrête ici pour le moment, parce qu'on va finir par me crier de me la fermer !