5566 sujets

Sémantique web et HTML

Bonjour, premier message sur ce forum, que je lis pourtant de long en large.

J'ai fait une recherche sur ce même forum a propos de la balise nobr...
J'ai rien trouver, j'aimerais savoir pourquoi cette balise a était supprimer des spécification du xhtml.

Qu'a telle de mauvais, cette balise que je trouve vraiment très pratique, pour améliorer le lisibilité d'un texte dans un conteneur a taille variable.

Pour rappel un texte a l'intérieur des balises nobr ne sera jamais couper par un passage a la ligne.

Et si cette balise et 'pas bien', quoi mettre a la place.

Merci de votre attention.
Modifié par Lipki (25 Oct 2007 - 18:54)
nobr n'a existé dans aucune des spécifications (X)HTML du W3C... il est donc compréhensible qu'elle n'apparaisse pas dans les plus récentes Smiley cligne
Un petit extrait de la feuille de style par défaut de Firefox :

nobr {
  white-space: nowrap;
}


Je pense que cela répond à ta dernière question "quoi mettre à la place ?" Smiley cligne
Modifié par JyuniX (25 Oct 2007 - 20:58)
Merci, mais ...
Je voulais plus un débat de fond, qu'une simple distribution de lien, vers des spécifications.

Je comprend bien que l'on doit remplacer

<nobr>Texte à ne pas couper.</nobr>
par
<span class="nobr">Texte à ne pas couper.</span>
ou
Texte&bnsp;à&bnsp;ne&bnsp;pas&bnsp;couper.


