A la recherche des balises perdues...

Le XHTML a conservé un bon nombre de balises "exotiques" dont vous ne soupçonnez peut-être même pas l'existence : VAR, TT, SAMP, BDO, KBD, ADDRESS et autres CODE, en passant par INS et DEL.

Pour ma part, je vous avoue que hier encore je n'en connaissais pas la moitié !

Voyons un peu ce qui se cache derrière ces balises perdues...

Sources d'informations

Avant de commencer, voici les divers sources qui m'ont permis de trouver mes informations :

Les différentes définitions et citations proviennent de ces quatre sources d'information.

Les balises INS et DEL (en-ligne)

Les balises INS et DEL sont les balises en-ligne qui sont sans-doute les plus utilisées de toutes celles qui vont être décrites ici.

La balise INS sert à marquer les sections d'un document qui ont été insérées. La balise DEL sert à marquer les sections d'un document qui ont été supprimées.

selon Laurent Denis :

DEL signale au lecteur qu'une portion de texte est dépréciée et n'a été conservée que pour mémoire ou pour information. Elle permet d'effectuer des corrections tout en laissant la trace du texte original : disons que c'est une question d'éthique, une façon d'assumer ses erreurs. DEL et INS sont très utiles lors d'un travail d'écriture collective ou de relecture d'un document : ils permettent de conserver le texte original tout au long du processus, et surtout d'automatiser le traitement final : une simple transformation xslt suffit en effet pour effacer le texte balisé avec DEL et de remplacer par le texte INS...
Exemple : Jean-Claude Vandamme est né en <del>1920</del><ins>1960</ins>. Il est un <del>sportif</del> <del>écrivain</del> <ins>movie star</ins> célèbre.

Notons qu'il existe deux attributs optionnels aux balises INS et DEL : "datetime" (pour retenir la date de la modification) et "cite" (pour mentionner une adresse URI qui peut avoir justifié la modification).

La balise ADRESS ADDRESS (bloc)

