Texte 

Sommaire

  1. Espace blanc
  2. Texte structuré
    1. Eléments locutifs : EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, et ACRONYM
    2. Mise entre quotes : Les BLOCKQUOTE et Q elements
    3. Indices et exposants : Les éléments SUB et SUP
  3. Lignes et Paragraphes
    1. Paragraphes : L'élément P
    2. Mise en forme visuelle des paragraphes
    3. Contrôle des sauts de ligne
    4. Césures
    5. Texte préformaté : L'élément PRE
  4. Marquage des révisions : Les éléments INS et DEL
    1. Formats de date et de temps

Les sections suivantes traitent de la structuration du texte. Les élémens formatant le texte (Eléments d'alignement, définition de polices, feuilles de style, etc.) sont traités dans des sections ultérieures de cette pécification. Consultez les sections concernant les notions SGML pour toute information à propos des syntaxes de caractères.

Espace blanc

La spécification SGML fait la distinction entre des caractères de début de séquence (line feeds - LF) et de fin de séquence (carriage returns - CR). Sur Internet, certaines plates-formes utilisent des paires CRLF comme sauts de ligne, certaines autres uniquement des LF, d'autre enfin uniquement des CR. Par conséquent, les agents utilisateurs HTML devront considérer des caractères LF ou CR isolés comme des fins de ligne, et accepter que des paires CRLF soient vues comme uns eul caractère de fin de ligne.

Un saut de ligne immédiatement placé après une balise de début sera ignoré, comme le sera un autre placé immédiatement avant une balise de fin. Ceci s'applique à tous les éléments de l'HTML sans exceptions. De plus, pour tous les éléments sauf PRE, une séquence continue de caractères d'espacement comme le caractère espace, les tabulations horizontales, les saut de feuille (form feeds - FF) et sauts de ligne, sera interprétée immanquablement comme un seul espace intermot.

Comme la notion d'espacement mot varie d'une écriture (language écrit) à l'autre, les agents utilisateurs devront réduire les espacements d'une façopn dépendante de l'écriture. Par exemple, dansles écritures latines, un espacement intermot est un simple espace blanc de la largeur d'une lettre 'a' (ASCII 32 en décimal), tandis qu'en thaï, il s'agira d'un séparateur de mots de largeur zéro. En japonais et chinois, un espacement intermot sera tout bonnement ignoré.

Ces règles permettent aux auteurs d'utilsier des espaces pour mettre enforme leurs balises comme ils le désirent, éclaircissant le code source HTML à l'aide de aractères d'espacement qui ne seront pas affichés par un agent utilisateur.

Soit par exemple le code HTLM source :

<P>
  Cet exemple montre un paragraphe et une liste.
</P>

<UL>
  <LI>
    Voici le <EM>premier</EM> item
  </LI>

  <LI>
    Et arrive le <EM>second</EM> item
  </LI>
</UL>

qui pourrait être réécrit (en omettant les balises de fin) ainsi différemment avec moins d'espaces blancs :

<P>Cet exemple montre un paragraphe et une list.

<UL>
  <LI>Et voici le <EM>premier</EM> item
  <LI>Et voilà le <EM>second</EM> item
</UL>

lesquelles deux versions devraient apparaître à l'identique sur tous les agents utilisateurs.

L'élément PRE est utilisé pour marquer du texte préformaté, dans lequel tous les espaces blancs comptent. L'élément PRE est décrit ci-après.

Le traitement des espaces inter-mots poura aussi (et devra) être effectué même si aucune information de langue n'est disponible (en l'absence d'un attribut lang). Il s'agit en effet d'une contrainte d'écriture, et non plus de langue.

Structuration du texte 

Eléments locutifs: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, et ACRONYM 

<!ENTITY % phrase "EM | STRONG | DFN | CODE |
                   SAMP | KBD | VAR | CITE | ACRONYM">
<!ELEMENT (%font|%phrase) - - (%inline)*>
<!ATTLIST (%font|%phrase)
  %attrs;                          -- %coreattrs, %i18n, %events --
  >

Balise de début : requise, Balise de fin : requise

Attributs définis par ailleurs

Les éléments locutifs ajoutent des informations structurelles à des fragments de texte. La signification usuelle des éléments locutifs sont les suivantes :

EM:
Indique une mise en exergue ("emphasis").
STRONG:
La mise en valeur est plus visible encore.
CITE:
Cite une référence ou une autre source.
DFN:
Indique qu'il s'agit de l'instance définissante du terme inclus.
CODE:
Designe un fragment de langage informatique.
SAMP:
Designe un exemple de sortie standard de programmes, scripts, etc.
KBD:
Indique du texte devant être entré par l'utilisateur.
VAR:
Indique une instance d'une variable ou d'un paramètre d'un programme.
ACRONYM:
Indique un acronyme (ex., WWW, HTTP, URL, etc.).

EM et STRONG sont utiles en général pour marquer une mise en valeur. Les autres éléments locutifs n'ont de signification particulière que dans un contexte de documents techniques. Les exemples suivants illustrent la représentation effective de certaines des balises évoquées ici :

"Vous trouverez plus d'inforamtions à ce sujet dansle document  <CITE>[ISO-0000]</CITE>."

"Veuillez rappeler la référence ci-après dans vos prochaines correspondances : <STRONG>1-234-55</STRONG>"

L'élément ACRONYM permet aux auteurs d'indiquer clairement qu'une séquence de lettres composent compose un acronyme (ex., "WWW", "FNAC", "IRS", etc.). Une telle aide pour la détection des acronymes est d'une grande utilité pour les correcteurs orthographiques, les synthétiseurs vocaux, et autres outils et agents utilisateurs.

Le contenu d'un élément ACRONYM est l'acronyme lui-même. L'attribut title pourra être utilisé pour signaler le texte complet duquel l'acronyme devient un sigle. Voici quelques exemples de définitions d'acronyme :

<ACRONYM title="World Wide Web">WWW</ACRONYM>
<ACRONYM 
   lang="fr"
   title="Soci&eacute;t&eacute; Nationale de Chemins de Fer">
   SNCF
</ACRONYM>

La présentation des éléments locutifs dépendent de l'agent utilisateur. En général, les agents utilisateurs visuels représentent le texte marqué en EM en italiques et le texte en STRONG par une police grasse. Les agents vocaux pourront changer des paramètres de synthèse, tels que le volume, le timbre ou la hauteur. Les acronymes sont en général épelés lettre par lettre.

Note : Cette version de HTML n'inclut pas de balisage spécial pour les abbréviations. Nous recommandons que les agents utilisateurs vocaux se basent sur des dictionnaires locaux pour substituer toute abbréviation utilisée dans un document. Pour les vocabulaires spécialisés, des éléments LINK placés dans l'en-tête de document pourront être employés pour référencer des dictionnaires adéquats.

Citations : Les éléments BLOCKQUOTE et Q

<!ELEMENT BLOCKQUOTE - - %block>
<!ATTLIST BLOCKQUOTE
  %attrs;                          -- %coreattrs, %i18n, %events --
  cite        %URL       #IMPLIED  -- URL du document ou message source --
  >
<!ELEMENT Q - - (%inline)*>
<!ATTLIST Q
  %attrs;                          -- %coreattrs, %i18n, %events --
  cite        %URL       #IMPLIED  -- URL du document ou message source --
  >

Balise de début : requise, Balise de fin : requise

Définitions des attributs

cite = url
La valeur de cet attribut est une URL qui désigne un message ou document source. Cet attribut est défini pour permettre de donner des informations sur la source à laquelle la citation a été empruntée.

Attributs définis par ailleurs

Ces deux éléments encadrent du texte cité. BLOCKQUOTE est destiné aux citations longues et Q plutôt pour les citations courtes qui ne contiennent pas de ruptures de paragraphes.

L'exemple suivant formate un extrait de "The Two Towers", de J.R.R. Tolkien, comme une citation.

<BLOCKQUOTE cite="http://www.mycom.com/tolkien/twotowers.html">
They went in single file, running like hounds on a strong scent,
and an eager light was in their eyes. Nearly due west the broad
swath of the marching Orcs tramped its ugly slot; the sweet grass
of Rohan had been bruised and blackened as they passed.
</BLOCKQUOTE>

Les agents utilisateurs visuels représentent généralement le texte marqué par BLOCKQUOTE sous forme d'un bloc de texte indenté.

Guillemets de citation. Il est recommandé que les feuilles de style prévoient une manière d'insérer des guillemets avant et après une citation contenue dans des éléments Q ou BLOCKQUOTE et ce en utilisant les marques et les règles typographiques propres au contexte de langue (voir l'attribut lang) et au degré d'imbrication de la citation.

