5545 sujets

Sémantique web et HTML

Pages :
(reprise du message précédent)

Denis a écrit :

Il est pas mal, bien qu'un peu curieux... mais enfin, c'est un peu l'esprit.

Je cherchais quelque chose de très 'simple', bref, je commence à comprendre ce qu'est exactement la sémantique. Merci à toi. Smiley smile
Le problème de la sémantique HTML, c'est en fait: que veux-tu faire avec tes briques lego ?

Mon expertise du lego remonte à la préhistoire de celui-ci et à mes premiers pas dans ce monde d'adultes trop sérieux, mais, disons que:

- il y a sans doute des cas de figures où tu auras besoin d'empiler 3 plaques de legos plutôt que de chosir un seul bloc. Par exemple, si tu veux au milieu une plaque de couleur différente. Quoique mon exemple soit plus présentatif que fonctionnel... Disons qu'un expert lego transposerait ça en fonctionnel ;)
- il y en a d'autres en revanche où le bloc unique est la solution préférable, par économie de moyen pour un résultat identique par exemple, ou tout simplement parce que tu n'as pas besoin de différencier en 3 niveaux.

Pour dire ça avec du HTML : il est rare qu'une série de liens ait besoin d'être autre-chose qu'une liste, et donc il est difficile de trouver une raison fonctionnelle (structurelle en fait) de ne pas faire une liste : en fait, l'élément <ul> est tellement "puissant" qu'il est difficile d'y échapper quand on a une série d'items (sous réserve qu'il ne s'agisse pas de titres... mais ne nous égarons pas. Oubliez ça).

L'option :

item1<br />
item2<br />
item3<br />

...est à côté de la plaque tout simplement parce que... on a trois items avec une certaine récurence structurelle, et que ça définit précisément une liste <ul>. Celle-ci sera interprétée comme telle par n'importe quel agent utilisateur implémentant au minimum HTML4.01, et donc correctement restituée, c'est à dire sous forme d'une série continue d'items bien différenciés, mais agrégés dans le même bloc logique traitable en tant que tel (<ul>).

Donc oui, en faisant avec des <br />, tu utiliserais 3 plaques de legos pas vraiment assemblées, qui ne formeront finalement pas le bloc de sens que tu veux signifier en réalité. ça en aura l'apparence au moins visuelle, mais pas plus.

Maintenant, pour prendre un exemple plus approprié : que faire avec un item unique ?

<p>
item1</p>



<ul>
<li>item 1</li>
</ul>


<div>
item 1
</div>


Attention : il y a un piège...
Modifié le 30 Oct 2004 - 17:31
Je dirais <ul> parceque cet unique élément est susceptible d'être accompagné de "collègues" plus tard.

A mon avis le piège (sauf si je suis tombé dedans avec ce que je dis plus haut) c'est au niveau du <div>... Aiieueiie pas les doigts !
ElMoustiko a écrit :
Je dirais <ul> parceque cet unique élément est susceptible d'être accompagné de "collègues" plus tard.


Bravo (Tu n'aurais pas lu récemment quelque-chose sur le Hub à ce sujet, par hasard ? ;) ), mais c'est un questionnaire à réponses multiples : donc, la 2e réponse est ?

ElMoustiko a écrit :

A mon avis le piège (sauf si je suis tombé dedans avec ce que je dis plus haut) c'est au niveau du <div>... Aiieueiie pas les doigts !


<sadique>Précise un peu ta pensée, là...</sadique>
Modifié le 30 Oct 2004 - 17:35
Laurent Denis a écrit :
Maintenant, pour prendre un exemple plus approprié : que faire avec un item unique ?
Hm... je suppose que dans ce cas, un bloc de type list est à proscrire. Je me trompe ? :)

Edit: Apparement je suis tombé dans le panneau...
Modifié le 30 Oct 2004 - 17:39
Administrateur
Question subsidiaire : si on est certain que cet élément unique ne sera jamais accompagné d'amis plus tard, est-ce qu'une liste à 1 élément est-elle encore considérée comme une liste ?

La question n'est pas de spéculer ou d'émettre des suppositions sur ce que va devenir cet élément unique dans le futur, mais ce qu'il est actuellement.

Dictionnaire a écrit :

LISTE :
Suite continue, hiérarchisée ou non, de noms (de personnes ou d'objets) ou de signes généralement présentés en colonne. Liste des conseillers d'État (Ac.). Dresser la liste des morts et des blessés, après une bataille (Ac. 1835-1935). Je reconnus tous les artistes de toutes les écoles et différents genres. Voici la liste des principaux : Gérard, Gros, Hersent, Meynier (DELÉCLUZE, Journal, 1824, p. 52). J'ai fait des listes où sont marqués les principaux objets qui se trouvent dans chaque caisse (MONTHERL., Célibataires, 1934, p. 820)


Bref : tant que cet élément est unique, il ne devrait pas être présenté sous une structure (liste) non adaptée.

Le même Dico a écrit :

PARAGRAPHE :
Section d'un texte en prose, manuscrit ou imprimé, développant un point bien délimité de l'exposé en cours, pouvant comporter plusieurs alinéas et constituant elle-même une subdivision d'un ensemble plus important (généralement un chapitre).


... Et vu que ce n'est pas un paragraphe non-plus (un simple item n'est pas un paragraphe), il ne resterait dans tes options que le choix du <div>.