Cette balise sert à signaler une adresse (attention à ne pas l'écrire à la française !). Pour être précis, ADDRESS ne sert qu'à informer sur les coordonnées du concepteur de la page web, et uniquement à cet usage. Elle n'est pas appropriée pour indiquer une adresse quelconque, mais uniquement celle du webmaster.

The ADDRESS element provides contact information for a document or part of a document. Information provided by ADDRESS may include the names of the document's maintainers, links to the maintainers' Web pages, e-mail addresses for feedback, postal addresses, phone numbers, and so on. The ADDRESS element is not appropriate for all postal and e-mail addresses; it should be reserved for providing such information about the contact people for the document.

Cette balise est à préférer sémantiquement par rapport à d'autres balises générales (div, p,...) pour ce genre d'usages, par exemple pour noter les contacts mail du webmaster en bas de page.

<address>webmaster chez alsacreations point com</address>

Avis personnel : je trouve curieux que le W3C ait voulu donner une importance sémantique particulière à l'adresse du webmaster. Je veux dire : pourquoi faire une balise spécialement pour ça et pas pour plein d'autres choses ? (pourquoi pas une balise PHONE pour le téléphone tant qu'on y est ?)... mais puisqu'elle existe, autant utiliser cette balise !

La balise BDO (en-ligne)

Cette balise indique le sens d'affichage du texte, de gauche à droite, ou de droite à gauche.

Elle permet d’afficher du texte dont le sens de lecture est de droite à gauche. Pour faciliter la lecture, on peut y ajouter une balise title qui indiquera le texte dans le bon sens.

Exemple : <bdo dir="rtl" title="alsacreations.com">alsacreations.com</bdo>

L'élément BDO devrait s'utiliser dans les cas de figure où un contrôle absolu sur l'ordre des séquences est nécessaire (par exemple, des numéros de pièces de rechange dans plusieurs langues). L'attribut dir est obligatoire pour cet élément.

Avis personnel : quelle balise curieuse. Sachant que l'attribut "dir" peut être appliqué sur n'importe quelle autre balise également, je ne vois pas trop l'intérêt de BDO... à part peut-être pour les textes arabes qui se lisent de droite à gauche.

EDIT : quelques précisions suite aux commentaires laissés sur le billet. Comme le précise simOn , l'attribut dir indique le sens de lecture, et BDO affiche son contenu dans la direction indiquée à l'attribut dir.

Exemple : <bdo dir="rtl">alsacreations.com</bdo> produira un affichage différent de <div dir="rtl">alsacreations.com</div>

La balise VAR (Variable) (en-ligne)

Cette balise sert à afficher le nom d'une variable d'un programme. Cet élément est réservé pour désigner une variable dans un programme; la variable est affichée en italique.

Exemple : la variable <var>toto</var>

La balise DFN (Definition) (en-ligne)

Cette balise sert à marquer le texte sous forme de définition.

DFN est un élément non supporté par la plupart des navigateurs d'après mes sources. Le marquage d'une définition doit être rendu en italique en principe. Cet élément permet de mettre en évidence une portion de texte, rendue dans la fonte courante.

Exemple : <dfn>Définition du Blog :</dfn> De façon très synthétique, un "blog" (ou "weblog") est un site Web personnel composé essentiellement d'actualités, publiées au fil de l'eau et apparaissant selon un ordre ante-chronologique (les plus récentes en haut de page), le plus souvent enrichies de liens externes.

Avis personnel : si j'ai bien compris le principe, DFN est l'équivalent en-ligne des Listes de Définition (DL, DT, DD), utilisée pour des définitions courtes qui restent dans le texte.

La balise TT (teletype text) (en-ligne)

Cette balise sert insérer un texte télétype (avec une police à pas fixe). Les chaînes de caractère insérées entre les marqueurs de TT doivent être rendues dans une police fixe avec l'apparence des caractères d'une machine à écrire ou d'un telex

TT rend un texte dans une police identique à PRE. Aucun espace n'est ménagé avant et après le texte. En outre, le texte est formaté aux dimensions de l'écran.

A l'inverse, PRE est un élément de formatage de blocs de texte. Il ajoute une ligne vierge avant et après le bloc et respecte les marges et indentations . Par ailleurs,le texte affiché est insécable et peut facilement déborder des limites de l'écran.

Utilisez PRE chaque fois que vous désirez un rendu fidèle à l'original (respect des retour à la ligne, des marges, etc). Préférez TT dans les autres cas, en particulier dans les tables et les frames.

The TT element suggests that text be rendered as teletype or monospaced text. In most cases, use of a phrase element such as CODE, SAMP, or KBD is more appropriate since these elements express the meaning of the text more clearly.

Avis personnel : TT est fait pour afficher du texte en taille fixe (monotype), de même que l'est la balise PRE pour les blocs. Comme nous allons le voir, TT est une balise générique qui peut être déclinée en CODE, SAMP ou KBD selon les usages... Pour info, tous les exemples de cette page sont structurés en TT.

La balise CODE (en-ligne)

Cette balise sert à insérer les instructions d'un programme. Cet élément permet de mettre en évidence une portion de code de programme; le texte est rendu dans une fonte fixe (texte monotype). Le texte marqué par cette balise s'affiche, en principe, en police de petite taille (pas avec IE5, en tout cas)

The CODE element denotes computer code. Visual browsers typically render CODE as monospaced text, but authors can suggest a rendering using style sheets. Since CODE is a structural element, it carries meaning, making it preferable to font style elements such as TT when marking up computer code.
Since spacing is often important when presenting computer code, the PRE element can be useful as a container for CODE elements. When used within other containers, a CODE element has multiple spaces collapsed.

Avis personnel : Comme TT, CODE est fait pour afficher du texte en taille fixe. Il semble spécifique aux listings de données et de programmation.

La balise SAMP (sample, échantillon) (en-ligne)

Cette balise sert à afficher des extraits de programmes ou de script. Les caractères placés entre les marqueurs de l'élément SAMP sont rendus dans une police à pas fixe.

Avis personnel : Par rapport à CODE j'avoue que je ne suis pas sûr d'avoir vraiment saisi la subtilité. A vue d'oeil et selon les définitions, je dirais que CODE est fait pour afficher tout un code, alors que SAMP est fait pour afficher une partie d'un code... bref, que de subtilités.

Exemple : Pour afficher la liste des fichiers du répertoire courant, entrez la commande <kbd>dir</kbd>. Si le répertoire est vide, le système vous répondra <samp>No files found.</samp>

La balise KBD (keyboard, clavier) (en-ligne)

Rend un texte supposé tapé au clavier dans une police à pas fixe. Cet élément est utile dans la rédaction d'un manuel, lorsqu'on veut indiquer qu'il faut entrer des données au clavier.

Avis personnel : Le dernier de la liste, dans le moule de TT, CODE, SAMP et PRE. Pas grand-chose à dire de plus, à part s'interroger sur l'interêt de la balise et sur les motivations du W3C en la concevant...

EDIT : quelques précisions suite aux commentaires laissés sur le billet. Comme le suggère simOn , la balise KBD est tout à fait appropriée pour indiquer les accesskeys dans une charte d'accessibilité.

Le site de Firefox utilise d'ailleurs cette balise KBD largement (merci à Katsoura pour le lien)

Conclusion

J'espère que certaines balises vous seront plus utiles qu'à moi ;)

J'attends bien entendu des retours utilisateurs si vous connaissez des usages utiles ou insolites de certaines de ces balises pittoresques.

Pour finir un petit jeu : vous avez à mettre en ligne un code de programmation de quelques lignes contenant des variables. Ce code est un exemple sensé représenter ce que l'utilisateur aura à taper sur son clavier... quelle(s) balise(s) allez-vous utiliser entre CODE, SAMP, TT, KBD, VAR et PRE ???

Trackbacks

Le samedi 5 juin 2004 à 22:33, de BlogZiNet :: #

Initiation à une meilleure création Web

Les vieux routiers de la création Web ont beaucoup plus de mal que les « bleus » à intégrer les principes qui font une bonne page Web ; Et pas seulement pour la beauté du code, mais pour tous les...

Le dimanche 19 septembre 2004 à 09:30, de Blog &amp; Blues :: #

Spéculations sur l'élément dfn

La définition locale dfn étant destiné à indiquer l'instance définissante du terme englobé, son utilisation la plus évidente est à l'image des exemples donnés par les spécifications : <p> <dfn id="opera">Opera</dfn> est un...

Les trackbacks pour ce billet sont fermés.

Evaluez ce billet

Commentaires

Le mercredi 19 mai 2004 à 14:29, par katsoura :: #

Personnelement j'utilise la balise <code> mais en allant sur les pages d'openweb et pompage, ils utilisent la balise <pre>.

Le mercredi 19 mai 2004 à 14:33, par Sylvain Lelièvre :: #

Pas de remarque particulière, si ce n'est que la balise ADDRESS prend deux "D" (l'orthographe est correcte dans la citation que tu as dû copier de la page du W3C, mais pas dans ton texte et tes exemples).

