Pagination splits content into smaller chunks across several pages, making it easier to consume.
Pagination only includes navigational elements for paging through the content and does not manipulate data or control the display of the content. It is used only to provide navigation and to indicate the current page and number of pages.
- To be used only for lists with more than 25 items
- Place pagination below the set of items it paginates through, aligned to the right side of the content being displayed
- When the first page is selected the "Previous" button is not displayed and, similarly, when the last page is selected the "Next" button is not displayed
- Don't use pagination on a transactional service or a form
Use the basic variant to navigate to different pages of large lists of items, and indicate which page you are currently viewing.
Use the jump-to-page variant when users need to navigate directly to a specific page in a long result set without stepping through every page.
Add the simple attribute to any variant for tighter layouts. It hides the
"Previous"/"Next" text (icon-only, chevrons remain) and, when combined with the jump-to-page
variant, also omits the first/last page buttons.
With the jump-to-page variant:
With the default variant:
1.3.1 Info and Relationships A
Pagination allows users to navigate multiple pages that are grouped together.
- Everything should be wrapped in the
<nav>tag <nav>should also have arole="navigation"to ensure that all assistive technologies will be given the information- You should add an aria-label that denotes this
<nav>element as pagination - List elements should be given an aria-label that gives more information. This should include "previous/next" and the page number.
<nav role="navigation" aria-label="pagination navigation">
<ul>
<li>
<a href="/example-page" aria-label="Go to previous/next page 1">
1
</a>
</li>
</ul>
</nav>
- Reads "Pagination navigation, go to (previous/next) page 1, list 1 of X, link"
- Tab: goes to next pagination number
- Shift + Tab: goes to the previous pagination number
- Enter: goes to selected page