Communitygithub.com

Système de Pagination

Concevoir et implémenter un cadre systématique pour naviguer dans de grandes collections de contenu, garantissant une orientation claire, une accessibilité et un parcours efficace.

Qu'est-ce que Système de Pagination ?

Cette compétence de pagination fournit une méthodologie complète pour diviser de grands ensembles de données en pages discrètes, aidant les utilisateurs à parcourir des listes d'articles (produits, résultats de recherche, articles) tout en maintenant une claire perception de leur position et du volume de contenu restant. Elle équilibre la précision de navigation avec la simplicité, minimisant la charge cognitive et prévenant la désorientation. La compétence prend en charge la conception de pages de résultats de recherche, l'organisation d'archives de blogs, la mise en œuvre de pagination numérotée ou 'Load More', et la navigation dans des tableaux de données ou formulaires multi-étapes. Elle couvre les workflows de définition de la stratégie de plage (simple, modérée, complexe), la conception des contrôles de navigation (boutons Précédent/Suivant, indicateur de page courante), l'application d'espacement fluide (avec des cibles de 44x44px minimum, 24x24px selon WCAG 2.2), et l'établissement de l'accessibilité WCAG AA/AAA (utiliser `<nav>` avec `aria-label`, `aria-current="page"`, et des états désactivés programmatiques). La compétence inclut des règles de décision (numéros vs. 'Load More', maximum de 7 à 9 éléments, placement prévisible des boutons), des contraintes (responsivité sans débordement, hiérarchie visuelle), des schémas d'échec courants (cibles tactiles trop petites, état actif invisible, boucle clavier cassée, explosion mobile, étiquettes vagues), et des critères de validation (page courante distincte, navigation dans `<nav>`, cibles conformes aux normes d'accessibilité, gestion des états désactivés, comportement responsive, navigation au clavier, utilisation correcte des points de suspension).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/pagination-system

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Système de Pagination ?

Objectif

La compétence Système de Pagination fournit une méthodologie pour concevoir l'interface qui divise les grands ensembles de données en pages discrètes. Elle garantit que les utilisateurs peuvent parcourir de longues listes d'articles (produits, résultats de recherche, articles) tout en maintenant une perception claire de "où ils se trouvent" et "combien de contenu reste". Un système de pagination robuste équilibre la précision de navigation avec la simplicité, minimisant la charge cognitive et prévenant la désorientation.

Cas d'utilisation

  • Concevoir des pages de résultats de recherche pour des sites e-commerce ou des annuaires.
  • Organiser de longues archives de blogs ou de nouvelles.
  • Implémenter "Charger plus" vs. la pagination numérotée traditionnelle pour des hubs de contenu.
  • Créer une navigation pour des tableaux de données ou des journaux riches en données.
  • Optimiser des formulaires multi-pages ou des assistants pas à pas où des sections individuelles sont traitées comme des vues distinctes.

Quand NE PAS utiliser

  • Petits ensembles de données (<12 articles) : Si tout le contenu tient confortablement sur un ou deux écrans, la pagination ajoute des clics et une friction inutiles.
  • Contextes de défilement infini : Là où l'utilisateur explore des flux sociaux ou de nouvelles axés sur la découverte où les adresses de page spécifiques ne sont pas importantes (utiliser plutôt infinite-scroll-implementation).
  • Contenu narratif unique : Pour des articles ou des histoires qui suivent un flux linéaire où les liens "Précédent/Suivant" suffisent.

Entrées

  1. Nombre total d'articles : Combien d'articles total y a-t-il dans la collection ?
  2. Articles par page : Quelle est la densité standard (par exemple, 12, 24, 48 articles) ?
  3. Contexte de la page courante : Quelle page l'utilisateur consulte-t-il actuellement ?
  4. Contraintes d'affichage : Combien d'espace horizontal est disponible pour la barre de pagination (depuis responsive-grid-system) ?

Sorties

  1. Spécification de l'anatomie de la pagination : Styles visuels définis pour les numéros de page, les boutons Précédent/Suivant et les contrôles "Saut" (points de suspension).
  2. Matrice d'états : Traitements visuels pour les états Par défaut, Courant, Survol, Focus et Désactivé (par exemple, bouton "Précédent" à la Page 1).
  3. Stratégie responsive : Plan pour la façon dont la barre de pagination se réduit du Bureau (plage complète) au Mobile (vue compacte).
  4. Carte d'accessibilité : Définitions explicites des rôles ARIA, des étiquettes et des modèles d'interaction au clavier.

Workflow

1. Définir la stratégie de plage

Déterminer combien de numéros de page afficher à la fois en fonction du volume total :

  • Simple (3-5 pages) : Afficher tous les numéros de page.
  • Modéré (6-10 pages) : Afficher la première, la dernière et une fenêtre autour de la page courante.
  • Complexe (10+ pages) : Utiliser des points de suspension (...) pour représenter les plages ignorées (par exemple, 1 ... 4 5 6 ... 20).

2. Concevoir les contrôles de navigation

Établir la hiérarchie visuelle de la barre de pagination :

  • Actions primaires : Les boutons Précédent et Suivant doivent être clairement visibles et situés aux extrémités de la barre.
  • Indicateur de page courante : Utiliser un style à contraste élevé (couleur de fond ou bordure épaisse) pour rendre la page courante immédiatement évidente.
  • Numéros de page : S'assurer qu'ils ressemblent à des éléments interactifs (par exemple, en utilisant le interactive-state-system).

3. Appliquer un espacement et un dimensionnement fluides

Utiliser le fluid-spacing-system pour garantir que les cibles sont utilisables :

  • Cibles tactiles : Chaque numéro de page et bouton doit mesurer au moins 44x44 px ; si la densité visuelle nécessite des contrôles plus petits, la norme WCAG 2.2 (2.5.8 Taille minimale des cibles) fixe un seuil absolu de 24x24 px avec un espacement adéquat entre les cibles pour éviter les activations accidentelles.
  • Écarts internes : Utiliser un espacement cohérent (par exemple, --space-xs) entre les numéros de page pour éviter les clics erronés.

4. Établir l'accessibilité (WCAG AA/AAA)

  • Point de repère : Envelopper la pagination dans un élément <nav> avec aria-label="pagination".
  • Page courante : Utiliser aria-current="page" sur le lien de la page active.
  • États désactivés : S'assurer que le bouton "Précédent" est visuellement et programmatiquement désactivé (par exemple, aria-disabled="true") lorsqu'il est sur la première page.
  • Parcours clavier : Les utilisateurs doivent pouvoir naviguer avec Tab à travers chaque numéro de page et contrôle, et le contrôle focalisé ne doit jamais être complètement caché par des en-têtes/pieds de page collants (WCAG 2.2, 2.4.11 Focus non masqué).

5. Planifier les adaptations responsive

Cartographier la transition du bureau au mobile :

  • La règle de réduction : Sur mobile, masquer la plupart des numéros de page et n'afficher que "Précédent", "Suivant" et le statut courant (par exemple, "Page 4 sur 20").
  • Échelle visuelle : Si les numéros de page doivent rester, réduire la "fenêtre" à la page courante et à ses voisins immédiats (par exemple, 1 ... 4 ... 20).

Règles de décision

  • Numéros vs. Charger plus : Utiliser des numéros lorsque les utilisateurs ont besoin de mettre en favori ou de partager des résultats spécifiques (par exemple, "Voir page 4"). Utiliser "Charger plus" lorsque l'objectif est une découverte et une comparaison prolongées.
  • Le maximum "7 articles" : Sur bureau, éviter d'afficher plus de 7 à 9 articles dans la barre de pagination (y compris les points de suspension et les boutons) pour garder la mise en page propre.
  • Prévisibilité : Toujours garder "Précédent" à gauche et "Suivant" à droite. Ne jamais masquer ces boutons ; les désactiver simplement lorsqu'ils ne sont pas applicables.
  • Retour immédiat : Cliquer sur un numéro de page doit immédiatement faire défiler l'utilisateur vers le haut de la liste de contenu ou fournir un état de "chargement" clair.

Contraintes

  • Accessibilité : La pagination doit être navigable au clavier et compatible avec les lecteurs d'écran. Les étiquettes doivent être descriptives (par exemple, "Aller à la page 5" au lieu de simplement "5"). Les cibles interactives doivent respecter au moins le minimum de 24x24 px de la WCAG 2.2 (2.5.8), avec 44x44 px préféré pour les contrôles primaires Précédent/Suivant.
  • Responsivité : La barre de pagination ne doit jamais provoquer de débordement horizontal ni chevaucher d'autres éléments de l'interface utilisateur.
  • Hiérarchie visuelle : La pagination doit être visuellement distincte du contenu mais pas plus proéminente que le contenu lui-même.

Schémas d'échec courants

  • Cibles tactiles minuscules : Petits numéros regroupés impossibles à taper avec précision sur mobile.
  • État actif invisible : Les utilisateurs ne savent pas sur quelle page ils se trouvent car le style "Actif" est trop subtil.
  • Boucle clavier cassée : Oublier de gérer le focus lorsque le contenu de la page est mis à jour via AJAX (l'utilisateur doit être déplacé vers le haut des résultats).
  • "L'explosion mobile" : Essayer d'afficher 10 numéros de page sur un écran mobile, provoquant un défilement horizontal ou une rupture de mise en page.
  • Étiquettes vagues : Utiliser uniquement des numéros sans aria-labels, rendant difficile pour les utilisateurs de lecteurs d'écran de comprendre le contexte.

Critères de validation

  • La page courante est visuellement distincte et possède aria-current="page".
  • La navigation est enveloppée dans un <nav> avec un aria-label descriptif.
  • Les cibles tactiles respectent au moins le minimum de 24x24 px de la WCAG 2.2 (44x44 px pour les contrôles primaires Précédent/Suivant).
  • Les états désactivés (Précédent à la Page 1, Suivant à la Dernière Page) sont clairs et définis programmatiquement.
  • Le comportement responsive est défini (vue compacte pour mobile).
  • Les utilisateurs au clavier peuvent naviguer dans toute la barre de pagination.
  • Les points de suspension sont utilisés correctement pour les grandes plages.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Skills associés