Skip to content
cccskills
FreePublished on GitHub

pagination

Use when implementing navigate through multiple pages of content.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md4.3 KB
  • references/pattern.md24.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Pagination

Navigate through multiple pages of content

What it solves

Pagination divides large content collections into manageable chunks or pages. Users navigate through data sets, search results, or product listings without getting overwhelmed by too much information at once. Pagination works well, but consider alternatives like infinite scroll or "Load More" buttons for certain content types. Your choice between pagination and infinite scroll depends on content nature, user behavior, and interface goals.

When to use

Use pagination when content needs structured, progressive loading for smoother user experience and better performance. Pagination helps users navigate large information sets without getting overwhelmed. Common scenarios include:

  • Content lists need browsing (search results, blog archives, product listings)
  • Page performance improves by loading smaller content segments
  • User clarity increases when large data sets become easier to navigate
  • Sequential content requires navigation (multi-page tutorials or articles)

When to avoid

  • All content fits better on a single page (short lists or summaries)
  • Infinite scroll or "load more" patterns suit the experience better
  • Users need continuous comparison between items on different pages

Implementation workflow

  1. Confirm the pattern matches the problem and constraints before copying the example.
  2. Start from the anatomy and examples in references/pattern.md, then choose the smallest viable variation.
  3. Apply accessibility, performance, and interaction guardrails before layering visual polish.
  4. Use the testing guidance to verify behavior across keyboard, screen reader, responsive, and failure scenarios.

Accessibility guardrails

ARIA Attributes

Required ARIA Attributes:

  • The container should use role="navigation" with an appropriate aria-label (e.g., "Pagination Navigation").
  • Each pagination item should include aria-labels indicating the respective page number.
  • Indicate the current page using aria-current="page".

Keyboard Interaction Pattern

The following table outlines the standard keyboard interactions for pagination components:

KeyAction
TabNavigate among pagination controls and page buttons

Performance guardrails

Target Metrics

Response Times:

  • Page change initiation: < 100ms after click
  • Content load start: < 200ms
  • Full page render: < 1000ms (ideal), < 2000ms (acceptable)
  • Animation duration: 200-300ms for transitions Data Loading:
  • Prefetch strategy: Load adjacent pages in background
  • Cache duration: 5 minutes for recently viewed pages
  • Request size: < 50KB per page of data

Common mistakes

No Indication of Total Pages

The Problem: Users can't gauge content size or their progress.

How to Fix It: Show total page count or items ("Page 3 of 12" or "Showing 21-30 of 120 items").

Missing Current Page Highlight

The Problem: Users lose track of their current page, especially after scrolling.

How to Fix It: Distinguish the active page with contrasting colors, borders, or size.

Tiny Click Targets

The Problem: Page numbers and controls are too small for easy clicking, especially on mobile.

How to Fix It: Use minimum 44x44px touch targets with adequate spacing between elements.

Related patterns


For full implementation detail, examples, and testing notes, see references/pattern.md.

Pattern page: https://uxpatterns.dev/patterns/navigation/pagination

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when implementing expand and collapse content sections.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing user account configuration and preferences.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing social activity and updates stream.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing conversational AI chat interfaces.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing handling AI-specific errors.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

Use when implementing loading states for AI operations.

The English summary is being prepared. Showing the original description.

thedaviddias/ux-patterns-for-developers266Updated Oct 5, 2026

See all skills by thedaviddias

Report a problem with this skill