The US Web Design System's usability guidance on pagination is very thorough. Some brief highlights:
<nav>
and use an unordered list for individual items. The <nav>
tag should have an aria-label
attribute, and the label should serve to distinguish this from the main navigation menu.aria-current="page"
on the current page link. Do not write the current page as plain text without a link; this breaks the ARIA labeling pattern.aria-label="page [N]"
to prefix the numeric page number with the word "page" (that is, do not allow the page numbers to be read as a sequence of numbers without context)aria-label="last page, page [N]"
on the link to the last page