En tout cas ces précisions sont intéressantes.

Le mercredi 19 mai 2004 à 14:37, par Sibelius :: #

Merci Sylvain, je fais les corrections nécessaires ;)

Le mercredi 19 mai 2004 à 15:23, par salemioche :: site :: #

j'utilise ADDRESS (mais plutot pour la snail mail que l'e- ) et CODE (pour les programmes et garder l'indentation)
par ailleurs la face sémantique de l'html me parait bien pauvre pour etre réellement utilisable au dela de ce qui est vraiment mise en page et structuration de document (h*, p, ...)

Le mercredi 19 mai 2004 à 19:05, par davux :: site :: #

Pour répondre à ta question: c'est sûr que du code est toujours tapé au clavier, sauf s'il a été autogénéré. Je pense que <kbd> est plutôt utilisé pour les entrées au clavier dans un environnement interactif comme un shell, ou un programme en console qui demande de taper des choses de manière générale.
Ensuite, <tt> a très peu de valeur sémantique, donc pas là. Quant à <pre>, n'en parlons pas (même argument en pire).
Pas <var> pour tout le code, par contre pourquoi pas pour les variables à l'intérieur de ce code, ce qui permettrait une mise en évidence de celles-ci avec l'aide de la feuille de style.
L'utilisation de <samp> me paraît justifiable.

Au final mon coeur balance entre <samp> et <code>, avec l'utilisation sans hésitation de <var> autour des variables.

Le mercredi 19 mai 2004 à 20:10, par Laurent Denis :: site :: #

<code> et <pre> sont complémentaires :

<pre> est un élément-bloc : il permet de baliser une séquence de code répartie sur plusieurs lignes, en conservant son formatage original. Imaginez par exemple que vous vouliez montrer comment on doit se servir de l'indentation dans un code bien écrit : <pre> est loin d'être inutile ;)

