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

10 Listes

Sommaire

  1. Introduction sur les listes
  2. Les listes non ordonnées (UL), les listes ordonnées (OL), et les items de liste (LI)
  3. Les listes de définition(s) : les éléments DL, DT, et DD
    1. La représentation visuelle de listes
  4. Les éléments DIR et MENU

10.1 Introduction sur les listes

HTML offre aux auteurs plusieurs mécanismes pour spécifier des listes d'information. Toutes les listes contiennent un ou plusieurs items de liste. Des listes peuvent contenir :

La liste ci-dessus, par exemple, est une liste non ordonnée créée à l'aide de l'élément UL et décrite de la manière suivante :

<UL>
<LI>Une ou des informations non ordonnées.
<LI>Une ou des informations ordonnées.
<LI>Une ou des définitions. 
</UL>

Une liste ordonnée, créée elle avec l'élément OL, est prévue pour contenir des informations dans un ordre mis en exergue, comme dans la recette suivante :

  1. Mélanger complètement les ingrédients secs.
  2. Verser dans les ingrédients humides.
  3. Mélanger pendant 10 minutes.
  4. Cuire au four à 300 degrés pendant une heure.

Les listes de définitions, créées à l'aide de l'élément DL, correspondent généralement à une série de couples, consitués chacun d'un terme et de sa définition (bien qu'une liste de définitions puisse être utilisée pour autre chose). Ainsi, pour vanter un produit, on peut avoir une liste de définitions comme suit :

Coût réduit
La nouvelle version de ce produit coûte significativement moins cher que la précédente !
Plus facile d'emploi
Nous avons modifié le produit de manière à beaucoup plus faciliter son emploi !
Sans danger pour les enfants
Vous pouvez laisser vos enfants seuls dans une pièce avec ce produit, ils ne se blesseront pas (ce n'est pas une garantie).

décrite en HTML par :

<DL>
<DT><STRONG>Coût réduit</STRONG>
<DD>La nouvelle version de ce produit coûte significativement moins cher
que la précédente !
<DT><STRONG>Plus facile d'emploi</STRONG>
<DD>Nous avons modifié le produit de manière à beaucoup plus faciliter son emploi !
<DT><STRONG>Sans danger pour les enfants</STRONG>
<DD>Vous pouvez laisser vos enfants seuls dans une pièce avec ce produit,
ils ne se blesseront pas (ce n'est pas une garantie).
</DL>

Les listes, éventuellement de types différents, peuvent également être imbriquées, comme dans l'exemple suivant pour lequel une liste de définitions comprend une liste non ordonnée (les ingrédients) et une liste ordonnée (les étapes).

Les ingrédients :
Les étapes :
  1. Mélanger complètement les ingrédients secs.
  2. Verser dans les ingrédients humides.
  3. Mélanger pendant 10 minutes.
  4. Cuire au four à 300 degrés pendant une heure.
Remarques :
Cette recette peut être améliorée en ajoutant des raisins.

La représentation exacte de ces trois types de liste dépend de l'agent utilisateur. Les auteurs sont incités à ne pas utiliser une liste comme moyen de créer un retrait pour leur texte. Il s'agit d'un style de présentation qui est très bien géré par les feuilles de style.

10.2 Les listes non ordonnées (UL), les listes ordonnées (OL), et les items de liste (LI)

<!ELEMENT UL - - (LI)+                 -- liste non ordnonnée -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >
<!ELEMENT OL - - (LI)+                 -- liste ordonnée -->
<!ATTLIST OL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, balise fermante: obligatoire

<!ELEMENT LI - O (%flow;)*             -- item de liste -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, balise fermante : optionnelle

Définition des attributs

type  =  information de style [CI]
Déprécié. Cet attribut indique le style de l'item de la liste. Les valeurs couramment disponibles sont prévues pour les agents utilisateurs visuels. Les valeurs possibles sont décrites ci-dessous (accompagnées d'information de casse).
start = nombre [CN]
Déprécié. Pour OL uniquement. Cet attribut fournit le numéro du premier item de la liste ordonnée. Par défaut, il s'agit du numéro 1. Noter que bien que numérique, la valeur de cet attribut pourra correspondre à un libellé non numérique. Ainsi, lorsque le style des items indique les lettres majuscules latines (A, B, C, ...), start=3 signifiera "C" ; lorsque le style indique les nombres romains en minsucules, start=3 signifiera "iii" ; et ainsi de suite.
value = nombre [CN]
Déprécié. Pour LI uniquement. Cet attribut fournit le numéro de l'item concerné. Noter que bien que numérique, la valeur de cet attribut pourra correspondre à un libellé non numérique (voir l'attribut start).
compact [CI]
Déprécié. Si il est spécifié, cet attribut booléen fournit, aux agents utilisateurs visuels, le conseil de représenter la liste d'une manière aussi compacte que possible. L'interprétation de cet attribut dépend de l'agent utilisateur.

