5568 sujets

Sémantique web et HTML

Pages :
Bonjour,
Et oui encore moi, et encore avec du BBCode Smiley lol
Un peut différent bien sur sinon j'aurais pas ouvert un nouveau topic Smiley cligne
Donc toujours sur la réalisation d'un BBCode, je voudrais faire une chose "intelligente", j'explique.
Par exemple l'utilisateur met son texte comme ceci:

[b][b]texte gras[/b][/b]

On remplace par:

<span style="font-weight: bold;">texte gras</span>

Jusque la ça va, mais c'est la que ca se gate, si maintenant on met ceci:

[b][b][i]texte gras[/b][/i][/b]

Je voudrai remplacé par ceci:

<span style="font-weight: bold; font-style: italic;">texte gras</span>

Vous allez me dire oui on peut utiliser <b> et <i>, oui mais apres je veut egalement pouvoir souligné, rayé, mettre en exposant ou en indices...
Et toujours de la meme maniere Smiley cligne
Et je ne voit pas comment faire Smiley decu avez vous une idée?
Merci Smiley smile
Modifié par cerede2000 (06 Apr 2007 - 13:11)
cerede2000 a écrit :
Vous allez me dire oui on peut utiliser <b> et <i>, oui mais apres je veut egalement pouvoir souligné, rayé, mettre en exposant ou en indices...
Bon, je ne vais pas du tout d'aider, mais ta solution est à mon avis la moins accessible possible : l'information ne sera disponible que pour les navigateurs graphiques avec CSS activées.
Hum oui en effets mais alors comment souligné? rayé? parce que exposant et indice encore ya des balises, alors que souligné elle est deprecié Smiley decu
cerede2000 a écrit :
Hum oui en effets mais alors comment souligné? rayé? parce que exposant et indice encore ya des balises, alors que souligné elle est deprecié Smiley decu
Si <u> est dépréciée, il me semble que c'est parce que l'on réserve le soulignement aux liens sur le Web. L'idéal est donc d'éviter de proposer cette option. Si tu n'as pas le choix, tu peux utiliser <u> (avec une DTD transitional).
IL vaut toujours mieux utiliser <b< que <span style="font-weight:bold;">, pour une question d'accessibilité, si le texte mis en gras doit être important.
Et pour faire encore mieux que <b>, il y a <strong>, tant que la signification est mettre en évidence un point.

Pour ton problème, vu que la technique <span ... > avec style inline est pas géniale, oublie cette idée de vouloir tout regrouper. Fais comme tout le monde, une balise par élément.
QuentinC a écrit :
Et pour faire encore mieux que <b>, il y a <strong>, tant que la signification est mettre en évidence un point.
S'il s'agit de remplacer la balise BBCode [ b], je pense que <b> est plus adaptée.
Oui je pense que je vais faire cela, mais existe t'il un balise pour rayé le texte?
Edit: Pour ca j'ai trouvé <strike>
Reste encore quelques questions en suspend, alors comment faire une indentation a par utilisé ceci:
<p style="text-indent: 40px;">