<code> est son complémentaire en-ligne : il permet de baliser un bref extrait de code incorporé dans une phrase.

Employé dans ce contexte, <samp> ajoute un sens supplémentaire à <code> et à <pre>. On écrira :

Vous devez utiliser l'élément <code>h1</code> pour baliser votre texte. Par exemple <samp><h1>...</h1></samp>...

<var>, comme tu le faisais remarquer, se révèle pratique pour supporter économiquement une règle CSS mettant en valeur les noms de variable dans le code.

Le mercredi 19 mai 2004 à 20:37, par Ndeko :: site :: #

Concernant la balise dfn :
Es-tu sûr que cette balise s'applique à la *définition* d'un terme, et non pas plutôt à *ce terme lui-même* ? Ton exemple deviendrait :

un <dfn>blog</dfn> est un site Web personnel composé essentiellement d'actualités, publiées au fil de l'eau...

Par ailleurs, le texte encadré par dfn apparaît, en l'absence de stylage css bien sûr, en italique et non en gras.

Quel intérêt alors à utliser cette balise, direz-vous ? A mon sens, peut-être marquer qu'un terme va faire l'objet d'une définition dans la suite du texte. Ou, si cette définition n'est pas donnée dans le corps du texte, permettre de la donner dans un title associé à cette balise.

Le mercredi 19 mai 2004 à 23:13, par simOn :: site :: #

j'ai dernièrement utilisé la balise kbd pour indiquer les accesskeys dans une charte d'accessibilité ( ca me semble plutôt approprié )

raphaël >

dir indique le sens de lecture, bdo affiche son contenu dans la direction indiquée à la balise dir
<bdo dir="rtl" title="alsacreations.com">alsacreations.com</bdo>
différe et produit un affichage différent de :
<div dir="rtl" title="alsacreations.com">alsacreations.com</div>

( suis en train de faire un tuto sur la gestion des langues dans un document xhtml pour Incongru:LaNouvelleFaq, à paraitre peut-être à la fin du week-end )

Le mercredi 19 mai 2004 à 23:39, par Raphael Goetter :: #

@Laurent Denis > concernant SAMP et CODE, j'avoue que je suis sceptique : je n'interprête pas les spécifications comme toi apparemment. Selon ce que j'en ai lu, CODE est un code retranscrit entièrement alors que SAMP (échantillon, à ne pas confondre avec "exemple") ne serait qu'une partie d'un code et non un exemple comme dans ton utilisation. Question subsidiaire : dans quels cas utilises-tu TT ? ;)

@Ndeko > L'exemple que j'ai donné apparait sur l'une des sources citées, mais il se peut que cette source se trompe. Merci pour les rectificatifs, je vais les faire.

@simOn > Intéressante utilisation de KBD en effet. Merci également pour les explications concernant BDO

Le jeudi 20 mai 2004 à 00:16, par Xanthor :: site :: #

Ndeko a raison je crois : <dfn> encadre le terme qui est défini en ligne.


Concernant <samp>, je crois que c'est plutôt l'“output” d'un programme alors que <code> est la source.

Et on peut evidemment mélanger toutes ces balises pour encore plus de sémantique.
Exemple : "Tapez <kbd>!last <var>logiciel</var></kbd> pour obtenir la dernière version du logiciel..."

Le jeudi 20 mai 2004 à 00:29, par Raphael Goetter :: #

Pour DFN, le W3C n'est vraiment pas très loquace : www.la-grange.net/w3c/htm...
"Indique qu'il s'agit de l'instance définissante du terme englobé".

Je pense finalement que TOUT doit faire partie de la balise, par exemple :
<dfn>dfn : Permet de créer une définition</dfn>
Mais j'avoue que je ne trouve aucune source claire et précise... idem pour CODE et SAMP :-/

Le jeudi 20 mai 2004 à 04:12, par Bobe :: #

Laurent Denis> Je ne suis pas d'accord avec toi pour <pre> et <code>.

<pre> sert à afficher du texte formaté, mais ce n'est pas spécifiquement du code. Ça peut être n'importe quoi.

À ce titre, la sémantique des articles d'openweb n'est pas correcte. Cela devrait être :

<pre><code> le code... </code></pre>

pour les exemples de code.

