📃 Le cours : organiser en listes
Les listes sont partout : menus de navigation, plans, étapes d'une recette, résultats d'une recherche. En HTML elles ont un sens : un lecteur d'écran annonce « liste de 3 éléments » et permet de passer d'un élément à l'autre. Une suite de lignes séparées par des <br> n'offre rien de tel.
Liste à puces ou numérotée ?
Pose-toi la question : si l'on change l'ordre des éléments, est-ce que le sens change ? Les étapes d'une procédure ou un classement s'écrivent avec <ol> ; des ingrédients, des langages, des liens avec <ul>. Les puces et les numéros sont ensuite de la décoration, réglée en CSS.
Règles de construction
- Les seuls enfants directs d'un
<ul> ou d'un <ol> sont des <li>.
- Un
<li> peut contenir n'importe quoi : du texte, un lien, une image, des paragraphes, une autre liste.
- Chaque
<li> se ferme avec </li> (c'est facultatif pour le navigateur, mais c'est plus clair).
Numérotation d'une liste ordonnée
start choisit le premier numéro, reversed inverse l'ordre, type change le style (1, a, A, i, I). On peut même forcer un numéro avec <li value="10">.
<ol start="3" type="a">
<li>Troisième lettre : c</li>
<li>Quatrième lettre : d</li>
</ol>
<ol reversed>
<li>Trois</li>
<li>Deux</li>
<li>Un</li>
</ol>
Renduc. Troisième lettre : c
d. Quatrième lettre : d
3. Trois
2. Deux
1. Un
Listes imbriquées
Pour faire un plan à plusieurs niveaux, place la sous-liste à l'intérieur du <li> auquel elle se rattache, après son texte (voir la deuxième carte). Les navigateurs adaptent le style des puces selon le niveau.
Un menu de navigation est une liste
Les menus sont des listes de liens dans un <nav>. Ensuite, le CSS enlève les puces (list-style: none) et aligne les éléments en ligne (voir Flexbox). Garder une vraie liste donne au menu sa structure pour les lecteurs d'écran.
<nav aria-label="Menu principal">
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="cours.html">Cours</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
Listes de descriptions : dl, dt, dd
<dl> regroupe des paires terme / description : glossaire, questions-réponses, fiche technique. Chaque <dt> (terme) est suivi d'un ou plusieurs <dd> (descriptions).
Mettre en forme les listes avec CSS
| Besoin | Propriété CSS |
| supprimer les puces | list-style: none; |
| changer la puce | list-style-type: square; (cercle, disque, carré, decimal, lower-alpha…) |
| retirer le retrait à gauche | padding-left: 0; |
| aligner en ligne un menu | display: flex; sur le <ul> |