Listes

Conception avec des listes

Lorsqu'un lecteur d'écran rencontre une liste, il énonce l'information utile que les utilisateurs voyants captent d'un coup d'oeil : la présence d'une liste et le nombre d'éléments de la liste. Toutefois, pour être reconnaissable et navigable par les utilisateurs du lecteur d'écran, la liste doit utiliser le balisage sémantique approprié.

HTML fournit trois structures de liste, chacune comportant une sémantique spécifique:

  • Utiliser des listes non ordonnées (<ul>) lorsque l'ordre des éléments n'est pas pertinent. Chaque élément de liste (<li>) dans une liste non ordonnée est marqué d'une puce.
  • Utiliser les listes ordonnées (<ol>) pour l'information séquentielle. Chaque élément de liste (<li>) est numéroté par le navigateur.
  • Utiliser les listes de descriptions (<dl>) pour regrouper les termes associés(<dt>) et leurs descriptions (<dd>).

Les éléments de liste individuels peuvent contenir divers éléments HTML, y compris des paragraphes, des en-têtes, des éléments de forme et d'autres listes (imbriquées) – tout type de contenu de flux.

Évitez d'imbriquer plusieurs éléments enfants dans chaque élément de la liste, puisque les utilisateurs du lecteur d'écran peuvent perdre le fil de la liste elle-même.

Les listes non-ordonnées sont d'habitude utilisées pour contenir des menus horizontaux et verticaux (pour la navigation, les médias sociaux et puis n'importe quelle liste de liens). Les listes ordonnées sont souvent utilisées pour la navigation.

Liste non ordonnée

La liste non ordonnée comprend un élément <ul> et plusieurs éléments de liste (<li>):

  • Maïs
  • Tomates
  • Haricots
  • Oignons
  • Ail

HTML

<ul>
   <li>Maïs</li>
   <li>Tomates</li>
   <li>Haricots</li>
   <li>Oignons</li>
   <li>Ail</li>
</ul>

Liste ordonnée

La liste ordonnée comprend un élément <ol> et plusieurs éléments de liste (<li>):

Utilisez des listes ordonnées (<ol>) pour des renseignements séquentiels, lorsque l'ordre des éléments est pertinent. Chaque élément de liste (<li>) est numéroté par le navigateur.

  1. Cuire les haricots pendant 45 minutes.
  2. Couper les légumes en petits cubes.
  3. Faire sauter les oignons et l'ail.
  4. Déglacer avec les tomates.
  5. Ajouter le maïs et les haricots.

HTML

<ol>
   <li>Cuire les haricots pendant 45 minutes.</li>
   <li>Couper les légumes en petits cubes.</li>    
   <li>Faire sauter les oignons et l'ail.</li>
   <li>Déglacer avec les tomates.</li>
   <li>Ajouter le maïs et les haricots.</li>
</ol>

Listes imbriquées

Chaque liste peut être imbriquée dans une autre liste. Dans l'exemple suivant, l'ordre de préparation n'est pas critique, mais la préparation elle-même doit être effectuée avant d'utiliser les ingrédients. L'information est encore facile à assimiler, et la technologie d'assistance peut facilement informer les utilisateurs du nombre d'étapes.

  1. Préparer les ingrédients
    • Cuire les haricots pendant 45 minutes.
    • Couper les légumes en petits cubes.
  2. Faire sauter les oignons et l'ail.
  3. Déglacer avec les tomates.
  4. Ajouter le maïs et les haricots

HTML

<ol>
   <li>Préparer les ingrédients
      <ul>
         <li>Cuire les haricots pendant 45 minutes.</li>
         <li>Couper les légumes en petits cubes.</li>
      </ul> 
   </li>
   <li>Faire sauter les oignons et l'ail.</li>
   <li>Déglacer avec les tomates.</li>
   <li>Ajouter le maïs et les haricots.</li>
</ol>

Liste de descriptions

Une liste de descriptions comprend un ou plusieurs groupes de termes et de descriptions. Chaque regroupement associe un ou plusieurs termes (le contenu des éléments <dt>) à une ou plusieurs descriptions (le contenu des éléments <dd>).

Un regroupement commence soit avec le premier élément de la liste, soit chaque fois qu'un élément <dt> suit un élément <dd>.

Bon exemple 1 : Un terme, plusieurs descriptions

Dans l'exemple qui suit, John et Luke sont décrits comme auteurs et Frank comme éditeur.

Auteurs
John
Luke
Éditeur
Frank

HTML

<dl>  
   <dt>Auteurs</dt>
   <dd>John</dd>  
   <dd>Luke</dd>
   <dt>Éditeur</dt>  
   <dd>Frank</dd>
</dl>

CSS

dt { font-weight: 700; }
dd { margin-left: 30px; }

Bon exemple 2 : Termes multiples, une description

Dans cet exemple, Ian est à la fois producteur et réalisateur.

Producteur
Réalisateur
Ian
Écrivaine
Annie

HTML

<dl>
   <dt>Producteur</dt> 
   <dt>Réalisateur</dt>
   <dd>Ian</dd>  
   <dt>Écrivaine</dt>
   <dd>Annie</dd>
</dl>

CSS

dt { font-weight: 700; }
dd { margin-left: 30px; }

Bon exemple 3 : Termes multiples, descriptions multiples

Dans cet exemple, John et Luke sont des auteurs et également des éditeurs :

Auteurs
Éditeurs
John
Luke

HTML

<dl>
   <dt>Auteurs</dt> 
   <dt>Éditeurs</dt>
   <dd>John</dd>  
   <dd>Luke</dd>
</dl>

CSS

dt { font-weight: 700; }
dd { margin-left: 30px; }

Bon exemple 4 : Liste de description comme une liste de dfinition

Lorsque vous utilisez une liste de description pour définir des termes, immergez le terme dans un fichier de type d'élément <dfn>. Dans l'exemple suivant, deux variantes orthographiques d'un mot sont définies.

color
colour
A sensation which (in humans) derives from the ability of the fine structure of the eye to distinguish three differently filtered analyses of a view.

HTML

<dl>   
   <dt><dfn lang="en-US">color</dfn></dt>
   <dt><dfn lang="en-GB">colour</dfn></dt>
   <dd>A sensation which (in humans) derives from the ability of the fine structure of the eye to distinguish three differently filtered analyses of a view.</dd>
</dl>

CSS

dt { font-weight: 700; }
dd { margin-left: 30px; }

Ressources WCAG connexes

Ressources WCAG connexes

Critères de succès

Techniques


La description des trois types de liste est tirée du document Initiative d'accessibilité du Web (WAI): Structure du contenu (WAI) dans Tutoriel sur la structure des pages de Tutoriels sur l'accessibilité du Web.. Eric Eggert, Shadi Abou-Zahra, éd. Copyright © 2019 W3C (MIT, ERCIM, Keio). État d'avancement : Mise à jour le 27 juillet 2019. https://www.w3.org/WAI/tutorials/page-structure/content/

Haut de la page