Pour <ins> et <del>, je trouve ces balises loin d'être pratique , heureusement, XHTML 2.0 va simplifier tout ça:
www.w3.org/TR/xhtml2/mod-...

Le jeudi 20 mai 2004 à 06:49, par Laurent Denis :: site :: #

@Raphael > Pour CODE, la spécification HTML4.01 dit clairement "Désigne un fragment de code informatique", non un script complet. Maintenant, où est la limite entre le fragment et le code complet ... ;)

SAMP, lui, "Désigne un exemple...". Comme tu le faisais remarquer, ces balises font plus ou moins double emploi. Tout dépend de la nuance que l'on veut apporter sur telle ou telle portion de contenu. SAMP apporte la nuance "attention, ceci n'est qu'un exemple, cette syntaxe de code peut être modifiée..."

Pour DFN, "l'instance définissante" doit être balisée, mais pas la définition elle-même, qui se trouve dans le contexte. DFN est l'équivalent en-ligne de DT, pas de DT+DD. A la différence de DL, il permet juste de signaler dans le contexte d'un paragraphe, d'un élément de liste, d'un titre.. qu'un terme est accompagné de sa définition. Le terme défini est mis en valeur (hors CSS) en italique ou en gras (variable selon les navigateurs). La syntaxe donné par Ndeko est la bonne. Voir l'exemple similaire donné par la spécification.

Toujours selon la spécification, TT est un "élément de style de police" au même titre que B, I. Il n'y a pas d'apport sémantique, c'est un simple élément présentatif de texte. Autant procéder via CSS...

@Bobe > Pour PRE, mon explication est effectivement limitée au contexte de la question posée par Raphael. PRE a beaucoup d'autres usages en dehors du code, comme les textes poétiques (voir l'exemple donné par la spec HTML4.01).

Quant à utiliser <pre><code>, il faut tenir compte du contexte. Dans celui d'une page OpenWeb, le sens de <pre> n'a aucune ambiguïté puisqu'il n'est utilisé que pour du code. Donc <pre><code> serait inutilement lourd. Là encore, on peut choisir d'expliciter une nuance de sens au prix d'une balise supplémentaire, ou de s'en passer. Il en serait tout autrement dans une page qui mêlerait (???) poésie et code.

Sinon, pour VAR, il ne se limite pas au contexte "code" : on pourrait écrire: il y a <var>x</var>% d'utilisateurs d'IE, par exemple. Mais le gain sémantique est bien faible... A la rigueur, ceci pourrait aider un lecteur d'écran à prononcer correctement, mais Jaws, HPR, etc. ignorent ce genre de balises. Seul un utilisateur de Jaws passant dans le mode qui lui indique le balisage relèverait la différence.

Enfin, outre l'excellent exemple des touches accesskey, KBD permet de lever toute ambiguïté sur les caractères à entrer/les touches à utiliser : "taper <kbd>Alt</kbd>" désigne la touche, "taper Alt" peut désigner la touche ou la séquence de lettres... Un doigt de CSS sur <kbd> et le tour est joué ;)

En conclusion, ces éléments sont très "historiques", remontant au temps où HTML était surtout utilisé par les informaticiens pour parler de code. Leur plus-value sémantique est parfois réel, mais parfois nulle au contraire. On peut regretter le maintien de tout le lot, alors qu'un contenu aussi essentiel que les dates ne bénéficie encore d'aucun balisage spécifique...

Le jeudi 20 mai 2004 à 10:06, par Raphael Goetter :: #

Merci à tous de contribuer à ce "débat" ma foi très intéressant.

@Laurent Denis > comme tu le signales, la plupart de ces balises "exotiques" sont apparues dès le HTML2 et on parcouru les âges.

Je suis entièrement d'accord avec toi pour dire que, vu le manque de clarté dans leurs définitions, certaines sont redondantes voire inutile... Pourquoi les avoir conservées dans ce cas ? Comme tu le dis, d'autres balises mériteraient leur apparition dans le HTML.

Le jeudi 20 mai 2004 à 10:42, par katsoura :: site :: #