Cepenant, comme certains auteurs ont utilisé des éléments BLOCKQUOTE comme un simple mécanisme pour indenter du texte, et afin de préserver l'intention initiale de ces auteurs, il est recommandé que les agents utilisateurs n'insèrent pas des quillemets dans le style par défaut.

De plus, si les auteurs eux-même incluent des guiillemets dans un élément Q ou BLOCKQUOTE, les agetns utilisaterus ne devront pas ajouter leur propre guillemet.

L'utilisation d'éléments BLOCKQUOTE pour indenter du texte est une pratique obsolète depuis l'apparition des feuilles de style.

Indices et exposants : Les éléments SUB et SUP

<!-- indices et exposants -->
<!ELEMENT (SUB|SUP) - - (%inline)*>
<!ATTLIST (SUB|SUP)
  %attrs;                          -- %coreattrs, %i18n, %events --
  >

Balise de début : requise, Balise de fin : requise

Attributs définis par ailleurs

De nombeuses écritures (ex. en français) nécessitent la repreésentation d'indices et d'exposants pour répondre aux exigeances typographiques. Les éléments SUB et SUP devront être employés pour baliser le texte dans ces cas.

Nous utilisons ici l'élément SUP pour remonter le "lle" de la forme abrégée "Mlle Dupont":

      M<sup>lle</sup> Dupont