Attributs définis par ailleurs

Les listes ordonnées et les listes non ordonnées sont représentées à l'identique à l'exception de la numérotation automatique des items d'une liste ordonnée par l'agent utilisateur visuel. La manière de représenter ces numéros est libre pour l'agent utilisateur, et de nombreuses variantes existent. Les items des listes non ordonnées ne sont pas numérotés.

Ces deux types de liste sont constitués d'une suite d'items spécifiés par l'élément LI (pour lequel, la balise fermante peut être omise).

Cet exemple illustre la structure fondamentale d'une liste :

<UL>
   <LI> ... premier item de la liste ...
   <LI> ... deuxième item de la liste ...
   ...
</UL>

Les listes peuvent également être imbriquées :

Exemple déprécié :

<UL>
     <LI> ... niveau un, numéro un ...
     <OL> 
        <LI> ... niveau deux, numéro un...
        <LI> ... niveau deux, numéro deux...
        <OL start="10"> 
           <LI> ... niveau trois, numéro un...
        </OL> 
        <LI> ... niveau deux, numéro trois ...
     </OL> 
     <LI> ... niveau un, numéro deux ...
</UL>

Voici des détails la numérotation. Dans les listes ordonnées, il n'est pas possible ni de poursuivre automatiquement la numérotation d'une liste précédente, ni de masquer le numéro de certains éléments de la liste. Toutefois, les auteurs peuvent modifier le numéro de départ d'un item de la liste par le biais de l'attribut value. La numérotation partira de ce nouveau numéro pour numéroter les items de la liste placés après ce nouveau numéro. Par exemple :

<ol>
<li value="30"> donne à cet item le numéro 30.
<li value="40"> donne à cet item le numéro 40.
<li> et du coup, cet item aura le numéro 41.
</ol>

10.3 Liste de définitions : les éléments DL, DT, et DD

<!-- liste de définitions  - DT pour le terme, DD pour la description -->

<!ELEMENT DL - - (DT|DD)+              -- liste de définitions -->
<!ATTLIST DL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante: obligatoire, balise fermante : obligatoire

<!ELEMENT DT - O (%inline;)*           -- terme défini -->
<!ELEMENT DD - O (%flow;)*             -- définition du terme -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, balise fermante : optionnelle

Attributs définis par ailleurs

Les listes de définitions diffèrent légèrement des autres types de liste, dans la mesure où les items sont constitués de deux parties : un terme, et sa définition. Le terme est spécifié par le biais d'un élément DT et son contenu est restreint au type en-ligne. La définition est une description spécifiée par le biais d'un élément DD qui lui peut avoir un contenu de type bloc.

Voici un exemple :

  
<DL>
  <DT>Dweeb
  <DD>young excitable person who may mature
    into a <EM>Nerd</EM> or <EM>Geek</EM>

  <DT>Hacker
  <DD>a clever programmer

  <DT>Nerd
  <DD>technically bright but socially inept person

</DL>

L'exemple suivant contient plusieurs termes et plusieurs définitions :