Ou sinon comment mettre une tabulation Smiley lol
Modifié par cerede2000 (06 Apr 2007 - 19:26)
cerede2000 a écrit :
Oui je pense que je vais faire cela, mais existe t'il un balise pour rayé le texte?
Edit: Pour ca j'ai trouvé <strike>
Ou <s>, si tu veux faire plus court (c'est valide également, en transitional bien entendu).
cerede2000 a écrit :
Reste encore quelques questions en suspend, alors comment faire une indentation a par utilisé ceci:
<p style="text-indent: 40px;">

Ou sinon comment mettre une tabulation Smiley lol
Là, je crois en effet qu'il faut que tu passes par les CSS. Mais ça serait sans doute mieux en utilisant une classe. Smiley smile
Modifié par Julien Royer (06 Apr 2007 - 19:39)
Moi je me pose une question :

Quel est le rôle du soulignement, de l'italique, de la mise en gras, de barrer un texte ?

Ca n'a a priori rien d'esthétique, surtout lorsqu'on par du BBCode ou tout autre balisage "utilisateur".

L'utilisateur ne va pas mettre du gras pour faire joli, mais pour apporter plus de poids au terme mis en emphase.

Ce vers quoi je veux aller, c'est qu'il serait intelligent d'utiliser les bonnes balises.

Qu'est ce qu'on a à foutre de <b> dans notre cas ? On veut pas mettre en gras, on veut apporter du poids à un terme, on utilisera donc <strong>

Le même raisonnement s'applique a à peu près toutes les balises que tu cites.

<em> -> italique/emphase
<strong> -> gras/emphase forte
<del> -> barré/suppression de contenu avec conservation d'une trace (l'idéal étant de dater la date à laquelle a été barré le texte
<ins> -> souligné/ajout de contenu après le contenu initial (idem pour la date)

Ca ne te viendrais pas à l'idée de faire un <div style="..."> ou un <span style="..."> pour baliser du code par exemple ou une citation (enfin j'espère que ça ne te viendrais pas à l'idée !), bon et bien pour le gras, etc. c'est pareil !

Il n'y a guère que pour les couleurs qu'on va avoir tendance à utiliser un <span>.

Pour ton indentation, je ne comprend pas tellement la problématique Smiley ohwell

L'idée généralement admise pour BBCode/WIKI/...-syntaxe, c'est 2 sauts de ligne ou plus = changement de paragraphe (</p><p>), un seul saut de ligne = <br />

Ton indentation se fait sur tout paragraphe a priori, pas uniquement sur une portion de texte sinon je ne comprend pas.

Si tu veux juste faire de la tabulation (indentation de code, ...) tu as la balise de texte préformaté <pre> qui est faite pour cela.
Je ne suis pas du tout d'accord avec toi, Olivier.

Si les balises BBCode s'appellent b, i, ... ce n'est pas par hasard. Je te suggère aussi de jeter un coup d'oeil à l'interface de Phedio : on a bien une rubrique "Mise en forme" : "gras", "italique", ... (et même "couleur" !)

Pour l'utilisateur, il s'agit bien de mettre en italique et non pas de donner de l'emphase.
Non, justement !
Ce sont les outils qui sont mal fait, et les gens s'y sont habitués.

Pourquoi veut-on mettre en gras si ce n'est pas pour faire ressortir quelque chose ?

Le gras pour le gras dans du texte, ça n'existe pas, dans un menu, un design, une charte graphique, je veux bien et à ce moment ça se situe dans les CSS. Mais dans un texte le gras pour le gras, c'est de l'emphase.

Quoiqu'en disent les experts de ce qu'on veut, <b>, <i> sont des non sens du (x)HTML Strict !

Prend l'exemple d'Alsa, tu utilise la balise <gras> pour mettre en gras ? ou pour mettre de l'emphase ?

Quel est le sens de "mettre en gras" si ce n'est pas pour mettre en exergue un terme ?
Olivier a écrit :
Ce sont les outils qui sont mal fait, et les gens s'y sont habitués.

Pourquoi veut-on mettre en gras si ce n'est pas pour faire ressortir quelque chose ?

Le gras pour le gras dans du texte, ça n'existe pas, dans un menu, un design, une charte graphique, je veux bien et à ce moment ça se situe dans les CSS. Mais dans un texte le gras pour le gras, c'est de l'emphase.
+1 Smiley jap
J'utilise les fonctions "gras" et "italique" pour mettre mon texte en gras ou en italique. D'ailleurs, en ce qui concerne l'italique, il a lui-même un sens bien différent de l'emphase, par exemple lorsqu'il est utilisé pour identifier une locution latine.
Julien Royer a écrit :
J'utilise les fonctions "gras" et "italique" pour mettre mon texte en gras ou en italique. D'ailleurs, en ce qui concerne l'italique, il a lui-même un sens bien différent de l'emphase, par exemple lorsqu'il est utilisé pour identifier une locution latine.


Auquel cas <i> est totalement désaproprié pour identifier une locution latine.
Identifier la langue du terme via l'attribut lang (je ne sais pas si c'est pertinent pour une locution latine introduite dans le langage commun actuel).

Ma question :
Pourquoi mets-tu en gras ou en italique ?
C'est pas pour dire "ahh tiens, ces lettres là en gras, ça claque du cul", mais bien "tiens bah je veux marquer le coup sur cette partie de mon texte, je vais la faire ressortir".

L'italique associé à <em> est un choix arbitraire que l'on peut totalement surpasser via CSS, le rendu sans CSS conservant la mise en exergue du terme.

On peut par exemple effectuer un changement de couleur de texte avec une couleur de fond, pour faire effet surligneur, ça sera <em> non italique.
Modifié par Olivier (08 Apr 2007 - 19:52)
Olivier a écrit :
Auquel cas <i> est totalement désaproprié pour identifier une locution latine.
Je ne vois pas pourquoi...
Olivier a écrit :
Pourquoi mets-tu en gras ou en italique ?
C'est pas pour dire "ahh tiens, ces lettres là en gras, ça claque du cul", mais bien "tiens bah je veux marquer le coup sur cette partie de mon texte, je vais la faire ressortir".
Pour la majorité des utilisateurs, il s'agit bien de mettre du texte en gras, et franchement, je ne vois pas trop en quoi c'est problématique. Enfin bon, m'est avis que l'on ne sera jamais d'accord. Smiley smile
Sans vouloir rentrer dans un débat que je n'ai fais que survoler, une remarque cependant :

Olivier a écrit :
Auquel cas <i> est totalement désaproprié pour identifier une locution latine.