Lignes et paragraphes

Les auteurs divisent traditionellement le déroulement de leurs pensées en séquences de paragraphes. L'organisation de l'information contenue dans le paragraphe ne dépend pas de la forme dans laquelle le pragraphe est représenté : les paragraphes justifiés des deux côtés contiendront le même discours que ceux qui ne sont justifiés qu'à gauche.

Le balisage HTML pour définir un paragraphe est trivial : l'élément P définit un paragraphe.

La représentation visuelle de ces paragraphe est par contre une chose bien moins simple. Un certain nombre de choix, parfois stylistiques parfois techniques, doivent être précisés :

Toutes ces questions sont traitées ci-après. L'alignement des paragraphes et les objets flottants seront exposés plus loin dans le document.

Paragraphes : L'élément P

<!ELEMENT P - O (%inline)*>
<!ATTLIST P
  %attrs;                          -- %coreattrs, %i18n, %events --
  %align;                          -- align, alignement du texte --
  >

Balise de début : requise, Balise de fin : optionnelle

Attributs définis par ailleurs

L'élément P représente un paragraphe. Ce dernier ne peut contenir aucun élément de niveau "bloc" (y compris P lui-même). Vous pouvez omettre la balise de fin, qui devient implicite à l'occurence suivante d'une balise de début de l'élément de niveau "bloc" suivante. Elle est de même implicite lorsque survient la balise de fin de l'élément de niveau "bloc" qui inclut cet élément P.

Par exemple, considérez les deux paragraphes suivants :
<P>Voici un premier paragraphe.</P>
<P>VOici un deuxième paragraphe.</P>
...un élément de niveau "bloc"...

lesquels pourraient être réécrits sans les balises de fermeture :

<P>Voici un premier paragraphe.
<P>Voici un second paragraphe.
...un élément de niveau "bloc"...

du fait que ces deux paragraphes sont implicitement terminés par l'élément "bloc" qui les suit. De même, si un paragraphe est inclus dans un élément de niveau "bloc", comme dans :

<DIV>
<P>C'est un paragraphe.
</DIV>

La balise de fermture de l'élément "bloc" englobant (ici, DIV) implique celle de l'élément P.