Laurent => En ce qui concerne la balise < dfn > SELFHTL nous dit: "formate un texte et signifie "ceci est une définition" ". Le programmeur HTML 4 lui nous indique: "permet de faire ressortir un terme dans le texte". Qaunt à allhtml: " Le texte entre < dfn >< /dfn > est affiché comme une définition". Alors faut-il inclure le terme à définir dans ces balises ... c'est assez confus. Personnelement je pense que c'est plus censé de l'inclure. Aussi ce balisage pourrait servir aux moteur de recherche. "Je cherche la définition d'une marguerite" et le moteur irait chercher les définitions compris dans dfn

Pour les < kbd >, c'est en visitant le site de firebird (a l'époque) qui utilise cette balise largement. Voir par exemple : texturizer.net/firefox/ke...

ps: bobe => quelle horreur cette police (mono) sur w3c working draft :-(

Le jeudi 20 mai 2004 à 10:56, par Raphael Goetter :: #

Laurent : SAMP, lui, "Désigne un exemple..."."

--> Je pense que tes sources sont celles des traductions de La Grange (www.la-grange.net/w3c/htm...
Les sources originelles du W3C disent :
SAMP : "Designates sample output from programs, scripts, etc."

Je voudrais simplement signaler que "sample" ne se traduit pas du tout par "exemple", mais signifie "échantillon", ce qui n'est pas la même chose (je pense d'ailleurs que La Grange a peut-être fait une erreur de traduction).
Dans cette optique, je pense qu'il n'est pas tout à fait correct d'écrire "Par exemple <samp><h1>...</h1></samp>..."

En résumé, SAMP est un échantillon de code alors que CODE est un fragment de code... si quelqu'un dans l'assistance veut bien m'expliquer la nuance je suis preneur (je pense que Bobe est le plus près de l'interprêtation correcte).

Autre question : si je veux baliser un exemple qui n'est PAS du code (exempe : la blague de toto), dois-je utiliser une balise générique comme TT ou pas du tout ?

Le jeudi 20 mai 2004 à 14:27, par Hervé :: #

> SAMP : "Designates sample output from programs, scripts, etc."

Il ne faut pas négliger le terme « output », SAMP servirait pour montrer un extrait de la sortie d'un programme, script, etc. et non le code source.

C'est en tout cas une bonne coïncidence que de tomber sur cet article alors que je m'étais posé la question il y a quelques semaines et que j'y reviens aujourd'hui pour fignoler un article.

Le jeudi 20 mai 2004 à 14:55, par Benoit :: #

Raphael : La réponse est également dans ta citation : "Designates sample *output* from programs, scripts, etc."

Autrement dit, rien à voir avec le code utilisé par le programmeur, c'est ce que voit l'utilisateur après avoir effectué une action.

Exemple :
Pour afficher la liste des fichiers du répertoire courant, entrez la commande <kbd>dir</kbd>. Si le répertoire est vide, le système vous répondra <samp>No files found.</samp>

Le jeudi 20 mai 2004 à 15:29, par Raphael Goetter :: #

@ Hervé et Benoit > oui, ça rejoint ce que soulignait Bobe... je vais rajouter cette précision dans le billet.

Le jeudi 20 mai 2004 à 18:41, par Bobe :: #

Oui, <samp> désignerait plutôt une sortie, comme par exemple l'affichage de la sortie d'un script dans une console. (euh, par contre, je n'ai pas fait référence à <samp> dans mon premier message. Tu confonds avec Laurent non ?)

Par ailleurs, l'exemple "<samp><h1>...</h1></samp>" ne serait de toute façon pas valide, <samp> étant une boite en-ligne ne peut contenir de boites de type bloc.

P.S: La prévisualisation des messages ne tient pas compte des sauts de ligne.

Le jeudi 20 mai 2004 à 19:12, par Raphael Goetter :: #

Bobe : "La prévisualisation des messages ne tient pas compte des sauts de ligne."

>>> oui, mais je n'ai pas assez de connaissances dans le moteur PHP de Dotclear pour remédier à cela :-/

Le jeudi 20 mai 2004 à 19:32, par Laurent Denis :: #

@ katsoura > Pour DFN : Ah ! Comment dire ? Essayons ceci : une "instance" d'un terme est une occurence, une apparition de celui-ci dans le contenu. C'est donc le terme qui doit être balisé, non sa définition. Essayons aussi avec l'exemple donné dans le WD XHTML2.0 du W3C (je ne retrouve plus l'exemple pour HTML/XHTML1.x) :
"An <dfn id="def-acronym">acronym</dfn> is a word formed
from the initial letters or groups of letters of words in a set phrase or series of words." (www.w3.org/TR/xhtml2/mod-...