Je trouve cela parfaitement adapté en l'occurrence. Le texte ne doit pas être mis en emphase mais bel est bien en italique.
Julien Royer a écrit :
Je ne vois pas pourquoi...

Bah, la mise en italique correspond à "préciser que c'est une locution latine" tout comme on met en italique le titre d'une oeuvre. Le balisage n'informe en rien sur la fonction de l'italique.

a écrit :
Pour la majorité des utilisateurs, il s'agit bien de mettre du texte en gras, et franchement, je ne vois pas trop en quoi c'est problématique. Enfin bon, m'est avis que l'on ne sera jamais d'accord. Smiley smile


Justement, c'est ce que je dis, les utilisateurs sont abrutis par les outils qui leur sont proposés et ne savent pas ce que c'est "mettre en italique".

Je le dis depuis tout à l'heure, <b> et <i> sont des non sens !

On met en italique ou en gras, c'est pas pour faire joli, mais pour faire ressortir, ce pour quoi sont faites les balises <strong> et <em>.

DIDJU ! c'est pourtant pas compliqué !

Faudra bien que tu sois d'accord avec moi, parce que j'ai raison Smiley lol lol Smiley cligne

Plus sérieusement, je persiste et signe, "mettre en italique" n'a aucun sens, c'est pure spécificité visuelle.

Pourquoi l'emphase serait-elle l'italique (seule fonction de <i>) et pas n'importe quel autre moyen graphique ? (ce que <em> permet sans problème)

Attention, je ne dis pas qu'on ne peut pas appliquer de style CSS à <i> mais juste que <i> ne sert qu'à dire "je suis en italique" alors si on change son look, ça montre bien le problème, là où <em> sert à dire "je suis en emphase", donc n'importe quel look se dissociant du texte classique convient.
Pourquoi le W3C à conservé ces balises si elles n'ont aucun sens ?
Pourquoi laisser la possibilité d'utiliser et strong et b ? Et em et i ?

Olivier a écrit :
je persiste et signe, "mettre en italique" [...] est pure spécificité visuelle.

Bien d'accord. Spécificité visuelle demandée lorsqu'un texte est composé en latin par exemple.
Olivier a écrit :
On met en italique ou en gras, c'est pas pour faire joli, mais pour faire ressortir, ce pour quoi sont faites les balises <strong> et <em>.

- On met en italique pour indiquer un titre d'oeuvre : À la lumière d'hiver, Philippe Jaccottet.
- Les italiques peuvent également marquer l'ironie, ou plus largement la distanciation. La distanciation n'est pas l'emphase.
- Les locutions étrangères sont également en italiques (on marque la distance entre la langue utilisée ponctuellement et la langue principale du texte).
- Dans les textes de théâtre, les capitales marquent le locuteur et les italiques marquent ce qui n'est pas dit, par exemple les instructions scéniques. (Même s'il peut y avoir des codes typographiques différents d'une édition à l'autre, à vrai dire...)
- Dans l'édition française du Dune de Franck Herbert, les italiques marquent un changement de régime narratif (on passe d'une narration à la troisième personne aux pensées du personnage... au final, les italiques sont un signe permettant d'expliciter le style indirect libre de la narration).
- De nombreux ouvrages techniques, scientifiques, universitaires... commencent par une section qui explicite les codes typographiques utilisés dans l'ouvrage. Les capitales indiqueront un ouvrage de référence (JACCOTTET 1972), les italiques indiqueront un article, les citations seront signalées par un changement de fonte, etc.

Bref, on constate que l'usage des différents paramètres typographiques est assez large. À chaque fois que l'on s'éloigne de la mise en forme du texte courant, on veut effectivement transmettre une information. Mais ces informations peuvent être très diverses, quand bien même elles utiliseraient parfois le même symbole.

Maintenant, du côté du HTML :
- Les éléments <ir> (ironie), <work> (nom d'oeuvre), <inthought> (pensée intérieure), et autres subtilités n'existent pas.
- <em> et <strong> (deux éléments plutôt redondants) marquent l'emphase, ce qui correspond à certains usages des italiques ou des caractères gras, mais pas à tous.
- La pauvreté sémantique du HTML oblige donc à faire des choix. Certaines informations ne seront pas transmissibles par le balisage sémantique (cf. deux points plus haut), et on a donc deux possibilités : soit expliciter l'information par du texte (« La phrase qui suit est une pensée de Paul... », « Bien entendu, c'est ironique », « dans le recueil "À la lumière d'hiver" », etc.), soit se contenter d'une mise en forme visuelle, non accessible à certains utilisateurs mais visible (vu qu'il s'agit bien de ça) par une majorité.

Bref, on s'engueule un peu pour rien dans ce sujet, non ? Smiley rolleyes
Vu la pauvreté sémantique halucinante du (X)HTML, vouloir faire rentrer chaque information non purement textuelle dans une des cases sémantiques disponibles me semble une gageure.
Pages :