<DL>
   <DT>Center
   <DT>Centre
   <DD> A point equidistant from all points
              on the surface of a sphere.
   <DD> In some field sports, the player who
              holds the middle position on the field, court,
              or forward line.
</DL>

Une autre utilisation possible pour une liste DL, par exemple, peut consister à marquer des dialogues, avec chaque élément DT contenant le nom de la personne, et avec chaque élément DD contenant ses paroles.

10.3.1 Rendu visuel des listes

Nota. Cette section est une description, pour information, du comportement suivi par les agents utilisateurs visuels courants lorsqu'ils représentent les listes. Les feuilles de style permettent un contrôle plus fin de cette restitution (par exemple : la numérotation, les conventions liées à la langue, le retrait, etc.).

Les agents utilisateurs visuels placent les listes en retrait en fonction de leur profondeur respective d'imbrication.

Pour les deux types de liste, non ordonnée avec l'élément UL et ordonnée avec l'élément OL, l'attribut type spécifie les options de rendu pour les agents utilisateurs visuels.

Pour le type de liste ordonnée avec l'élément UL, les valeurs possibles pour l'attribut type sont disc (un disque), square (un carré), et circle (un cercle). La valeur par défaut dépendra du niveau d'imbrication de la liste concernée. Ces valeurs ne sont pas sensibles à la casse.

La manière de répresenter ces valeurs dépend de l'agent utilisateur. Les agents utilisateurs devraient tenter de représenter 'disc' par un petit cercle plein, 'circle' par le contour d'un petit cercle, et 'square' par le contour d'un petit carré.

Un agent utilisateur graphique pourraient utilisé :

A possible rendering of a discpour la valeur 'disc'
A possible rendering of a circlepour la valeur 'circle'
A possible rendering of a squarepour la valeur 'square'

Pour l'élément OL, les valeurs possibles pour l'attribut type sont résumées dans le tableau ci-dessous (elles sont sensibles à la casse) :

Type Style de numérotation
1 nombres arabes 1, 2, 3, ...
a lettres de l'alphabet en minuscule a, b, c, ...
A lettres de l'alphabet en majuscule A, B, C, ...
i nombres romains en minuscule i, ii, iii, ...
I nombres romains en majuscule I, II, III, ...

Notez que l'attribut type est déprécié et que les styles de liste devraient être gérés par le biais des feuilles de style.

Par exemple, en utilisant CSS, il est possible de spécifier que le style de la numérotation pour les items d'une liste ordonnée sera des nombres romains en minuscule. Ainsi, l'extrait ci-dessous chaque élément OL appartenant à la classe "withroman" aura cette caractéristique.

<STYLE type="text/css">
OL.withroman { list-style-type: lower-roman }
</STYLE>
<BODY>
<OL class="withroman">
<LI> première étape ...  
<LI> deuxième étape ...
</OL>
</BODY>

La représentation d'une liste de définitions dépend également de l'agent utilisateur. L'exemple :

<DL>
  <DT>Dweeb
  <DD>young excitable person who may mature
    into a <EM>Nerd</EM> or <EM>Geek</EM>

  <DT>Hacker
  <DD>a clever programmer

  <DT>Nerd
  <DD>technically bright but socially inept person
</DL>

peut être représenté comme suit :

Dweeb
       young excitable person who may mature into a Nerd or Geek
Hacker
       a clever programmer
Nerd
       technically bright but socially inept person

10.4 Les éléments DIR etMENU

Les éléments DIR et MENU sont déprécié.

Voir la rubrique Transitional DTD pour avoir leur ancienne définition.

Attributs définis par ailleurs

L'élément DIR était prévu pour pouvoir créer des listes multicolonne de répertoires. L'élément MENU était prévu pour pouvoir créer une liste de menus sur une seule colonne. Ces deux éléments ont la mê structure que l'élément UL, avec juste une représentation différente. En pratique, un agent utilisateur représentera une liste issue d'un élément DIR ou MENU exactement comme une liste d'un élément UL.

Il est fortement recommandé d'utiliser l'élément UL à la place de ces éléments DIR ou MENU.