Des éléments P vides sont des artefacts et doivent être ignorés à la visualisation.

Formatage visuel des paragraphes

La façon dont les paragraphes apparaissent visuellement dépend de chaque agent utilisateur. Les paragraphes sont habituellement visualisés alignés à gauche avec une marge droite flottante. D'autres valeurs par défaut seront utiles pour les écritures inversées.

Les agents utilisateurs HTML affichent traditionnellement les paragraphes avec un espace ligne avant et après, comme ceci :

  At the same time, there began to take form a system of numbering,
  the calendar, hieroglyphic writing, and a technically advanced
  art, all of which later influenced other peoples.

  Within the framework of this gradual evolution or cultural
  progress the Preclassic horizon has been divided into Lower,
  Middle and Upper periods, to which can be added a transitional
  or Protoclassic period with several features that would later
  distinguish the emerging civilizations of Mesoamerica.

C'est en contraste avec le style utilisé dans l'édition littéraire qui indente la première ligne du paragraphe et utilise l'espacement ligne standard entre la dernière ligne d'un paragraphe et la première du paragraphe suivant. Ex.,

     At the same time, there began to take form a system of
  numbering, the calendar, hieroglyphic writing, and a technically
  advanced art, all of which later influenced other peoples.
     Within the framework of this gradual evolution or cultural
  progress the Preclassic horizon has been divided into Lower,
  Middle and Upper periods, to which can be added a transitional
  or Protoclassic period with several features that would later
  distinguish the emerging civilizations of Mesoamerica.

Dans la lignée du navigateur Mosaic du NCSA apparu en 1993, les agents utilisateurs ne justifient actuellement pas des deux côtés, en partie parce qu'il est effectivement difficile de le faire sans algorithmes sophistiqués de césure. L'avantage des feuilles de style, conjointement aux polices antialiasées à positionnement à la fraction de pixel permet d'offrir des possibilités plus riches aux auteurs HTML qu'il n'en existait aupravant.

Les feuilles de style permettent un contrôle plus fin de la taille et du style de police, des marges, de l'interligne avant et après les paragraphes, de l'indentation de la première ligne de chaque paragraphe, de la justification et de nombreux autres détails de présentation. La feuille de style par défaut d'un agent utilisateur représentera l'élément P dans une forme classique, comme elle a été décrite ci-avant. Il sera possible d'outrepasser cette mise en forme pour par exemple, afficher les paragraphes sans l'interligne qui sépare conventionnellement des paragraphes successifs, mais ceci pourrait dérouter les lecteurs et serait une mauvaise habitude à ne pas prendre.

Par convention, les agents utilisateurs HTML visuels coupent les lignes de façon à ce que le texte rentre entre les marges disponibles. Les algorithme de renvoi à la ligne dépendent du type d'écriture.

Pour les écritures occidentales, par exemple, le texte ne peut être renvoyé à la ligne qu'avant un espace blanc (lequel "saute" d'ailleurs). Certains anciens agents utilisateurs coupaient à tort les lignes au début ou à la fin des éléments, produisant parfois des problèmes de renvoi de ponctuation. Par exemple,

  A statue of the <a href="cih78">Cihuateteus</a>, who are patron ...

Couper cette ligne à la fin de la balise d'ancre obligerait la virgule à se retrouver isolée sur la ligne du dessous :

  A statue of the Cihuateteus
  , who are patron goddesses ...

Ceci est une erreur syntaxique de base, car aucun espace ne précédait la virgule en cet endroit du texte "formaté".

Contrôle des sauts de ligne

En HTML, il est possible d'ignorer, ou de forcer au contraire des sauts de ligne.

Forcer un saut de ligne : L'élément BR

<!ELEMENT BR - O EMPTY          -- forced line break -->
<!ATTLIST BR
  %coreattrs;                      -- id, class, style, title --
  clear (left|all|right|none) none -- contrôle du texte --
  >

Balise de début : requise, Balise de fin : interdite

Attributs définis par ailleurs

L'élément BR casse la ligne courante de texte.

