Composant · Navigation
TableOfContents
DocumentéTableOfContents affiche une table d’ancres structurée avec
niveaux hiérarchiques. Idéal pour guider la navigation verticale des longues pages.
Présentation
Présentation
Sur cette page
Voir le code (Svelte)
<TableOfContents
items={[{"id":"intro","label":"Intro","level":1},{"id":"usage","label":"Utilisation","level":1},{"id":"nested","label":"Niveau 2","level":2},{"id":"api","label":"API","level":1},{"id":"acc","label":"Accessibilité","level":1}]}
title="Sur cette page"
activeId="intro"
/>Cas d’usage
Cas d’usage
Voir le code (Svelte)
<TableOfContents
items={[{"id":"intro","label":"Intro","level":1},{"id":"usage","label":"Utilisation","level":1},{"id":"nested","label":"Niveau 2","level":2},{"id":"api","label":"API","level":1},{"id":"acc","label":"Accessibilité","level":1}]}
title="Sommaire"
activeId="usage"
/>L’identifiant actif est purement déclaratif (via activeId) dans cette version.
Les ancres sont générées avec href="#<id>".
Hiérarchie
Sommaire hiérarchique
Sommaire hiérarchique
Voir le code (Svelte)
<TableOfContents
items={[{"id":"intro","label":"Intro","level":1},{"id":"usage","label":"Utilisation","level":1},{"id":"nested","label":"Niveau secondaire","level":2},{"id":"api-3","label":"Niveau tertiaire","level":3},{"id":"api","label":"API","level":1}]}
title="Sommaire hiérarchique"
activeId="intro"
/>Les niveaux inférieurs gagnent une indentation visuelle.
API
| Prop | Type | Défaut | Effet |
|---|---|---|---|
items | TableOfContentsItem[] | obligatoire | Pivots du sommaire |
activeId | string | obligatoire | Item actif visuel via aria-current |
title | string | "" | Intitulé optionnel du bloc |
Accessibilité
- Le conteneur expose un
navavecaria-labelexplicite. - Chaque entrée est un lien classique avec
href=#id. - Le repère actif porte
aria-current="location".
Type
Export Svelte: TableOfContentsItem contient id, label,
et level? (1 = racine, 2/3 = indentations).