Pagination is the process of splitting information over multiple pages instead of showing it all on a single page; also the name for the interface component used for navigating between these pages.
Component
Pagination
61 examples
Pagination
A11Y Style Guide
- jQuery
- Code examples
- Usage guidelines
- Accessibility
- Unmaintained
- Open source
Pagination
Ant Design
Ant Financial
- React
- Code examples
- Accessibility issues
- Open source
Pagination
Atlassian Design System
- React
- Code examples
- Usage guidelines
- Tone of voice
- Accessibility
Pagination
Aurora
Government of Canada
- CSS
- Code examples
- Tone of voice
- Open source
- Unmaintained
Pagination
Backpack
Skyscanner
- Mobile
- React
- Code examples
- Usage guidelines
- Open source
- Tone of voice
Pagination
Base Web
Uber
- React
- CSS-in-JS
- Code examples
- Usage guidelines
- Open source
Numbered pagination
BBC Global Experience Language
- Accessibility
- Usage guidelines
- Unmaintained
Pagination
Bolt Design System
Pegasystems
- Sass
- Twig
- Web Components
- Code examples
- Tone of voice
- Open source
Content pagination
Bolt Design System
Pegasystems
- Sass
- Twig
- Web Components
- Code examples
- Tone of voice
- Open source
Pagination
Bootstrap
- Sass
- Code examples
- Accessibility
- Open source
Pagination
Bulma
- Sass
- Code examples
- Accessibility issues
- Open source
Pagination
Carbon Design System
IBM
- React
- Vanilla JS
- Angular
- Vue
- Svelte
- Web Components
- Code examples
- Usage guidelines
- Open source
Pagination
Cauldron
Deque
- React
- CSS
- Code examples
- Usage guidelines
- Accessibility
- Open source
Pagination
Cedar
Recreational Equipment, Inc.
- Vue
- Sass
- CSS Modules
- Usage guidelines
- Code examples
- Open source
Pagination
Crayons
Freshworks
- Web Components
- Code examples
- Open source
Pagination
Dell Design System
- Vanilla JS
- Code examples
- Usage guidelines
Pagination
eBay MIND Patterns
- Accessibility
- Usage guidelines
- Open source
Pagination
eBay Playbook
- HTML
- React
- Code examples
Pagination
Elastic UI framework
Elastic
- React
- Sass
- Code examples
- Open source
Pagination
Elisa Design System
- React
- Usage guidelines
- Code examples
- Accessibility
Pagination
Evergreen
Segment
- React
- Open source
Pagination
Flowbite
- Tailwind CSS
- Open source
- Code examples
Pagination
Geist Design System
Vercel
- React
- Code examples
Pagination
giffgaff design system
- Usage guidelines
- Code examples
Pagination
Helios
Hashicorp
- Ember
- Sass
- Code examples
- Usage guidelines
- Accessibility
- Open source
Pagination
Instructure-UI
Instructure
- React
- CSS-in-JS
- Code examples
- Accessibility
- Open source
Pagination
Luna
Sainsbury’s
- React
- Sass
- Usage guidelines
- Code examples
- Tone of voice
Pagination
Momentum Design
Cisco
- React
- Sass
- Code examples
- Usage guidelines
- Open source
Pagination
Morningstar Design System
- Vue
- Usage guidelines
Pagination
NextUI
- React
- CSS-in-JS
- Code examples
- Open source
Pagination
NHS Digital service manual
- Nunjucks
- Code examples
- Usage guidelines
- Research
- Tone of voice
- Open source
Pagination
ONS Design System
Office for National Statistics
- HTML
- Nunjucks
- Sass
- Code examples
- Usage guidelines
- Accessibility
- Open source
Pagination
Orbit
Kiwi.com
- React
- CSS-in-JS
- Usage guidelines
- Open source
- Code examples
- Tone of voice
Pagination
Oxygen
Repsol
- HTML
- Code examples
- Usage guidelines
Pagination
Pajamas
GitLab
- Vue
- Usage guidelines
- Code examples
- Open source
Pagination
PatternFly
Red Hat
- React
- Sass
- Tone of voice
- Open source
- Usage guidelines
Pagination
Pharos
JSTOR
- Web Components
- Sass
- Usage guidelines
- Open source
- Code examples
- Accessibility
- Tone of voice
Pagination
Polaris
Shopify
- React
- Code examples
- Usage guidelines
- Accessibility
- Tone of voice
- Open source
Pagination
Porsche Design System
- Web Components
- Angular
- React
- Vue
- Code examples
- Open source
Pagination
Primer
GitHub
- React
- Code examples
- Open source
Pagination
Quasar Framework
- Vue
- Accessibility issues
- Code examples
- Open source
Pagination
Ruter Components
- React
- Code examples
- Unmaintained
Pagination
shadcn/ui
- React
- Tailwind CSS
- Code examples
- Open source
Pagination
Source
The Guardian
- React
- Code examples
- Usage guidelines
- Open source
Pagination
Spark Design System
Quicken Loans
- React
- Angular
- Code examples
- Usage guidelines
- Open source
- Unmaintained
Pagination
Stacks
Stack Overflow
- Stimulus
- Code examples
- Usage guidelines
- Tone of voice
- Open source
Pagination
Vattenfall Design System
- HTML
- jQuery
- Sass
- Code examples
- Open source
Pagination
W3C design system
- Sass
- Vanilla JS
- Code examples
- Usage guidelines
- Open source
- Accessibility
Pagination
Wanda
Wonderflow
- React
- CSS Modules
- Code examples
- Open source
Pagination
Workday Canvas Design System
- React
- Usage guidelines
- Accessibility
- Tone of voice
- Open source
Description
The most basic form of pagination controls are simple 'next' and 'previous' buttons. More complex solutions may include links to specific page numbers and/or the first and last pages.
Markup
Here is example mark up for pagination on a blog article listing page. This example uses links to specific, numbered pages; the user is currently on /blog?p=2
, the second page of results:
<nav aria-label="Pagination">
<ul>
<li><a href="/blog">1</a></li>
<li aria-current="page">2</li>
<li><a href="/blog?p=3">3</a></li>
</ul>
</nav>
As pagination is a form of navigation it should be wrapped in a
<nav>
element. Important note: You may come across examples whererole="navigation"
is placed directly to theul
element itself (e.g. this example from the Yale UI Style Guide). This is incorrect as the navigation role overrides the list semantics of theul
as well as theli
items inside.1Add a meaningful label such as
aria-label="Pagination"
to the<nav>
element to differentiate it from other navigation landmarks (such as your main site navigation, or breadcrumbs).Add the
aria-current="page"
attribute to the list item which represents the current page. As clicking on a link to the current page would do nothing but trigger a page reload, it's common for the link to be excluded here.
You can enhance the experience for users of assistive technology further by adding an accessible label to each item. Two possible ways of doing this are:
By using the
aria-label
attributeBy including text which is visually hidden, but still gets announced by screen readers (in the following example, this is done using the class,
visually-hidden
).
<!-- Users of screen readers will hear "Page 2" -->
<li>
<a href="/blog?p=2" aria-label="Page 2">2</a>
</li>
<!-- Users of screen readers will hear "Current page, page 3" -->
<li aria-current="page">
<span class="visually-hidden">Current page, page </span>3
</li>