La version française de cette traduction est :
http://www.la-grange.net/w3c/html4.01/

Traducteur : Eric Schreiner <elrick@chez.com> dans le cadre de l'effort de la liste de discussion w3c-translators-fr@w3.org
La version française peut contenir des erreurs. La version anglaise de cette note est l'unique version normative. Version originale : http://www.w3.org/TR/1999/REC-html401-19991224

9 Texte

Sommaire

  1. Blanc [N.D.T. white space]
  2. Texte structuré
    1. Phrase : les éléments EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, et ACRONYM
    2. Citation [N.D.T. quotation] : les éléments BLOCKQUOTE et Q
    3. Indice et exposant : les éléments SUB et SUP
  3. Ligne et paragraphe
    1. Paragraphe : l'élément P
    2. Contrôle des renvois à la ligne [N.D.T. ligne breaks]
    3. Césure [N.D.T. Hyphenation]
    4. Texte préformaté : l'élément PRE
    5. Restitution visuelle des paragraphes
  4. Marque de révision : les éléments INS et DEL

Ce chapitre traite de la structuration du texte. Les éléments de présentation du texte (éléments d'alignement, de police... les feuilles de style, etc.) sont abordés par ailleurs dans cette spécification. Pour avoir des informations sur les caractères, veuillez consulter la section sur le jeu de caractères d'un document.

9.1 Blanc [N.D.T. white space]

Le jeu de caractères d'un document comprend une large variété de caractères blancs [N.D.T. white space]. La plupart d'entre eux sont des éléments typographiques, qui sont utilisés dans certaines applications pour produire un effet particulier d'espacement visuel. En HTML, seuls les caractères suivants sont définis comme caractères blancs :

Le 'renvoi à la ligne' est également un caractère blanc. Noter que, bien que les caractères &#x2028; et &#x2029; soient définis dans [ISO10646] pour couper respectivement, sans ambiguïté, les lignes et les paragraphes, ils ne sont pas considérés en HTML comme un renvoi à la ligne, et cette spécification ne les intègre donc pas dans la catégorie plus générale des caractères blancs.

Cette spécification n'indique pas le comportement, la représentation, ou tout autre chose, de caractères d'espacement autres que ceux explicitement identifiés ici comme blancs. Pour cette raison, les auteurs devraient utiliser les éléments et les styles appropriés pour atteindre les effets souhaités pour la présentation visuelle de leurs blancs, plutôt qu'une suite de caractères 'espace'.

Dans tous les éléments HTML, à l'exception de l'élément PRE, une suite de blancs sépare des "mots" (le terme de "mot" est utilisé ici pour indiquer une "suite de caractères sans blancs"). Lors de l'élaboration du rendu d'un texte, les agents utilisateurs sont sensés identifier ces mots et les positionner conformément aux conventions particulières d'écriture de la langue (écrite) et du média ciblé.

Ce positionnement peut nécessiter l'emploi d'espacements entre les mots (ou espace inter-mot), mais les conventions pour l'espace inter-mot varient d'une écriture à l'autre. Ainsi, par exemple, dans les écritures latines, l'espace inter-mot est typiquement constitué d'un caractère 'espace' ASCII (&#x0020;), alors que dans l'écriture thaï il s'agit d'un caractère 'espace nul' (&#x200B;). Enfin, en japonais ou en chinois, l'espace inter-mot est normalement ignoré.

Noter qu'une suite de blancs entre des mots, dans le document source, peut engendrer un résultat complètement différent dans le rendu de l'espacement entre ces mots (sauf dans le cas de l'élément PRE). En particulier, les agents utilisateurs sont sensés fusionner toute suite de blancs du document source lorsqu'ils produisent l'espace inter-mot du rendu. Cela peut et devrait être fait, y compris en l'absence d'information sur la langue (que ce soit dans l'attribut lang ou le champ "Content-Language" de l'en-tête HTTP (voir [RFC2616], section 14.12) ou le paramétrage de l'agent utilisateur, etc.).

L'élément PRE est utilisé pour du texte préformaté, dans lequel les blancs sont significatifs.

Afin d'éviter des conflits avec les règles SGML de renvois à la ligne, ainsi que d'éventuelles incohérences dans le cadre des évolutions futures, les auteurs ne devraient pas s'appuyer sur les agents utilisateurs pour prendre en compte les blancs placés soit juste après une balise ouvrante, soit juste avant une balise fermante. Aussi les auteurs, et les outils d'édition, devraient rédiger :

  <P>Nous offrons une <A>assistance technique</A> gratuite pour nos adhérents.</P>

et non :

  <P>Nous offrons une<A> assistance technique </A>gratuite pour nos adhérents.</P>

9.2 Texte structuré

9.2.1 Phrase : les éléments EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, et ACRONYM

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

Balise ouvrante : obligatoire, balise fermante : obligatoire

Attributs définis par ailleurs

Les éléments de phrase ajoutent une information sur des portions du texte. L'interprétation courante de ces éléments de phrase est la suivante :

EM :
Indique une mise en exergue.
STRONG :
Indique une mise en exergue plus importante [N.D.T. que EM].
CITE :
Contient l'extrait ou la référence à une autre source.
DFN :
Indique que le terme encadré a une définition.
CODE :
Désigne une portion de code informatique.
SAMP:
Désigne un exemple de résultat issu d'un programme, d'un script, etc.
KBD:
Indique une frappe au clavier devant être effectuée par l'utilisateur.
VAR:
Indique l'instance d'une variable ou le paramètre d'un programme.
ABBR:
Indique une forme abrégée ("ex." pour "exemple", "St." pour "Saint", "c.-à-d." pour "c'est-à-dire"...).
ACRONYM:
Indique un acronyme ("radar", "laser", "S.N.C.F."...).

Les éléments EM et STRONG sont utilisés pour mettre en exergue une portion du texte. Les autres éléments de phrase ont une signification particulière pour un document dans un contexte technique. Ces exemples illustrent quelques-uns de ces éléments de phrase :

Comme le disait <CITE>le Général De Gaule</CITE>,
<Q lang="fr">Je vous ai compris !</Q>

Pour plus d'informations, voir <CITE>[ISO-0000]</CITE>.

Dans tout courrier, veuillez désormais indiquer la référence suivante : <STRONG>1-234-55</STRONG>

La présentation usitée pour les éléments de phrase dépend de l'agent utilisateur. En général, les agents utilisateurs visuels présentent le texte de l'élément EM en italique, et le texte de l'élément STRONG en gras. Les agents utilisateurs vocaux, eux, devraient changer les paramètres de la synthèse vocale, tels que le volume, la hauteur ou le timbre.

Les éléments ABBR et ACRONYM permettent aux auteurs d'indiquer clairement l'usage d'abréviations et d'acronymes. En effet, les langues occidentales utilisent largement les acronymes comme "GmbH", "O.T.A.N.", et "S.N.C.F.", ainsi que les abréviations comme "Mme.", "Sté.", "etc.". Le chinois et le japonais, eux, emploient des mécanismes d'abréviation analogues : un nom long est ensuite référencé par un sous-ensemble des caractères Han le constituant. Marquer ces constructions fournit une aide précieuse aux agents utilisateurs certes, mais également aux outils tels que les vérificateurs d'orthographe, les synthétiseurs vocaux, les traducteurs et les moteurs de recherche.

Les éléments ABBR et ACRONYM encadrent l'abréviation ou l'acronyme usité, dans la forme dans laquelle elle, ou il, doit figurer dans le texte. L'attribut 'title' de ces éléments peut permettre de fournir leur forme complète ou développée.

Voici quelques exemples d'utilisation de l'élément : ABBR :

  <P>
  <ABBR title="World Wide Web">WWW</ABBR>
  <ABBR lang="fr" 
        title="Soci&eacute;t&eacute; Nationale des Chemins de Fer">
     S.N.C.F.
  </ABBR>
  <ABBR lang="es" title="Do&ntilde;a">Do&ntilde;a</ABBR>
  <ABBR title="Abbreviation">abbr.</ABBR>

Noter que les abréviations et les acronymes utilisent souvent une prononciation idiosyncratique. Par exemple, alors que "S.N.C.F." et "URL" sont typiquement prononcés lettre à lettre, "O.T.A.N." et "radar" sont prononcés phonétiquement. De plus, certaines formes abrégées ("etc.", "URI"...) sont épelées par certaines personnes, et prononcées par d'autres comme si il s'agissait d'un mot. En cas de nécessité, les auteurs devraient utiliser les feuilles de style pour spécifier la prononciation d'une forme abrégée.

9.2.2 Citation [N.D.T. quotation] : Les éléments BLOCKQUOTE et Q

<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- citation longue -->
<!ATTLIST BLOCKQUOTE
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI pour le document source ou le message --
  >
<!ELEMENT Q - - (%inline;)*            -- citation courte de type en-ligne -->
<!ATTLIST Q
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI pour le document source ou le message --
  >

Balise ouvrante : obligatoire, balise fermante : obligatoire

Définition de l'attribut

cite = uri [CT]
La valeur de cet attribut est l'URI qui désigne le document source ou le message. Cet attribut est sensé fournir l'information sur la source de la citation.

Attributs définis par ailleurs

Ces deux éléments désignent une citation [N.D.T. quotation]. L'élément BLOCKQUOTE indique une citation longue (avec un contenu de type bloc) et l'élément Q est sensé être utilisé pour des citations courtes (avec un contenu de type en-ligne) ne nécessitant pas de saut de paragraphe.

Cet exemple formate un extrait de "Les deux tours", de J.R.R. Tolkien, comme bloc de citation :

<BLOCKQUOTE cite="http://www.mycom.com/tolkien/les%20deux%20tours.html">
<P>Ils allaient en file indienne, courant comme des limiers après un puissant fumet,
et l'ardeur luisait dans leurs yeux. La large fauchée des Orques en marche traçait
sa vilaine rainure presque droit vers l'ouest ; l'herbe douce du Rohan avait été 
écrasée et noircie sur leur passage.<P>
</BLOCKQUOTE>

Restitution des citations 

Les agents utilisateurs visuels présentent en général BLOCKQUOTE comme un bloc de texte en retrait.

Les agents utilisateurs visuels doivent s'assurer que le contenu d'un élément Q s'effectue avec des marques de citation. Les auteurs ne devraient pas placer de marque de citation ni au début, ni à la fin, du contenu d'un élément Q.

Les agents utilisateurs devraient ajouter les marques de citation en fonction de la langue (voir l'attribut lang). Plusieurs langues adoptent des styles différents pour les marques de citation extérieure ou intérieure (imbriquée), et cela devrait être respecté par les agents utilisateurs.

Les exemples ci-dessous illustrent des citations imbriquées avec l'élément Q.

John said, <Q lang="en-us">I saw Lucy at lunch, she told me
<Q lang="en-us">Mary wants you
to get some ice cream on your way home.</Q> I think I will get
some at Ben and Jerry's, on Gloucester Road.</Q>

Dans la mesure où la langue des deux citations est Américain/Anglais, les agents utilisateurs devraient le figurer convenablement, par exemple en ajoutant des apostrophes autour de la citation intérieure et des guillemets autour de la citation extérieure :

  John said, "I saw Lucy at lunch, she told me 'Mary wants you
  to get some ice cream on your way home.' I think I will get some
  at Ben and Jerry's, on Gloucester Road."

Nota. Il est recommandé que l'implémentation des feuilles de style fournisse un moyen d'ajouter des marques de citation avant et après une citation encadrée par BLOCKQUOTE d'une façon convenable en fonction de la langue, ainsi qu'en fonction du niveau d'imbrication des citations.

Toutefois, comme certains auteurs ont utilisé l'élément BLOCKQUOTE prosaïquement pour obtenir un texte en retrait, les agents utilisateurs ne devraient pas ajouter de marque de citation dans le style par défaut, afin de préserver les intentions de ces auteurs.

L'utilisation de l'élément BLOCKQUOTE pour obtenir un texte en retrait est dépréciée au profit de l'usage des feuilles de style.

9.2.3 Indice et exposant : les éléments SUB et SUP

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

Balise ouvrante : obligatoire, balise fermante : obligatoire

Attributs définis par ailleurs

Plusieurs langues, notamment le français, nécessitent l'emploi d'indices et d'exposants pour être correctement écrites. Les éléments SUB et SUP devraient être utilisés pour marquer les portions de texte qui sont dans ce cas.

      H<sub>2</sub>O
      E = mc<sup>2</sup>
      <SPAN lang="fr">M<sup>lle</sup> Dupont</SPAN>

9.3 Ligne et paragraphe

Les auteurs découpent habituellement leurs idées et leurs arguments en suites de paragraphes. Cette organisation de l'information en paragraphes n'est pas touchée par la manière dont ils sont présentés : un paragraphe justifié contient les mêmes idées s'il devient aligné à gauche.

Le balisage HTML qui définit un paragraphe, est enfantin : l'élément P contient un paragraphe.

La représentation des paragraphes n'est pas si simple. Un certain nombre d'aspects doivent être pris en compte, en rapport à la fois avec le style et à la fois avec la technique de représentation :

Ces questions sont traitées ici, mais l'alignement des paragraphes et les objets flottants seront abordés plus loin dans ce document.

9.3.1 Paragraphe : l'élément P

<!ELEMENT P - O (%inline;)*            -- paragraphe -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, balise fermante : optionnelle

Attributs définis par ailleurs

L'élément P correspond à un paragraphe. Il ne peut pas contenir d'éléments de type bloc (même pas un autre élément P).

L'usage par les auteurs d'éléments P qui sont vides est fortement déconseillé. Les agents utilisateurs devraient ignorer de tels éléments P vides.

9.3.2 Contrôler les renvois à la ligne [N.D.T. line breaks]

Un renvoi à la ligne sera remplacé par un retour chariot ('carriage return', ou CR, &#x000D;), par un 'fin de ligne' ('line feed', ou LF, &#x000A;), ou les deux ensemble (CR+LF). Chaque renvoi à la ligne constitue un blanc.

Pour plus d'informations sur les spécifications SGML sur les renvois de ligne, veuillez consulter la note sur les renvois à la ligne en annexe.

Forcer un renvoi à la ligne : l'élément BR 

<!ELEMENT BR - O EMPTY                 -- renvoi à la ligne forcé -->
<!ATTLIST BR
  %coreattrs;                          -- id, class, style, title --
  >

Balise ouvrante : obligatoire, balise fermante : INTERDITE

Attributs définis par ailleurs

L'élément BR coupe le texte en cours pour terminer la ligne, il indique donc un renvoi à la ligne.

Pour les agents utilisateurs, l'attribut clear peut être employé pour déterminer si le balisage qui suit l'élément BR s'écoule autour des images, fait flotter les autres objets flottants vers la marge soit de gauche soit de droite, ou s'il commence au pied [N.D.T. bottom] de tels objets. La section alignement et objets flottants fournit plus de détails. Les auteurs sont invités à s'appuyer sur les feuilles de style pour contrôler l'écoulement du texte autour des images et autres objets flottants.

Afin de respecter les représentations bidirectionnelles , l'élément BR devrait se comporter de la même manière que le caractère LINE SEPARATOR de [ISO10646] dans l'algorithme bidirectionnel.

Empêcher un renvoi à la ligne 

Parfois, les auteurs peuvent souhaiter qu'un renvoi à la ligne ne coupe pas deux mots. L'entité &nbsp; (&#160; ou &#xA0;) détermine un espace insécable, c'est-à-dire. un espace entre deux mots qui ne peut pas être coupé pour effectuer un renvoi à la ligne.

9.3.3 Césure [N.D.T. hyphenation]

En HTML, il existe deux types de tiret [N.D.T. hyphen] : le tiret insécable et le tiret sécable. Le tiret insécable devrait être considéré par les agents utilisateurs comme n'importe quel caractère normal. Le tiret sécable indique l'emplacement d'une coupure possible pour que l'agent utilisateur effectue un renvoi à la ligne.

Les agents utilisateurs qui gère les tirets sécables doivent observer les règles sémantiques suivantes : si un texte est coupé à l'emplacement d'un tiret sécable, le tiret doit être affiché à la fin de la ligne coupée ; si un texte n'est pas coupé à l'emplacement d'un tiret sécable, le tiret ne doit pas être affiché. De plus, le tiret sécable doit être ignorer dans les opérations de recherche et de tri.

En HTML, le tiret insécable est spécifié par le caractère "-" (&#45; ou &#x2D;). Le tiret sécable, lui, est spécifié par le caractère correspondant à l'entité &shy; (&#173; ou &#xAD;)

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

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

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- texte préformaté -->
<!ATTLIST PRE
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, Balise fermante : obligatoire

Définition de l'attribut

width = nombre [CN]
Déprécié. Cet attribut fournit un conseil aux agents utilisateurs visuels sur la largeur désirée pour le bloc. L'agent utilisateur peut exploiter cette information pour choisir une taille de police ou pour indenter le contenu de manière appropriée. La largeur désirée est exprimée en nombre de caractères. Cet attribut n'est plus beaucoup implémenté aujourd'hui.

Attributs définis par ailleurs

L'élément PRE indique aux agents utilisateurs visuels que le texte de son contenu est "préformaté". Lors des manipulations de textes préformatés, l'agent utilisateur visuel :

Les agents utilisateurs non visuels ne sont pas obligés de respecter les blancs du contenu de l'élément PRE.

Pour plus d'informations sur la spécification SGML sur les renvois à la ligne, veuillez consulter la note sur les renvois à la ligne en annexe.

La portion de DTD indique quels éléments ne peuvent pas apparaître dans la déclaration d'un élément PRE . Il s'agit des mêmes qu'en HTML 3.2, et l'intention est de préserver un espacement inter-ligne et un alignement des colonnes pour le texte représenté grâce à une police non proportionnelle. Les auteurs sont incités à ne pas altérer ce comportement à travers les feuilles de style.

Les exemples ci-dessous montrent les vers préformatés d'un poème de Shelly's : 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 la représentation qui devrait typiquement être donnée :

       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.

Le caractère de tabulation horizontale
Le caractère 'tabulation' horizontale (codé 9 en décimal dans [ISO10646] et [ISO88591] ) est habituellement interprété par les agents utilisateurs comme le plus petit nombre non nul d'espaces nécessaires pour atteindre le prochain taquet de tabulation, ces taquets de tabulation étant placés dans la ligne tous les 8 caractères. L'usage de ce caractère de tabulation horizontale est fortement déconseillé, dans la mesure où l'espacement des taquets de tabulation est couramment modifié lors de la mise au point d'un document, ce qui conduit à des brisures d'alignement lors de l'affichage de ce document.

9.3.5 Restitution visuelle des paragraphes

Nota. Cette section est une description, pour information, du comportement suivi par les agents utilisateurs visuels courants, pour effectuer la restitution des paragraphes. Les feuilles de style permettent un contrôle plus fin de cette restitution.

La manière de gérer la restitution visuelle des paragraphes dépend de l'agent utilisateur. Les paragraphes sont habituellement restitués avec leurs lignes alignées à gauche, mais avec un effet en dents de scie sur la droite. D'autres défauts apparaissent pour les écritures qui vont de la droite vers la gauche.

Les agents utilisateurs HTML ont historiquement restitué les paragraphes avec une ligne blanche avant et après, par exemple :

  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.

Cela contraste avec la présentation usuelle des romans qui utilise, d'une part un retrait pour la première ligne du paragraphe, et d'autre part un espacement entre deux paragraphes successifs identique à celui qui existe entre deux lignes successives d'un même paragraphe, comme suit :

     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 les deux côtés, cela est en partie dû à la difficulté de le réaliser sans traitement compliqué des césures. L'avènement des feuilles de style, et des polices non aliassés permettant un positionnement à une fraction de pixel près, promet d'offrir une plus grande palette de choix aux auteurs de documents HTML.

Les feuilles de style fournissent un riche contrôle des types et des tailles de police, des marges, des espacements avant et après chaque paragraphe, du retrait de première ligne, de la justification et de bien d'autres détails. L'agent utilisateur, par le biais de sa feuille de style par défaut, doit représenter les éléments P d'une manière familière, comme indiqué ci-dessus. Bien sûr, en principe, cette mise en forme peut être outrepassée afin de représenter les paragraphes, par exemple, sans renvoi à la ligne pour les distinguer. Cela pouvant perturber le lecteur, ce type de pratique n'est pas du tout encouragé.

Par convention, les agents utilisateurs visuels pour HTML doivent ajuster les renvois à la ligne automatiques de manière à placer le texte dans les marges disponibles. Or l'algorithme pour couper le texte dépend du type d'écriture.

Pour les écritures occidentales, par exemple, le texte ne peut pas être coupé qu'à l'emplacement de blancs. D'anciens agents utilisateurs coupaient le texte juste après une balise ouvrante d'un élément, ou juste avant sa balise fermante, ce qui est incorrect et occasionne une ponctuation aberrante. Par exemple, prenons la phrase suivante :

   Une statue de <A href="cih78">Cihuateteus</A>, Saint patron de ...

en coupant la ligne juste avant la balise fermante de l'élément A, la virgule est renvoyée au début de la ligne suivante :

  Une statue de Cihuateteus
  , Saint patron de ...

Cela constitue bien une erreur, car il n'existe aucun blanc entre l'élément A et la virgule.

9.4 Marque de révision : les éléments INS et DEL

<!-- INS/DEL sont gérés par inclusion dans BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)*      -- texte inseré, texte supprimé -->
<!ATTLIST (INS|DEL)
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- information ou raison de la modification --
  datetime    %Datetime;     #IMPLIED  -- date et heure de la modification --
  >

Balise ouvrante : obligatoire, balise fermante : obligatoire

Définition des attributs

cite = uri [CT]
La valeur de cet attribut est un URI qui pointe sur un document source, ou un message, qui est sensé fournir l'information expliquant la raison de la modification apportée.
datetime = datetime [CS]
La valeur de cet attribut spécifie la date et l'heure à laquelle la modification a été faite.

Attributs définis par ailleurs

Les éléments INS et DEL sont utilisés pour marquer les parties d'un document qui ont été insérées ou supprimées, afin de permettre de suivre l'évolution des versions de ce document (exemple : dans les projets de loi, les législateurs doivent pouvoir suivre les modifications apportées).

Ces deux éléments ne sont pas courants dans la mesure où ils peuvent être utilisés soit pour des éléments de type bloc, soit pour des éléments de type en-ligne (mais pas les deux à la fois). Ils peuvent encadrer soit un ou plusieurs mots d'un paragraphe, soit un ou plusieurs éléments de type bloc comme des paragraphes, des listes et des tables.

L'exemple ci-dessous montre la modification d'un projet de loi portant à "5" au lieu de "3" le nombre de suppléants qu'un shérif de comté peut employer.

<P>
  Un shérif peut employer <DEL>3</DEL><INS>5</INS> suppléants.
</P>

L'élément INS et l'élément DEL ne doivent pas inclure de contenu de type bloc lorsqu'ils sont utilisés, comme ici, comme des éléments en ligne.

Exemple illégal :
L'exemple suivant n'est pas du HTML : l'élément INS est dans un élément P de type en-ligne, et contient un élément DIV de type bloc.

<P>
<INS><DIV>...block-level content...</DIV></INS>
</P>

Les agents utilisateurs devraient représenter les insertions et les suppressions de manière à rendre les modifications évidentes. Par exemple, les insertions pourraient apparaître dans une police spéciale, et les suppressions pourraient soit ne pas être affichées, soit être affichées mais barrées ou bien avec une marque de reconnaissance, etc.

Les deux exemples ci-dessous correspondent à des modifications apportées le 5 novembre 1994 à 08:15:30 (du matin), au Canada (c'est-à-dire. GMT-5).

     1994-11-05T13:15:30Z
     1994-11-05T08:15:30-05:00

Couplé à l'élément INS, cela donne :

<INS datetime="1994-11-05T08:15:30-05:00"
        cite="http://www.foo.org/mydoc/commentaires.html">
De plus, le dernier schéma de la direction commerciale montre 
suggère qu'une telle pratique augmente.
</INS>

Le document "http://www.foo.org/mydoc/commentaires.html" contiendra des commentaires explicitant cette insertion dans le document.

Les auteurs peuvent également intégrer leurs commentaires dans le document dans l'attribut title des éléments INS et DEL. Les agents utilisateurs peuvent présenter cette information à l'utilisateur (par exemple, par le biais d'une info-bulle). Ainsi :

<INS datetime="1994-11-05T08:15:30-05:00"
        title="Modifié suite aux remarques de Steve B. durant la réunion.">
De plus, le dernier schéma de la direction commerciale montre 
suggère qu'une telle pratique augmente.
</INS>