5568 sujets

Sémantique web et HTML

Je me pose des questions sur la signification de l'élément <pre>... Smiley ohwell

Dans la DTD, il est indiqué:
a écrit :

The PRE element tells visual user agents that the enclosed text is "preformatted". When handling preformatted text, visual user agents:

* May leave white space intact.
* May render text with a fixed-pitch font.
* May disable automatic word wrap.
* Must not disable bidirectional processing.


Soit. Mais où est la sémantique là-dedans Smiley confuse ? Cet élément serait-il à classer avec <b> et <i>, comme des reliques ?
Modifié par Gilles (06 Sep 2005 - 16:26)
Administrateur
Effectivement, je ne pense pas que <pre> (comme son équivalent en-ligne <tt>) ait une quelconque "fonction" autre que décorative.
Les éléments <samp>, <code>, <kbd>, etc. sont bien plus ""sémantiques""
Modifié par Raphael (06 Sep 2005 - 16:36)
Raphael a écrit :
Effectivement, je ne pense pas que <pre> (comme son équivalent en-ligne <tt>) ait une quelconque "fonction" autre que décorative.
Les éléments <samp>, <code>, <kbd>, etc. sont bien plus ""sémantiques""


Un équivalent de type block à <code> ?
Donner un sens aux espaces et aux retours à la ligne ce n'est quand même pas rien.

D'ailleurs, l'élément pre est toujours prévu dans XHTML2 et dans sa dernière description en date on y lit :
a écrit :
The pre element indicates that whitespace in the enclosed text has semantic relevance.

C'est vrai, ce n'est pas la même DTD mais ce n'est quand même pas qu'un hasard.
Un équivalent bloc à code ?
Il paraît que le xhtml2 prévoit blockcode mais je n'en suis pas sûr. Mais pour l'instant, nothing.
QuentinC a écrit :
Il paraît que le xhtml2 prévoit blockcode mais je n'en suis pas sûr.

C'est dans le lien que je donne juste au-dessus.
Si on considère un bout de code de langage de programmation ou de balisage, alors les espaces ont une signification... Ecrire <img src="" /> ou <imgsrc=""/> n'a pas le même sens: dans le premier cas, je donne un exemple de code valide, dans le deuxième, d'un pataquès xhtml.

C'est encore plus remarquable dans le cas des retours à la ligne. Sans préformattage, ils sont interprétés comme des espaces simples. Mais pour certains langages de programmation (fortran, par exemple), le retour à la ligne a un sens, puisqu'il définit une nouvelle instruction...

Utiliser <pre> dans ce cas serait donc un pis-aller, en attendant <blockcode>.
Modifié par Gilles (07 Sep 2005 - 09:17)
Bonjour,

Raphael a écrit :
Effectivement, je ne pense pas que <pre> (comme son équivalent en-ligne <tt>) ait une quelconque "fonction" autre que décorative.


Pour confirmer ce qui a été rappelé très justement à la suite de ton message, Raphaël : il existe de nombreux cas où la conservation des espaces a un rôle qui n'a rien de décoratif.

Outre le cas de certains langages informatiques, il y a... les textes poétiques, par exemple.

Et sur le fond : HTML (et XHTML1.0) restent des langages très concrets, développés essentiellement pour le rendu visuel à l'écran, où cette question d'espace a bien un sens. Comme les autres données de présentation du HTML, d'ailleurs (élément i, par exemple).
Modifié par Laurent Denis (07 Sep 2005 - 09:39)