@ Raphael > SAMP, échantillon ou exemple ? CODE, fragment ? La nuance sémantique est franchement très faible. Un exemple de code est un échantillon. Un échantillon peut avoir une valeur exemplaire... Bref, c'est à peu près du même niveau que le vieux troll abbr v. acronym : des discussions passionantes, certes, mais un enjeu sémantique quasi négligeable ;) D'où la traduction retenue en français.
Pour ma part, je ne vois aucun inconvénient à utiliser SAMP au sens de <exemple>, même hors du contexte "sample output from programs", en me basant sur le "etc" qui conclut la phrase dans la spécification. J'écris donc froidement:
"le patois morvandiau use volontier du "y", comme dans <samp>il faut y voir</samp>" ;)

@ Bobe > Il fallait comprendre évidemment la source HTML
<samp>&lt;h1&gt;...&lt;/h1&gt;</samp>, dans le contexte d'une page expliquant comment utiliser la balise <h1> et donnant un exemple de code avec la balise h1.

Au passage, l'usage peut faire évoluer bien des choses, mêmes les sacro-saintes spécifications, lorsqu'elles commencent à être "datées" ;) Il serait bon que l'usage fasse évoluer ce stock de vieilles balises présentatives...


Le jeudi 20 mai 2004 à 19:43, par Laurent Denis :: #

Oups ! J'oubliais, pour SAMP. Jetez un oeil sur le code source de la spécification HTML4.01. Vous y trouverez de nombreux SAMP... tout à fait en contradiction avec le "Il ne faut pas négliger le terme «output», SAMP servirait pour montrer un extrait de la sortie d'un programme, script, etc. et non le code source."
Exemple, dès le sommaire détaillé :

Les phrases : les &eacute;l&eacute;ments <samp class="einst2">EM</samp>,
<samp class="einst2">STRONG</samp>...

En revanche, le chapitre consacré à ces éléments (www.la-grange.net/w3c/htm... ne fait pas une seule fois usage de <code>, utilise systématiquement <pre> pour les exemples bloc et ne balise aucun exemple en ligne...

;)

Le jeudi 20 mai 2004 à 23:51, par Ndeko :: site :: #

Katsoura : Tu ne crois pas si bien dire en écrivant :
"Aussi ce balisage pourrait servir aux moteur de recherche. "Je cherche la définition d'une marguerite" et le moteur irait chercher les définitions compris dans dfn"

Google le fait : En précédant le terme d'une recherche par la mention "define:", sans els guillemets, Google renvoie une liste de pages où des définitions du terme sont proposées. Google établit ce résultat en tirant parti des balises dd, dt, et... dfn !

Cf : www.google.com/help/featu...

Le vendredi 21 mai 2004 à 04:14, par Laurent Denis :: #

@ Ndeko > Je connaissais l'utilisation des listes de définition <dl> par Google, mais je n'au rien trouvé pour les <dfn> : aurais-tu une source plus précise ?
A propos de Google:define, un petit bookmarklet bien pratique: google-apps.com/definitio...

Le vendredi 21 mai 2004 à 13:15, par Ndeko :: site :: #

@ Laurent :
J'ai lu ça sur le Journal du Net :
developpeur.journaldunet....
tutoriel/dht/040514-html-balises-semantiques.shtml

Le vendredi 21 mai 2004 à 13:17, par Ndeko :: site :: #

