Aller au contenu principal

Pagination (Pagination)

Utilisez la pagination pour parcourir une liste découpée en pages.

info

Ce composant est inclus dans l’offre Community.

InformationValeur
NiveauCommunity
Composants Twigdsfr:pagination

Usage

  • La page courante porte aria-current="page".
  • Les liens précédent et suivant exposent rel="prev" et rel="next".

Modes d'utilisation

Pagination · exemple principal
<twig:dsfr:pagination
currentPage="3"
totalPages="12"
urlPattern="/dossiers?page=%d"
/>

API publique

ComposantRôle
dsfr:paginationComposant principal de cette page.

Configuration

OptionTypeDéfaut / requisValeurs et usage
currentPageint|string1Page courante.
totalPagesint|string1Nombre total de pages.
urlPatternstring""Pattern sprintf, par exemple /page/%d.

Guide d'intégration

QuestionRéponse
Famille DSFRNavigation
Quand l'utiliserQuand l’usager doit se repérer, changer de section ou parcourir une liste de pages.
Quand éviterPour déclencher une action métier immédiate : utilisez plutôt un bouton.
API publiqueUtilisez uniquement les composants Twig listés sur cette page : dsfr:pagination.
Documentation DSFRConsultez aussi la bibliothèque officielle : Système de Design de l'État.
Pagination : options, accessibilité et rendu DSFR

Variantes de pagination

  • pagination avec attributs HTML pass-through pour id, class, data-* et aria-* quand le template le permet.

Points de contrôle propres à ce composant

  • La page courante porte aria-current="page".
  • Les liens précédent et suivant exposent rel="prev" et rel="next".

Accessibilité navigation

  • Le libellé de navigation doit être explicite avec ariaLabel ou un titre visible.
  • La page courante doit être indiquée avec active, current ou aria-current selon le composant.
  • Les panneaux contrôlés par JavaScript DSFR doivent avoir des id uniques et stables.

Intégration Symfony/Twig pour dsfr:pagination

  • Ajoutez vos attributs applicatifs (data-controller, data-action, aria-*, class) sur dsfr:pagination quand ils concernent son nœud racine.

Checklist de recette

  • navigation clavier complète
  • état actif visible
  • liaison aria-controls vers un élément existant
  • rendu vérifié en thème clair et sombre ;
  • rendu vérifié sur mobile, tablette et desktop ;
  • aucune erreur dans le profiler DSFR ni dans l'inspecteur d'accessibilité du navigateur.

Erreurs fréquentes

SymptômeCorrection
Les classes DSFR semblent incomplètesUtilisez les props du composant plutôt que des classes ajoutées à la main.