Bonjour,
an.archi a écrit :
J'aurais tendance à dire qu'il faut utiliser br quand tu as des paragraphes qui ont un rapport direct entre eux, que ce soit au sein d'une balise de type bloc p ou pas (li, blockquote, etc.).
Enalung a écrit :
Je règle le cas, la balise <br /> n'est pas censé être utilisé pour délémiter des paragraphes. La balise <p></p> devrais être priorisé en tout temps pour les paragraphes.
Chose très amusante et peut-être un peu déroutante pour qui a tant d'assurance sur ce sujet : dans
le premier embryon d'HTML dont on ait la trace,
<p>...</p> n'existait pas en tant que
délimiteur structurant. Ce qui existait, c'était un
élément vide <p>, c'est à dire un simple
séparateur :
Tim Berners-Lee a écrit :
L'élément vide P indique une séparation de paragraphes.
(...)
<P> est utilisé entre deux parties de textes qui seraient, sinon, rendues indistinctement.
(...)
EXEMPLES D'UTILISATION
<h1>Ce qu'il faut faire</h1>
Ceci est un premier paragraphe< p >Ceci en est un second
< P >
Ceci en est un troisième.
Autrement dit, quelque-chose qui ressemble furieusement à
<br>. Comme quoi, certaines tentations ne datent pas d'hier, et ont été partagées par des gens a priori respectables
Certes, HTML2.0 a rapidement rectifié le tir, car cette notion de
séparateur-élément vide avait quelque-chose d'étranger à la logique SGML. Mais la raison n'était pas tant conceptuelle que technique. D'où finalement la merveilleuse définition tautologique du <p> dans HTML4.01, et partant dans XHTML1.0 :
HTML4.01 a écrit :
The P element represents a paragraph.
Ah ah
Nous voici bien avancés. On comprend que les utilisateurs ne puissent s'empêcher, à tort, de se précipiter sur leur dictionnaire pour savoir ce qu'un un
paragraphe, en oubliant que le terme pourrait très bien avoir, comme c'est souvent le cas, une signification spécifique dans le cadre d'une norme définissant un format technique.
La notion de paragraphe est tout sauf définie en HTML-XHTML. Plus encore que le pauvre
div si décrié, c'est, dans les usages, un élément fourre-tout, brumeux, douteux, complètement impalpable.
Un paragraphe est-il une unité de sens ? La plus petite unité de sens de niveau bloc ? Est-il une unité de présentation ? Est-il un élément générique (applicable à des contrôles de formulaires ou à une image) ou spécifique (appliquable uniquement à une série de
phases, elles-mêmes définies par les
éléments de phrase) ? Faut-il ou ne faut-il pas s'en servir dans un formulaire ? Peut-on le découper en tronçons avec des <br> ?
Autant d'excellentes questions dont les réponses soit-disant
sémantiques ne pourront en aucun cas
régler le cas autrement que de manière subjective.
A part tous ceux qui ont des idées personnelles et contradictoires sur la question, personne ne peut répondre en se basant sur les normes.
Tout ce que l'on sait, c'est ce que définit la DTD : un paragraphe ne peut pas contenir d'élément de type bloc (
http://www.w3.org/TR/html401/struct/text.html#h-9.3.1 ). Au moins, voilà un petit bout qui est clair:
je ne peux pas faire de paragraphe contenant une liste, ce qui serait pourtant conceptuellement logique et pratiquement très souvent nécessaire...
Les normes ont-elles mieux dans leur panier ? Pas vraiment, mêm avec indulgence. Un paragraphe peut contenir des
éléments de phrase (
http://www.w3.org/TR/html401/struct/text.html#h-9.2.1 ), mais tout aussi bien n'importe quel autre
élément de type en ligne (contrôles de formulaire, images, etc:
http://www.w3.org/TR/html401/sgml/dtd.html#inline ). Est-ce un élément
textuel ? Au fait, qu'est qu'un
élément textuel ?
Le plus amusant, c'est que tout cela n'empêche aucunement le Web de tourner.
Bref, en l'absence totale de réflexion sur le sujet depuis belle lurette, un paragraphe... c'est tout et n'importe quoi tant que ça ne nuit pas à l'utilisateur et que ça sert à quelque-chose, c'est à dire faire en sorte que ce soit aisément stylable par l'auteur et utilisable par l'agent utilisateur, quelque-soient les conditions de rendu (avec/sans CSS screen, en particulier).
Pssst ! Et le <br>, M'sieur, dans tout ça ?
Sa définition est plus claire : c'est un retour à la ligne
visuel (non graphique, à la différence de ses lourdes alternatives CSS), interprété comme un espace par les media n'ayant pas de ligne (media oral, par exemple. Même remarque sur les limites de CSS).
Son usage est largement inoffensif pour l'utilisateur. Il peut cependant compliquer redoutablement les choses pour l'auteur, qui aurait peut-être préféré pouvoir styles ses paragraphes individuellement plutôt que de laisser couler des blocs de texte séparés par des retours à la ligne. Ou qui, à l'occasion de sa prochaine refonte structurelle ou stylistique, râlera comme un pou de devoir reprendre XXX pages HTML pour en virer les br qui l'empêche d'utiliser sa nouvelle CSS, ou son XSLT...
Se demander simplement : aurai-je besoin, demain, d'agir sur chaque bloc de texte sans avoir à modifier la structure ? Si oui, <br> est mal avisé. Si non, <br> est un excellent outil de présentation dans un (X)HTML 4.01-1.x conforme qui se souvient de ses origines et de sa
structure essentiellement visuelles.
Modifié par Laurent Denis (30 Oct 2005 - 12:22)