5568 sujets

Sémantique web et HTML

Bonjour à tous ceux qui lisent ce message.
Bien, voila la situation dans laquelle je me trouve: je me suis penché depuis peu sur la grande question qui alimente beaucoup de forums, à savoir "Pourquoi <b> ?"

Si <em> et <strong> sont utilisées pour la mise en emphase du texte (et donc pour la sémantique), et que les balises <i>, <b>, <big>, <small>, et <tt> sont à utiliser pour de la typographie pure, il reste un problème à illucider: dans quel cas, dans tous vos bouquins imprimés ou tous les sites web connus, voyez-vous un mot écrit un gras (<b>) sans qu'il n'attire l'attention du lecteur (!= de <strong> ou <em>) ?

Moi, j'ai beau chercher, je ne trouve pas. La mise en italique peut être utilisée avec des mots d'origine étrangère (et particulièrement le latin), ou dans d'autres cas (j'en ai vu, mais je ne m'en rappelle plus).

Mais la balise <b>, je ne vois pas...

La balise <tt> me semble également fort ésotérique... J'imagine assez bien le changement de police (sans changement de langue !) pour signaler un nom de fichier informatique, ou faire passer une émotion supplémentaire (l'art de la typographie ! ; bien que le web soit assez pauvre en polices de caractères fantaisistes).

Je ne comprends pas non plus l'existence de la balise <small> (jusqu'ici étudiée dans des cas de légendes ou de notes) alors qu'il n'existe pas de tag spécial pour les légendes ou les notes d'auteur... Cela me semble tout aussi approprié dans un document que la balise <code> pourtant... Enfin bon...

Et la balise <big> me semble aussi "mal foutue" que la balise <b>. Elles cassent toutes deux le flux naturel du texte.

Je me dis que ces balises DOIVENT avoir une signification spécifique. Autrement, pourquoi ne pas les remplacer par des styles CSS ? Raccourcis ? Soit... Mais si ce sont des raccourcis, pourquoi avoir créer <b> et <strong>, si <b> ne sonne à l'oeuil humain que comme un <strong> (finalement, c'est ça hein ! Non pas à cause de la mise en gras, mais parce que la mise en gras comme le surlignement comme l'agrandissement de caractères comme la mise en majuscule, donnent toutes cette même idée d'accentuation Car elles font sortir l'enclosure du flux du texte).

Serait-ce une faille dans la spécification ? Je suis prêt à tous vous écouter.
Ok ok; Merci beaucoup pour cette réponse si rapide.
J'ai bien réfléchi à tout cela, et tu as bien raison ! J'aurais pû ne pas poser la question d'ailleurs...

Encore une incertitude résolue efficacement par la communauté ^_^

Tiens d'ailleurs Smiley eureka
Existe-il une balise qui pourrait être employée pour marquer un commentaire d'auteur, une note personnelle, une opinion rapide ?
Je pose la question à ceux qui connaissent les spécifications sur le bout des doigts et qui seraient capable de me dire si, à l'instar des <dl> dont l'utilité n'est pas à prendre au nom de balise près, il existe un genre de <q>Citation ici, et même citation de l'auteur... lol</q>

A bientôt
just1dks a écrit :
La mise en italique peut être utilisée avec des mots d'origine étrangère (et particulièrement le latin), ou dans d'autres cas (j'en ai vu, mais je ne m'en rappelle plus).

La mise en italiques est, en typographie «moderne» (disons 18e siècle et au-delà), perçue comme une variation par rapport à l'aspect «normal» du texte. Elle est donc utilisée avec de très nombreuses intentions, pour indiquer une variation de «quelque chose».
Je dirais pour ma part que dans la plupart des cas les italiques indiquent une variation ou une inflexion de la tonalité du discours. On peut ainsi marquer par les italiques:
- les locutions étrangères;
- les citations (pas l'usage le plus courant, mais c'est un usage possible);
- la distance ironique;
- etc.
Si me souviens bien, Frank Herbert (ou son éditeur...), dans le roman Dune, marque par des italiques les passages qui correspondent à des pensées et réflexions des personnages (en pseudo-discours indirect libre, je crois). Ce n'est bien sûr qu'un exemple.

just1dks a écrit :
Je me dis que ces balises DOIVENT avoir une signification spécifique. Autrement, pourquoi ne pas les remplacer par des styles CSS ?

Parce que les styles CSS n'existaient pas lorsque des éléments tels que B, I ou TT sont apparus. En effet,
- ces éléments existent en HTML 2 (et peut-être avant cela), et HTML 2 fut publié en 1995;
- CSS 1 date de début 1997.
L'existence de B, I, TT, etc., répondait donc à un besoin simple: celui de moyens de mise en forme avant l'apparition (et les implémentations) de CSS 1.

just1dks a écrit :
Existe-il une balise qui pourrait être employée pour marquer un commentaire d'auteur, une note personnelle, une opinion rapide ?

