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

Traducteur : J.J.Solari 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 Les listes

Sommaire

  1. Introduction aux listes
  2. Les listes non-ordonnées (UL), les listes ordonnées (OL) et les items de liste (LI)
  3. Les listes de définitions : les éléments DL, DT et DD
    1. La restitution visuelle des listes
  4. Les éléments DIR et MENU

10.1 Introduction aux listes

HTML offre aux auteurs plusieurs moyens pour établir des listes d'informations. Toutes les listes doivent contenir un élément de liste ou plus. Celles-ci peuvent présenter :

Par exemple, cette liste qui précède est une liste non-ordonnée qui a été crée à l'aide de l'élément UL :

<UL>
<LI>des informations non-ordonn&eacute;es ; 
<LI>des informations ordonn&eacute;es ;
<LI>des d&eacute;finitions. 
</UL>

La liste ordonnée, qui est créée à l'aide de l'élément OL, devrait contenir des informations dont l'ordonnancement revêt une certaine importance, comme dans une recette de cuisine :

  1. Mélanger tous les ingrédients secs ;
  2. Y verser les ingrédients humides ;
  3. Remuer pendant 10 minutes ;
  4. Cuire pendant 1 heure dans un four à 300 degrés.

La liste de définitions, qui est créée à l'aide de l'élément DL, consiste généralement en une succession de couples terme/définition (même si les listes peuvent avoir d'autres usages). Ainsi, on pourrait utiliser une liste de définitions pour la publicité d'un produit :

Un coût moindre
La nouvelle version de ce produit coûte infiniment moins que la précédente !
Encore plus facile à utiliser
Nous avons apporté des modifications au produit qui facilitent à l'extrême son utilisation !
Sans danger pour les petits
Vous pouvez laisser vos enfants dans une pièce, seuls avec ce produit, et ils ne se blesseront pas (sans garantie toutefois).

une liste qui serait définie en HTML par :

<DL>
<DT><STRONG>Un co&ucirc;t moindre</STRONG>
<DD>La nouvelle version de ce produit co&ucirc;te infiniment moins
que la pr&eacute;c&eacute;dente !
<DT><STRONG>Encore plus facile &agrave; utiliser</STRONG>
<DD>Nous avons apport&eacute; des modifications au produit
qui facilitent &agrave; l'extr&ecirc;me son utilisation !
<DT><STRONG>Sans danger pour les petits</STRONG>
<DD>Vous pouvez laisser vos enfants dans une pi&egrave;ce,
seuls avec ce produit, et ils ne se blesseront pas (sans garantie toutefois).
</DL>

On peut également imbriquer les listes et les utiliser ensemble, comme dans l'exemple suivant qui montre une liste de définitions contenant une liste non-ordonnée (les ingrédients) et une liste ordonnée (la marche à suivre) :

Les ingrédients :
La marche à suivre :
  1. Mélanger tous les ingrédients secs ;
  2. Y verser les ingrédients humides ;
  3. Remuer pendant 10 minutes ;
  4. Cuire pendant 1 heure dans un four à 300 degrés.
Remarques :
On peut varier la recette en y rajoutant des raisins secs.

La présentation exacte des trois listes dépend de l'agent utilisateur. Nous décourageons les auteurs d'utiliser les listes simplement comme un moyen pour placer le texte en retrait. C'est une affaire de style qui est du ressort des 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-ordonné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 = indication-de-style [CI]
Déconseillé. Cet attribut fixe le style d'un item de liste. Les valeurs disponibles actuellement sont destinées aux agents utilisateurs visuels. Les valeurs possibles sont décrites ci-dessous (avec leur information de casse).
start = nombre [CN]
Déconseillé. Seulement pour l'élément OL. Cet attribut spécifie le numéro initial du premier item dans une liste ordonnée. Le numéro initial par défaut est "1". Remarquez, tandis que la valeur de cet attribut est un entier, que le label correspondant peut ne pas être numérique. Ainsi, quand l'item de liste a un style de lettres latines en majuscule (A, B, C, ...), la déclaration « start=3 » signifie « C ». Quand l'item a un style de chiffres romains en minuscules, la déclaration « start=3 » signifie « iii », etc.
value = nombre [CN]
Déconseillé. Seulement pour l'élément LI. Cet attribut fixe le numéro de l'item de liste courant. Remarquez, tandis que la valeur de cet attribut est un entier, que le label correspondant peut être non-numérique. (voir l'attribut start).
compact [CI]
Déconseillé. Quand il est spécifié, cet attribut booléen indique aux agents utilisateurs de restituer la liste de manière plus compacte. L'interprétation de cet attribut dépend de l'agent utilisateur.

Attributs définis ailleurs

Les listes ordonnées et non-ordonnées sont restituées de manière identique, à l'exception de la numérotation des items des listes ordonnées par les agents utilisateurs visuels. Les agents utilisateurs peuvent présenter ces numéros de diverses façons. Les listes non-ordonnées ne sont pas numérotées.

Les deux types de liste sont constitués de séquences d'items de liste définis par l'élément LI (dont on peut omettre la balise fermante).

Cet exemple illustre la structure de base d'une liste.

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

Les listes peuvent aussi s'imbriquer :

EXEMPLE DÉCONSEILLÉ :

<UL>
     <LI> ... niveau 1, numéro 1...
     <OL> 
        <LI> ... niveau 2, numéro 1...
        <LI> ... niveau 2, numéro 2...
        <OL start="10"> 
           <LI> ... niveau 3, numéro 10...
        </OL> 
        <LI> ... niveau 2, numéro 1...
     </OL> 
     <LI> ... niveau 1, numéro 2...
</UL>

Détails sur l'ordre des numéros. Dans une liste ordonnée, il n'est pas possible de poursuivre automatiquement la numérotation de la liste à partir d'une liste précédente ou encore de cacher les numéros de certains items de liste particuliers. Cependant, les auteurs peuvent réinitialiser le numéro d'un item de liste en spécifiant son attribut value. La numérotation des items suivants se poursuit alors à partir de la nouvelle valeur. Par exemple :

<ol>
<li value="30"> cet item de liste a le numéro 30.
<li value="40"> cet item de liste a le numéro 40.
<li> cet item de liste a le numéro 41.
</ol>

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

<!-- liste de définitions - DT pour le terme, DD pour sa définition -->

<!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 de définition -->
<!ELEMENT DD - O (%flow;)*             -- description de définition -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Balise ouvrante : obligatoire, balise fermante : optionnelle

Attributs définis ailleurs

Les listes de définitions varient seulement de manière minime par rapport aux autres types de liste dans la mesure où les items de liste consistent en deux parties : un terme et une description. Le terme est donné par l'élément DT et se restreint à un contenu de type en-ligne. La description est donnée par un élément DD qui porte un contenu de type bloc..

En voici un exemple :

  
<DL>
  <DT>Dweeb
  <DD>Une jeune personne &eacute;motive qui peut &eacute;voluer
    en <EM>nerd</EM> ou en <EM>geek</EM>

  <DT>Hacker
  <DD>Un programmeur f&ucirc;t&eacute;

  <DT>Nerd
  <DD>Une personne techniquement brillante mais socialement inepte

</DL>

Voici un exemple avec des termes et descriptions multiples :

<DL>
   <DT>Centre
   <DT>Centre
   <DD> Un point &eacute;quidistant de tous les poinst
              &agrave; la surface d'une sph&egrave;re.
   <DD> Dans certains sports de champs, le joueur qui
              occupe la position centrale sur le terrain,
              le court ou la ligne centrale.
</DL>

Une autre application de l'élément DL serait, par exemple, pour le marquage d'un dialogue, chacun des éléments DT nommant un personnage et chacun des éléments DD en contenant les paroles.

10.3.1 La restitution visuelle des listes

Remarque : Ce qui suit représente la description informative des comportements de mise en forme des listes par certains agents utilisateurs visuels. Les feuilles de styles apportent un meilleur contrôle de la mise en forme des listes (par exemple, pour la numérotation, les conventions en rapport avec la langue, l'indentation, etc.).

Les agents utilisateurs visuels place généralement en retrait les listes imbriquées en fonction du niveau d'imbrication courant.

Pour les deux éléments OL et UL, l'attribut type indique les options de restitution aux agents utilisateurs visuels.

Pour l'élément UL, les valeurs possibles de l'attribut type sont "disc", "square" et "circle". La valeur par défaut dépend de la profondeur d'imbrication de la liste courante. Ces valeurs sont insensibles à la casse.

La façon dont chacune des valeurs est représentée dépend de l'agent utilisateur. Ceux-ci devraient essayer de représenter la valeur "disc" par un petit cercle plein, la valeur "circle" par le contour d'un petit cercle et "square" par le contour d'un petit carré.

Un agent utilisateur graphique pourrait les représenter comme ceci :

Restitution possible pour 'disc' pour la valeur "disc"
Restitution possible pour 'circle' pour la valeur "circle"
Restitution possible pour 'square' pour la valeur "square"

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

Type Style de numérotation
1 en chiffres arabes 1, 2, 3, ...
a alphabétique en minuscules a, b, c, ...
A alphabétique en majuscules A, B, C, ...
i en chiffres romains minuscules i, ii, iii, ...
I en chiffres romains majuscules I, II, III, ...

Remarquez que l'attribut type est déconseillé et que les styles des listes devraient être contrôlés par les feuilles de style.

Par exemple, en utilisant CSS, on peut spécifier que le style des numéros des items de liste devrait être en chiffres romains minuscules. Dans l'extrait suivant, chaque élément OL appartenant à la classe "romains" présentera des chiffres romains devant ses items de liste.

<STYLE type="text/css">
OL.romains { list-style-type: lower-roman;}
</STYLE>
<BODY>
<OL class="romains">
<LI> Numéro 1...  
<LI> Numéro 2...
</OL>
</BODY>

La restitution d'une liste de définitions dépend également de l'agent utilisateur. Ainsi, l'exemple :

<DL>
  <DT>Dweeb
  <DD>Une jeune personne &eacute;motive qui peut &eacute;voluer
    en un <EM>nerd</EM> ou un <EM>geek</EM>

  <DT>Hacker
  <DD>Un programmeur f&ucirc;t&eacute;

  <DT>Nerd
  <DD>Une personne techniquement brillante, mais socialement inepte
</DL>

celui-ci pourrait être restitué par :

Dweeb
       Une jeune personne émotive qui pourrait évoluer en nerd ou en geek
Hacker
       Un programmeur fûté
Nerd
       Une personne techniquement brillante, mais socialement inepte

10.4 Les éléments DIR et MENU

Les éléments DIR et MENU sont déconseillés.

Voir le DTD transitoire pour leur définition formelle.

Attributs définis ailleurs

L'élément DIR était conçu pour la création de listes de répertoires multicolonnes. L'élément MENU était conçu pour les listes de menu sur une seule colonne. Les deux éléments ont la même structure que l'élément UL, seule leur restitution diffère. En pratique, l'agent utilisateur restituera une liste DIR, ou MENU, exactement comme une liste UL.

Nous recommandons fortement d'utiliser l'élément UL à leur place.