Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Note |
---|
Pagination is part of a larger ‘list controls' discussion that hasn’t concluded yet. |
...
Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.
Usage
Do’s
Use when there are too many results to show on a single page.
Your content can be logically split and splitting won’t cause context to be lost
Don’t
Paginate small lists
Anatomy
...
Item | Type | Notes |
---|---|---|
1 | Link (icon link) |
|
2 | Link |
|
3 | Truncation |
|
Note |
---|
I’m unsure from Ben’s designs what the behaviour of Truncation and ellipsis are. |
Key Content
Item | Type | Notes |
Link |
| |
Link |
| *for the current page |
Link |
| |
Button | Alt text |
|
Nav | aria-label |
|
<nav> |
|
Behaviour
Pagination should be an <ol> wrapped in <nav>
Non JS
I don’t think there is a non-JS version of pagination
Pagination could the non-JS fallback for other list types.
Links will navigate you to a new page
Links open in the same window
The current page number is highlighted as the active page number
Truncation rules:
TDB
Editorial
N/A
Accessibility
As a user:
I should be able to navigate by keyboard.
I should be able to know that there is a pagination navigation when scanning the page with a screen reader.
Each navigation item should be read as "Goto Page 1".
I need to know which element is currently active.
I need to navigate with Next and Previous links.
...
Info |
---|
Possible update: To make pagination even more accessible, should be consider using “Previous“ and “Next“ labels in stead of chevrons? |
Analytics & Data
N/A
Related/Similar Components
List controls
Load more
Carousel
Future Expansion
N/A
Wider Conversations that may impact this
Lists: Where controls and logic for lists sit
Inspiration from elsewhere
...
Examples
...