Éventuellement l'élément ASIDE en HTML 5. Rien de disponible pour l'instant en HTML 4.
Mais il me faut placer ici un avertissement: la «sémantique» en HTML est très limitée. Chercher quel élément exact sera le plus «juste» pour transcrire telle ou telle nuance de discours est généralement une perte de temps. Au pire, cela conduit à ériger quelques éléments HTML comme éléments «sémantiques» à tout faire. (La grande mode il y a quelques années était de voir des listes de définitions partout. Aujourd'hui, cela consiste à placer des listes UL et OL partout, et à les imbriquer dès que possible.)
Heyoan a écrit :

ben je dirais simplement que les "vieilles" balises de mise en forme sont obsolètes et devraient être remplacées par des css. Sinon, lire l'article : STRONG, B, I, EM : quelle balise utiliser et pourquoi ?

Pas toutes Smiley cligne . B, BIG ou I sont par exemple tout à fait valide en strict
(même pas déconseillées)


just1dks a écrit :
Bonjour à tous ceux qui lisent ce message.
Bien, voila la situation dans laquelle je me trouve: je me suis penché depuis peu sur la grande question qui alimente beaucoup de forums, à savoir "Pourquoi <b> ?"

Tu veux dire pourquoi <b> plutôt que <strong> je suppose?
Peut-être parce qu'HTML a été un langage de description qui s'occupait de présentation (avant CSS) avant d'être considéré plus tardivement et à juste titre comme un language de structuration.

just1dks a écrit :

dans quel cas, dans tous vos bouquins imprimés ou tous les sites web connus, voyez-vous un mot écrit un gras (<b>) sans qu'il n'attire l'attention du lecteur (!= de <strong> ou <em>) ?

Pas bien saisi ta question.

just1dks a écrit :
Moi, j'ai beau chercher, je ne trouve pas. La mise en italique peut être utilisée avec des mots d'origine étrangère (et particulièrement le latin), ou dans d'autres cas (j'en ai vu, mais je ne m'en rappelle plus).

> Les titres d'oeuvre littéraires et d'oeuvres d'arts (musicales, films...)
> Les terme techniques
> Les titres rares
> Les titres de journaux et pèriodique
> Les termes rares
> Les lettres isolées
> ...

et devrait utilisé comme simple mise en exergue pour souligner un mot ou un groupe de mots de manière plus esthétique qu'un bold.

Tu devrais pouvoir trouver des infos sur le net assez facilement.


just1dks a écrit :

Mais la balise <b>, je ne vois pas...

Ben ça sert d'une part de ponctuation visuelle forte et dans des cas bien particuliers: mise en garde, consignes de sécurité, etc.
Ceci dit il ne faut pas en abuser dans les texte courant sous peine de contrarier l'œil lors d'une lecture continue et d'affaiblir son caractère de ponctuation visuelle.

just1dks a écrit :

Et la balise <big> me semble aussi "mal foutue" que la balise <b>. Elles cassent toutes deux le flux naturel du texte.

Qu'est ce qui te permet d'affirmer cela?
D'autre part même si ces éléments ne sont pas clairement déconseillés (va savoir pourquoi) par les specs HTML4.0, leur utilisation est découragées au profit de CSS.
Modifié par Hermann (02 Sep 2008 - 01:42)
Hermann a écrit :

Pas toutes Smiley cligne . B, BIG ou I sont par exemple tout à fait valide en strict.
Oui, mon "je dirais simplement que..." voulait dire "selon moi...".

Mais comme toi je ne comprends pas bien pourquoi elles ne sont pas pas clairement déconseillées (et mieux encore carrément dépréciées en Strict)...
Modifié par Heyoan (02 Sep 2008 - 01:47)
Ces balises je pense vont progressivement être éliminées, même si HTML 5 va leur donner (inutilement) un peu de répit. Smiley rolleyes

Et puis strong et em contrairement à ce qu'on pourrait penser, elles ne sont pas toutes jeunes, elles sont déjà là en HTML 2 cf la spécification : http://tools.ietf.org/html/rfc1866
Modifié par yellowmonkey (02 Sep 2008 - 09:56)
Pour ce qui est des titres des œuvres, c'est l'élément <cite> qui est conseillé (html5).

Sinon je pense comme Florent, il faut utiliser l'élément <em> dans ces cas précis :

a écrit :
- les locutions étrangères;
- les citations (pas l'usage le plus courant, mais c'est un usage possible);
- la distance ironique;
- etc.


À la lecture à voix haute, il y a bien emphase.

Pour ce qui est de l'élément <small>, il est conseillé pour les informations de moindre importance (comme le copyright).

L'élément <big> n'a plus l'air d'être présent.

Par contre les explications pour <b> et <i> ne m'ont pas du tout convaincu...
Modifié par Patidou (02 Sep 2008 - 10:51)
Patidou a écrit :

Par contre les explications pour <b> et <i> ne m'ont pas du tout convaincu...

Pourquoi ça Patidou, ça paraît pourtant clair non?
Oui mais si ces éléments sont invisibles pour une synthèse vocale, si je me souviens bien, je ne vois pas trop l'intérêt...
Modifié par Patidou (02 Sep 2008 - 11:39)
Patidou a écrit :
Sinon je pense comme Florent, il faut utiliser l'élément <em> dans ces cas précis :

- les locutions étrangères;
- les citations (pas l'usage le plus courant, mais c'est un usage possible);
- la distance ironique;
- etc.

Ah ben non, j'ai pas dit ça. Je parlais uniquement des usages de l'italique dans l'édition moderne.
Pour ma part, j'utiliserai Q pour les citations, peut-être EM pour la distance ironiques et certaines autres inflexions de discours (même si HTML 5 recommande I), et I pour les locutions étrangères (<i lang="la">in media res</i>).
Patidou a écrit :
Oui mais si ces éléments sont invisibles pour une synthèse vocale, si je me souviens bien, je ne vois pas trop l'intérêt...


Ils le sont probablement parce que les premières versions d'HTML sont antérieures aux normes issues du WAI et peut-être aussi aux logiciels de synthèses vocal.
De toute façon pourquoi s'ennuyer avec de telles questions, il suffit d'utiliser strong et em...
Modifié par Hermann (02 Sep 2008 - 11:49)
Florent V. a écrit :

Ah ben non, j'ai pas dit ça. Je parlais uniquement des usages de l'italique dans l'édition moderne.
Pour ma part, j'utiliserai Q pour les citations, peut-être EM pour la distance ironiques et certaines autres inflexions de discours (même si HTML 5 recommande I), et I pour les locutions étrangères (<i lang="la">in media res</i>).


Euh oui... Désolé. Même si je doute encore sur le <i>... Pourquoi pas un <em lang="la">?
Modifié par Patidou (02 Sep 2008 - 11:53)
Patidou a écrit :
Oui mais si ces éléments sont invisibles pour une synthèse vocale, si je me souviens bien, je ne vois pas trop l'intérêt...

D'une part, les lecteurs d'écrans sont aussi des agents utilisateur, et ce sont à eux d'implémenter les spécifications et pas aux spécifications de se restreindre aux capacités actuelles des UA. Smiley cligne

D'autre part, il faut réaliser que toutes les nuances de mise en forme ou de description de contenu ne peuvent pas forcément être retranscrites par une synthèse vocale.
Patidou a écrit :


Euh oui... Désolé. Même si je doute encore sur le <i>... Pourquoi pas un <em lang="la">?


Euh, j'ai rien dit. La spec est claire à ce niveau. Désolé encore une fois.
Modifié par Patidou (02 Sep 2008 - 12:03)
Florent V. a écrit :
D'autre part, il faut réaliser que toutes les nuances de mise en forme ou de description de contenu ne peuvent pas forcément être retranscrites par une synthèse vocale.

... idem pour toutes les nuances de sens d'un discours qui ne peuvent être sémantisées par le balisage html parce que ce n'est pas son rôle : le balisage n'est pas là pour reproduire la diction langagière et les éléments/nuances qui la composent/rendent subtile mais pour hiérarchiser de l'information via une boite à outils sémantique particulière. Chercher à traduire ou retraduire (mimer ?) la sémantique d'une langue par la sémantique html est probablement un effort vain et une perte de temps. Elles n'ont en commun que d'être toutes deux des sémantiques, mais ne devraient sûrement pas se concevoir comme porteuses de strictes équivalences décalquables. On peut même aboutir à l'effet inverse de celui recherché, qui consisterait par exemple à "oublier" la dimension structurelle du balisage html tant on voudrait le charger de "sens langagier".

Pourquoi alors chercher à définir ce qu'est telle ou telle emphase (de quoi elle est faite, à quoi elle correspond en équivalent print ou en dialogue vocal) alors que le sens qu'elle porte (ou est supposée porter...) est prioritairement (et même probablement uniquement) conditionné par le balisage encadrant l'élément auquel elle s'applique ?
Dans la séquence <h1>Un mot <em>souligné</em> dans un titre</h1>, ce qui fait sens c'est évidemment h1. Si le mot emphasé ne l'était pas, la structure de l'information passée serait peu ou prou la même. L'inverse en revanche (absence de h1 tout en préservant <em>) modifierait radicalement tout le document. En l'occurence <em> dit donc simplement à l'UA de traiter distinctement l'élément emphasé dans le cadre de son traitement du groupe d'éléments auquel il appartient (h1). A l'UA ensuite, et aux éventuels paramétrages utilisateur, de décider ensuite comment la distinction demandée s'opérera.

Je crois qu'il ne sert à rien de vouloir dépasser cette notion d'emphase/distinction à deux niveaux ("un peu" et "très" distinct) et de vouloir chercher à "rendre" des équivalences de choses existant par ailleurs. Le balisage html est peut-être plus à prendre comme un "outil structurant" permettant d'exercer certaines applications que comme un "porteur de données" pur et dur. Sa sémantique n'en a ni la puissance ni la souplesse. Elle est trop frustre pour restituer les finesses du langage parlé et trop faible pour porter fiablement des données complexes. Elle est en revanche très puissante pour permettre des interactions avec des types de contenus hiérarchiquement bien définis (elle est capable de dire que dans telle boite (h1) il y a une boite (h2) puis une autre (h3) contenant une liste (ul) d'objets (li) et que l'un d'eux (id) est à utiliser/présenter/gérer différemment des autres).