Le lien en un seul tenant :
developpeur.journaldunet....
(z'avais pas vu que les liens trop longs sont ici remplacés par des points de suspension !)

Le vendredi 21 mai 2004 à 17:31, par Laurent Denis :: #

Pour l'utilisation de DFN par Google Definitions, l'article du JDN (qui cite explicitement DFN comme support de l'application) donne un exemple : la recherche Google "define: semantic". Celle-ci produit 4 résultats lisibles (et 2 erreurs 404). Ces 4 résultats ont un trait commun amusant : les définitions sont balisées sur le modèle :
<p><b>Semantic</b> etc.</p>

(Et , en passant, toute information publiée dans JDN éveille systématiquement chez moi une franche paranoïa et une grosse crise de scepticisme ;) )

Le vendredi 21 mai 2004 à 18:48, par Ndeko :: site :: #

Je ne connaissais pas JDN de très près. Me voilà averti ! Merci à toi.

Le samedi 22 mai 2004 à 18:46, par katsoura :: site :: #

Mes résultats sur w3c montrent que cela fonctionne en partie sur les listes de définition. Y a des tableaux, des blockquote, des span en veux tu en voilà, ... bref c'est pas au point. Ce qui est amusant c'est que je lui ai demandé des pages en français et sur la 30aine de liens affichés aucun n'est dans cette langue.

Le lundi 24 mai 2004 à 12:39, par Eric Daspet :: site :: #

> quelle(s) balise(s) allez-vous utiliser entre CODE, SAMP, TT, KBD, VAR et PRE ???

Elles ne sont pas exclusives. Je suis d'accord avec Bobe : si j'ai un bloc de code préformaté j'utilise <code> à l'intérieur de <pre>.

> Dans celui d'une page OpenWeb, le sens de <pre> n'a aucune ambiguïté puisqu'il n'est
> utilisé que pour du code. Donc <pre><code> serait inutilement lourd.

Quelle horreur : pas d'ambiguité pour qui ? Mon titre en <p><b>Bonjour</b></p> n'a pas non plus d'ambiguité pour le lecteur. Par contre pour la machine qu'est ce qui lui permet de faire la différence entre le source (préformaté) d'un email et un bloc de code ?
Le balisage est justement là pour répondre au problème du "c'est implicite pour l'humain mais pas pour la machine". Sinon on peut retirer les titres (même sans mise en forme on reconnait les titres), les paragraphes, les listes, les <blockquote> (la citation est introduite ou évidente, pas besoin de baliser), pas de <code> (on sait bien que c'est du code) ... bref on revient à du texte pur avec mise en forme.
Si on a besoin de comprendre le texte ou le contexte pour savoir que <pre> contient ou pas du code c'*est* que <code> est nécessaire dans le balisage, même avec <pre>.

Le mardi 25 mai 2004 à 07:09, par Laurent Denis :: site :: #

Les deux exemples sont nettement différents:

- <p><b>Bonjour</b></p> ne donne aucune information spécifique sur le contenu. Et aucune autre information accessible à la machine ne peut lui permettre de deviner ce qui est ici effectivement totalement implicite.

- En revanche, <pre>_Ici du code_</pre> ajoute au contenu une information spécifique : texte dont le pré-formattage doit être conservé car il a un sens. Y a-t-il vraiment une autre information à y ajouter ? Le fait que ce soit du code et pas du mail ou autre-chose ? Mais le contexte d'un article sur la syntaxe XHTML (par exemple) est accessible à la machine via d'autres éléments comme les metas DC utilisés pour OpenWeb. Un "gain" sémantique est possible avec <pre><code>, mais est-il suffisant pour le justifier ?

AMHA, la question est plutôt : estime-t-on nécessaire que la machine puisse faire la différence entre des <pre> contenant du mail et des <pre> contenant du code ? Autrement-dit, quelle exploitation sémantique est-elle susceptible d'en être faite ? Difficile de trancher à l'heure actuelle : tout ceci est encore beaucoup trop théorique en l'absence d'applications sémantiques ;)

Le mardi 25 mai 2004 à 11:23, par Eric Daspet :: site :: #

> Mais le contexte d'un article sur la syntaxe XHTML (par exemple) est accessible à la
> machine via d'autres éléments comme les metas DC utilisés pour OpenWeb

Ce contexte est basé sur la compréhension du titre et de la description, éventuellement de la catégorie. Bref, ce n'est pas quelque chose de traitable par la machine de façon générique

D'ailleurs, un article sur XHTML ne pourrait-il pas contenir du préformaté avec autre chose que du code ? par exemple un email

> Un "gain" sémantique est possible avec <pre><code>, mais est-il suffisant pour le justifier ?
> estime-t-on nécessaire que la machine puisse faire la différence entre des <pre>
> contenant du mail et des <pre> contenant du code ? Autrement-dit, quelle exploitation
> sémantique est-elle susceptible d'en être faite ?

Ça c'est une autre histoire. Que gagnes t'on avec <code> ? difficile à dire. Mais le gain est strictement le même quand il est enfermé dans un <pre> ou pas. Je me vois mal justifier l'utilisation dans un cas et pas dans l'autre.

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.