Mais bon, a une époque ou tous le monde ce gargarise avec la sémantique, (moi le premier d'où ma question)
pourquoi dépréciées (ou ne pas rendre standard) une balise avec un valeur sémantique aussi essentiel (amha).

Il n'est pas dans mon intention de lacher un troll, si une personne me donne des arguments valable pour préférer
<span class="nobr">Texte à ne pas couper.</span>
à
<nobr>Texte à ne pas couper.</nobr>
je les accepterais avec soulagement. Smiley smile

ps: pour moi le fait de vouloir garder une suite de mots sur la même ligne, entre dans le contenu, pas dans la forme, d'où mon étonnement de voire ici du css.
Modifié par Lipki (26 Oct 2007 - 16:56)
Lipki a écrit :


ps: pour moi le fait de vouloir garder une suite de mots sur la même ligne, entre dans le contenu, pas dans la forme, d'où mon étonnement de voire ici du css.


Et pourtant c'est bien de la mise en forme. La notion de "garder sur une seule ligne" est une notion visuelle, liée à l'utilisation d'un navigateur graphique. En termes de sémantique, cette notion n'a pas de sens puisque de toutes manières, elle ne porte en soi aucune information sur la nature du contenu ainsi affiché.

La sémantique, pour faire court, c'est comment choisir au mieux mon balisage (balises et attributs...) pour que les étiquettes que je place ainsi sur mon contenu le caractérisent. Le fait qu'il soit sur une seule ligne n'entre pas en ligne de compte.

On pourrait envisager, par exemple, un élément town, qui serait enfant de address et ne devrait pas être coupé et renvoyé à la ligne, ou bien un élément isbn, qui ne devrait pas non plus être coupé. Mais tu remarqueras ici que ce n'est pas le fait qu'il ne doive pas être coupé qui est balisé, mais bien leur nature. le rendu visuel vient après, pour au moins une autre bonne raison : la notion de "retour à la ligne" n'a aucun sens pour les logiciels qui doivent analyser ta page Web.
Lipki a écrit :
Il n'est pas dans mon intention de lacher un troll, si une personne me donne des arguments valable pour préférer
<span class="nobr">Texte à ne pas couper.</span>
à
<nobr>Texte à ne pas couper.</nobr>
je les accepterais avec soulagement. Smiley smile

Argument valable: nobr n'est pas standard, il ne fait partie d'aucune spécification, et il n'est pas dit:
1. qu'il soit correctement suppporté à l'heure actuelle par tous les navigateurs;
2. qu'il soit supporté à l'avenir (imaginons que dans quatre ans Microsoft recode le moteur de rendu d'IE, et abandonne le support de nobr?...).

À voir en fonction du support actuel de white-space: no-wrap, tout de même. Smiley cligne
Bonjour,

Quelques nuances, avec du pour et du contre ? Smiley cligne

1. La notion de "passage à la ligne" ou de "garder sur une ligne" n'est pas vraiment la bonne clé, ici, si on veut s'en tenir à des choses simples:

Pour certains contenus, les espaces typographiques et les passages à la ligne ont une valeur spécifique. C'est le cas par exemple en poésie, ou pour un exemple de code indenté.

Dans ce cas, il s'agit bien de "sémantique" HTML, et l'élément approrié existe: <pre>.

En revanche, "améliorer le lisibilité d'un texte dans un conteneur a taille variable" n'est pas lié à la nature spécifique du texte en question.

2. <nobr>, malgré sa prise en compte par la quasi-totalité des navigateurs, n'a jamais été défini de manière suffisamment précise, aussi bien lors de sa création par Netscape (1.1) que dans sa reprise par Microsoft (cf DTD Internet Explorer 3.0 et MSDN). Son rôle et son implémentation sont très vagues.

3. Si on creuse un peu plus, au-delà des choses simples... <nobr> conserve cependant certains atouts et son utilité est un sujet qui revient régulièrement sur le tapis, dès qu'on aborde le problème des espaces et caractères insécables Unicode (voir en particulier, dans les interminables discussions de 2004 sur la liste www-html@w3.org, les arguments de Korpela)...

Pour citer Korpela:
a écrit :
Compare the beauty of e.g.

[ & #8288;?& #8288;%& #8288;x& #8288;-& #8288;1& #8288;+& #8288;2& #8288; ]

with the ugly presentational markup

<nobr>[ ?%x-1+2 ]</nobr>


Smiley lol
Modifié par Laurent Denis (29 Oct 2007 - 07:55)
Korpela: a utiliser les même arguments que j'ai envie de sortir ici.

Je persiste, dans certain cas couper une suite de mots peut en changer le sens.

Je suit d'accord que cela est lier au conteneur,
pour un lecteur d'écran (orale), la balise nobr n'a pas de sens sémantique.

Que certaine personne, n'est pas d'autres solution pour connaitre le texte que de ce le faire dicté, c'est un autre problème.
Mais la je parle de texte écrit, et dans ce cas, le texte est (obligatoirement) inclus dans un conteneur, et (obligatoirement) soumis a des passages a la ligne plus ou moins contrôler.

Et dans ce cas, la balise nobr, possède autant sinon plus de valeur sémantique que la balise br (utilisé pour éclaircir le texte)

Maintenant, je doute que mon avis pèse sur l'éléphant (dinosaure, escargot) w3c,
alors je n'insiste pas.

Mais je continuerais a utiliser nobr, même si ça me chagrine de ne pas pouvoir valider mais pages.
Pourquoi utiliser nobr (avec tous les arguments qui vont contre) alors qu'il est simple de s'en passer, et puisqu'elle n'a, de toute manière, pas de valeur sémantique ?

Lipki a écrit :
Et dans ce cas, la balise nobr, possède autant sinon plus de valeur sémantique que la balise br (utilisé pour éclaircir le texte)

La balise br a-t-elle une valeur sémantique?
Modifié par Sylvain (01 Nov 2007 - 08:50)
Sylvain a écrit :
La balise br a-t-elle une valeur sémantique?


Cette question a un petit côté tout à fait approprié pour un jour de Toussaint: dans la catégorie fantômes poussiéreux, vieux démons, Loch Ness.

Si on oubliait le mot sémantique, plus confusant qu'autre chose, et qu'en en revienne à l'examen de scénarios d'utilisation, ça pourrait devenir plus intéressant Smiley cligne
Modifié par Laurent Denis (01 Nov 2007 - 09:11)
a écrit :
pour un lecteur d'écran (orale), la balise nobr n'a pas de sens sémantique.

Faux. Les retours de ligne peuvent dans certains cas signifier une pause au même titre que la fin d'une phrase... en poésie par exemple.
Et la notion de passage à la ligne se perçoit très bien si on parcourt le document avec les flèches de direction plutôt qu'avec la lecture automatique (Insert+Bas sur jaws)