Pour des agents utilisateurs visuels, l'attribut clear peut être défini pour déterminer si le texte et le balisage "en ligne" suivant l'élément BR "coule" autour des images et autres objets flottants sur la marge gauche ou droite, ou si le texte ne recommence qu'après la ligne basse de tels objets. Plus de détails vous seront donnés dans la section traitant de l'alignement et des objets flottants. Il est conseillé aux auteurs d'utiliser les feuilles de style pour contrôler comment le texte s'organise autour des images ou autres objets flottants. L'attribut clear, tout comme d'autres attributs et éléments HTML de présentation, n'est approprié que lorsque vous prévoyez pour les agents utilisateurs qui ne saventpas traiter les feuilles de style.

Par respect du formatage bidirectionnel, l'élément BR devra être traité comme le caractère Unicode "LINE SEPARATOR".

Non sécabilité

Il est parfois utile d'interdire un saut de ligne entre deux mots séparés pourtant par un espace. L'entité &nbsp; (&#160;, &#xA0;) est un "espace insécable" avant ou après lequel les agents utilisateurs ne provoqueront pas le retour à la ligne.

Césure

En HTML, il existe deux types de tirets : le tiret "plain" ou "non sécable" et le tiret "soft" ou "sécable". Le tiret "non sécable" doit être interprété par les agents utilisateurs comme un caractère imprimable standard (tiret insécable). Le tiret "sécable" indique aux agents utilisateurs qu'un saut de ligne peut intervenir à cet endroit.

Les navigateurs qui interprètent les tirets sécables doivent respecter les règles de sémantique suivantes : Si une ligne est cassée à l'endroit s'un tiret sécable, un glyphe du tiret doit être affiché en fin de la première ligne. Si la ligne n'est pas cassée à l'endroit du tiret sécable, l'agent utilisateur doit ignorer le tiret. Pour toute opération telle qu'un tri ou une recherche de motif, le tiret sécable doit être ignoré (il ne s'agit pas d'un caractère, en fait).

En HTML, le tiret non sécable est représenté par le caractère "-" (&#45;, &#x2D;). Le tiret sécable sera représenté par l'entité nommée &shy; (&#173;, &#xAD;)

Texte préformaté : L'élément PRE

<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">

<!ELEMENT PRE - - (%inline)* -(%pre.exclusion)>
<!ATTLIST PRE
  %attrs;                          -- %coreattrs, %i18n, %events --
  width       NUMBER     #IMPLIED
  >

Balise de début : requise, Balise de fin : requise

Définition des attributs

width = integer
Cet attribut renseigne les agents utilisateurs visuels sur la largeur espérée du bloc de texte formaté. L'agent utilisateur pourra utiliser cette information pour sélectionner une taille de police appropriée ou pour indenter le contenu en fonction. La largeur désirée est exprimée en nombre de caractères. La prise en compte de cet attribut n'est pas très répandue aujourd'hui.

Attributs définis par ailleurs

L'élément PRE indique aux agents utilisateurs visuels que le texte qui y est inclus est "préformaté". Les agents utilisateurs visuels doivent traiter le texte préformazé comme suit :

Notez que le standard SGML requiert que l'interpréteur supprime un retour ligne situé juste après une balise de début ou juste avant une balise de fin.

Le fragment de DTD ci-avant indique quels éléments ne doivent pas apparaître au sein d'une déclaration PRE. Ces restrictions sont identiques à celles du HTML 3.2, et est supposé préserver un interligne constant et un alignement des colonnes pour l'afichage de diagrammes en mode texte. Il est déconseillé aux auteurs d'altérer ce comportement par des feuilles de style.

L'exemple suivant montre un vers formaté du poème de Shelly, To a Skylark :

<PRE>
       Higher still and higher
         From the earth thou springest
       Like a cloud of fire;
         The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
</PRE>

Voici les mêmes vers tels que votre agent utilisateur les exprime :

       Higher still and higher
         From the earth thou springest
       Like a cloud of fire;
         The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.

La caractère de tabulation horizontale
Le caractère de tabulation horizontale (encodé en [UNICODE], US ASCII, et [ISO88591] sous la valeur décimale 9) est en général interprétée par les agents utilisateurs visuels comme le plus petit nombre d'espaces blancs non nul nécessaires à aligner le caractère qui suit sur la prochaine marque de tabulation, lesquelles sont distribuées tous les 8 caractères. Nous déconseillons vivement l'usage de tabulations horizontales dans du texte préformaté, car il est souvent pratique courante en édition, de changer l'espacement inter-tabulation à d'autres valeurs, ce qui conduit à désaligner les documents.

Révision des documents : Les éléments INS et DEL

<!-- INS/DEL are handled by inclusion on BODY -->
<!ELEMENT (INS|DEL) - - (%inline)* -- inserted/deleted text -->
<!ATTLIST (INS|DEL)
  %attrs                           -- %coreattrs, %i18n, %events --
  cite        %URL      #IMPLIED   -- infos sur la cause de la révision --
  datetime    CDATA     #IMPLIED   -- date de modification : format de date ISO --
  >

Balise de début : requise, Balise de fin : requise

Définition des attributs

cite = url
La valeur de cet attribut est une URL qui désigne le document ou message source. Cet attribut est destiné à pointer sur une information qui explique pourquoi ou en quoi le document a changé.
datetime = cdata
La valeur de cet attribut spécifie la date et l'heure de la révision. Cette valeur doit être codée dans un format conforme à l'[ISO8601] et limité au profil défini dans la section ci-après traitant des dates et heures.

Attributs définis par ailleurs

Les éléments INS et DEL sont utilisés pour marquer les sections du document qui ont été insérées, ou bien supprimées, par rapport à la précédente version du document (ex., pour des documents juridiques pour lesquels les changements doivent pouvoir être suivis par le législateur).

Ces deux éléments sont assez inhabituels en HTML du fait qu'ils ne sont ni de niveau "bloc", ni de niveau "en ligne". Ils peuvent ne contenir que quelques mots d'un paragraphe ou englober un ou plus éléments de niveau bloc tels que paragraphes, listes et tables.

Les agents utilisateur pourront visualiser les textes insérés et supprimés de sorte à ce que ces modifications apparaissent clairement. Par exemple, du texte inséré pourra être écrit en une police spéciale, le texte supprimé pouvant nepas apparaître du tout, ou apparaître biffé, etc.

Les agents utilisateur ne reconnaissant pas l'élément DEL devront toutefois afficher son contenu.

Format de date et d'heure

L'[ISO8601] autorise de nombreuses variations de représentation des dates et de l'heure. La présente spécification définit un format spécifique, cité parmi ceux autorisés par l'[ISO8601].

Le format accepté est :

  YYYY-MM-DDThh:mm:ssTZD
dans lequel :
     YYYY = année sur quatre digits
     MM   = mois sur deux digits (01=Janvier, etc.)
     DD   = quantième sur deux digits (01 à 31)
     hh   = heure sur deux digits (00 à 23) (am/pm NON autorisé)
     mm   = minute sur deux digits (00 à 59)
     ss   = secondes sur deux digits (00 à 59)
     TZD  = code de zone horaire

La zone horaire peut être :

Z
indique l'usage de l'UTC (Coordinated Universal Time).
+hh:mm
indique qu'il s'agit d'une heure locale qui est hh heures et mm minutes par rapport à l'UTC.
-hh:mm
indique qu'il s'agit d'une heure locale qui est hh heures et mm minutes en deça de l'UTC.

Toutes les composantes indiquées ici doivent être présentes, avec strictement la même ponctuation. Notez que la mention "T" apparaît dans la chaîne litéralement, pour indiquer le début de la partie horaire, selon l'[ISO8601]

Si un générateur de date d'une application ne connaît pas la mesure des secondes, il y inscrira par défaut la valeur "00" (idem pour les minutes et les heures si nécessaire).

Les deux exemples suivants correspondent à la date du 5 Novembre 1994, 8:15:30 am, US Eastern Standard Time.
     1994-11-05T13:15:30Z
     1994-11-05T08:15:30-05:00

Utilisé dans l'élément INS, ceci donne :

<INS datetime="1994-11-05T08:15:30-05:00">
I added this on November 5th
</INS>