(avis personnel bien sûr)
Nan, sérieusement, je n'ai pas souvenir d'un sujet sur le HUB à ce propos.

Pour le piège du div... je vais peut être dire une annerie, mais je suis presque sûr de savoir pourquoi (j'ai pas dis ca au pif non plus), un texte contenu simplement dans une balise de type block sans aucune valeur sémantique (sauf si on considère que servir de regroupeur et de zone à mise en forme est un rôle sémantique) n'est pas une bonne idée.

C'est pas pour rien que je fais <p id="footer"> plutôt que <div id="footer"> :D

Donc je te laisse confirmer ou infirmer mes dire.
Administrateur
ElMoustiko a écrit :

C'est pas pour rien que je fais <p id="footer"> plutôt que <div id="footer"> :D

Dans ce cas, je suis entièrement d'accord, tant que cela s'apparente à un paragraphe et non un simple item.
Le dico de Raphaël ou le Petit Raphaël a écrit :

Dresser la liste des morts et des blessés, après une bataille (Ac. 1835-1935).


Et s'il n'y a qu'un seul mort ?

J'inverse ta question :
premièrement on avait une liste de plusieurs éléments, puis pour X ou Y raison, il ne reste plus qu'un élément dans la liste, on la supprime pour autre chose ou on la garde ?

En fait, je me dis que tout dépend du contexte, mais a priori si on parle d'une seule chose on ne fait pas de liste, mais dans l'exemple on avait "item"... et là on peut légitimement se dire que c'est un élément d'une liste...
Raphael a écrit :

Dans ce cas, je suis entièrement d'accord, tant que cela s'apparente à un paragraphe et non un simple item.


Ma réponse était plutôt pour Laurent Denis et le piège, je n'avais pas lu ton message lors de ma réponse. Donc elle n'était pas ciblée en réponse à ta question, mais j'y ai répondu quand même dans le post au dessus !
Modifié le 30 Oct 2004 - 17:55
Administrateur
ElMoustiko a écrit :

Et s'il n'y a qu'un seul mort ?

S'il n'y a qu'un seul mort, il n'y a pas lieu de dresser une liste.

Je viens d'éditer mon post en rajoutant la définition de paragraphe.

ElMoustiko a écrit :

J'inverse ta question :
premièrement on avait une liste de plusieurs éléments, puis pour X ou Y raison, il ne reste plus qu'un élément dans la liste, on la supprime pour autre chose ou on la garde ?

A mon avis, la question n'est pas de savoir que qu'a été cet élément dans le passé ou ce qu'il peut être dans le futur, mais ce qu'il est actuellement.
Si mon titre secondaire devient subitement un élément de liste, dois-je laisser sa structure en h2 ? non, parce que dans le document tel qu'il est présenté actuellement, ce n'est plus un titre secondaire.
Bon, résumons:

- la liste est un choix stratégique approprié lorsqu'existe la réserve que cet item ne restera peut-être pas unique, ou bien lorsque qu'il s'agit d'un document à listes <ul> multiples (liste de liens thématiques) avec un thème ayant un seul item : dans ce cas, tout faire en <ul> est plus cohérent/économique et plus accessible pour l'utilisateur.

- Mais dans le cas d'un item résolument et définitivement unique, un simple lien par exemple... est-ce une unité logique de sens rhétorique (élément <p>) ? Ou n'est-ce pas plutôt un contenu qui ne rentre dans aucun balisage spécifique ?

La deuxième réponse était donc <div>item unique</div>.

MRDiv (Mouvement de Réhabilitation des Div)
On peut être d'accord ou non avec mon avis (plus sérieux qu'il n'y paraît) sur <div>.

Mais le but du jeu était simplement de mettre en évidence que la sémantique HTML:
- est une question pragmatique et non philosophique : voir la réponse instinctive d'ElMoustiko.
- prévoie des mécanismes de défausse parce qu'elle est très limitée, finalement. Dans quelle mesure ne faisons-nous pas beaucoup de bruit, avec raison, mais en surestimant l'impact réel ? Le Web sémantique... a créé d'autres outils plus à sa mesure avec RDF.
Tiens, je vais faire le lien avec la sémantique des paragraphes :
Qu'en est il de l'utilisation des paragraphes pour les formulaires, avec l'englobement des labels et inputs dans un même paragraphe (vu plusieurs fois sur différents sites) ?
Administrateur
Laurent Denis a écrit :

- la liste est un choix stratégique approprié lorsqu'existe la réserve que cet item ne restera peut-être pas unique, ou bien lorsque qu'il s'agit d'un document à listes <ul> multiples (liste de liens thématiques) avec un thème ayant un seul item : dans ce cas, tout faire en <ul> est plus cohérent/économique et plus accessible pour l'utilisateur.

Comme tu le vois dans mes explications, je ne suis pas vraiment d'accord.

Comment veux-tu spéculer sur le comportement hypotéthique futur d'un élément ?
Une liste n'existe en tant que telle que s'il y'a plusieurs éléments qui la composent (cf définition)... on ne s'occupe pas de ce que cet élément unique peut, peut-être, devenir dans le futur. Il est unique, c'est tout.

Comme je le dis, si je compose mes pages en supposant de la composition future, cela n'a aucun sens !
- Mon paragraphe actuel sera peut-être un titre principal ? Alors je structure ce paragraphe en h1.
- Cette image de citron va peut-être être remplacée par une orange ? Alors je lui mets déjà un alt="orange".

Non définitivement : la question n'est pas de savoir que qu'a été cet élément dans le passé ou ce qu'il peut être dans le futur, mais ce qu'il est actuellement. Il n'y a pas de stratégie à adopter pour le visiteur qui sera complètement surpris par ces choix.

Pour <div<, je suis entièrement d'accord. C'est le premier choix que je ferai.

En fait, je crois que j'ai lu un peu rapidement ton résumé et je crois bien que nous avons plus ou moins le même avis sur la question finallement Smiley biggrin

PS : c'est très instuctif ce genre de débats, je n'avais jamais connu ça ailleurs Smiley smile
Ne pas créer un mouvement de réhabilitation des divs trop vite, déjà qu'on a du mal à expliquer que l'economie de div et de class... !
Ah... Si nous parvenions à échapper à ces appartés sur des bouts de code ! (Je suis sans doute le premier à vous y entraîner, cela dit).

Raphael a écrit :

Une liste n'existe en tant que telle que s'il y'a plusieurs éléments qui la composent (cf définition)...


Le problème est que nous ne parlons pas d'une sémantique "humaine", mais d'une sémantique "de machine". Laissons tomber les dictionnaires, et restons-en aux spécifications techniques, qui donnent à ces termes des définitions parfois très différentes (une "boîte" CSS n'a rien à voir en fait en CSS2 avec une boîte selon le larousse. Pour commencer, sa largeur ne va pas de bord à bord...).

Raphael a écrit :

- Mon paragraphe actuel sera peut-être un titre principal ? Alors je structure ce paragraphe en h1.


Se retrouver à transformer un paragraphe de texte en titre... suppose une sérieuse erreur d'appréciation et de structuration au départ, non ?

Raphael a écrit :

- Cette image de citron va peut-être être remplacée par une orange ? Alors je lui mets déjà un alt="orange".


Là, on ne parle pas de structure, mais de contenu : ce qu'il y a dans l'attribut alt est un contenu (le contenu textuel équivalent d'un contenu iconographique et associé à celui-ci). Ce serait pertinent s'il s'agissait de choisir entre <img> et <object>, par exemple, qu'il s'agisse d'orange ou de citron.

Raphael a écrit :
En fait, je crois que j'ai lu un peu rapidement ton résumé et je crois bien que nous avons plus ou moins le même avis sur la question finallement Smiley biggrin


ça n'a rien de simple, et il s'agit déjà de débrousailler les questions de formulations différentes derrières lesquelles se cachent effectivement parfois les mêmes intuitions.

Raphael a écrit :

PS : c'est très instuctif ce genre de débats, je n'avais jamais connu ça ailleurs Smiley smile


Si ce forum a un sens et un avenir à jouer, c'est là, et pas dans les conseils pour débutants CSS HTML (je sais, ma manie de dire les choses sans précautions oratoires me perdra ;) )
ElMoustiko a écrit :
Ne pas créer un mouvement de réhabilitation des divs trop vite, déjà qu'on a du mal à expliquer que l'economie de div et de class... !


Trop tard. Je bille là-dessus bientôt, sauf si quelqu'un d'autre s'y colle ;) Il y a trop lontemps que ça me démange.
<grain-de-sel>

Parfois j'utilise :

<dl>
 <dt>Titre</dt>
 <dd>Item unique</dd>
</dl>



dt { 
   font-weight: bold; 
}

Au lieu de :

<h6>Titre</h6>
<p>Item unique</p>

<p>Titre<br />
Item unique</p>

...ou whatever...


</grain-de-sel>
Modifié le 30 Oct 2004 - 18:57
Le grand débat liste de def contre hN liste non ordonnée !!!

@Laurent, je disais pas sérieusement à 100% de rien dire au sujet des divs, mais je tenais à mettre en garde (du haut de ma faible expérience) contre des vérités qui pourraient être mal interprétées. N'oubli pas ta position de référence (que tu le veuilles ou non), tu sera lu par des lecteurs plus ou moins avertis et certains pourront prendre cela comme parole d'évangile et eventuellement exagérer la chose et tomber dans les excés que nous voyons souvent et qui donne lieu à des billets de ce genre : http://www.alsacreations.com/blog/index.php?2004/08/15/51-maladies-exotiques-des-css

J'attend de voir la "bille" ;) (ca serait peut etre une perle mais peut etre un caillou...)
Modifié le 30 Oct 2004 - 19:02
Pages :