Pagination is built with list HTML elements so screen readers can announce the number of available links. Use a wrapping <nav> element to identify it as a navigation section to screen readers.
In addition, as pages likely have more than one such navigation section, it’s advisable to provide a descriptive aria-label for the <nav> to reflect its purpose. For example, if the pagination component is used to navigate between a set of search results, an appropriate label could be aria-label="Search results pages".
<nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"><a class="page-link" href="#">Previous</a></li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">Next</a></li> </ul> </nav>
You can apply icon's or symbols in place of text for some pagination links
<nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"> <a class="page-link" href="#" aria-label="Previous"> <span aria-hidden="true">«</span> </a> </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> <a class="page-link" href="#" aria-label="Next"> <span aria-hidden="true">»</span> </a> </li> </ul> </nav>
Use .disabled for links that appear un-clickable and .active to indicate the current page.
<nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item "> <a class="page-link">Previous</a> </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"> <a class="page-link" href="#">2</a> </li> <li class="page-item"><a class="page-link active" href="#">3</a></li> <li class="page-item disabled"> <a class="page-link" href="#">Next</a> </li> </ul> </nav>
Bootstrap provide 3 sizes for pagination i.e. larger, default or smaller, Add .pagination-lg for large size, .pagination-sm for small size, no need to apply any size for default.
<nav aria-label="Page navigation example"> <ul class="pagination pagination-lg"> <li class="page-item active" aria-current="page"> <span class="page-link">1</span> </li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> </ul> </nav>
<nav aria-label="Page navigation example"> <ul class="pagination pagination-sm"> <li class="page-item active" aria-current="page"> <span class="page-link">1</span> </li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> </ul> </nav>
Change the alignment of pagination components with flexbox utilities
<nav aria-label="Page navigation example"> <ul class="pagination justify-content-center"> <li class="page-item"> <a class="page-link">Previous </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link active" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> <a class="page-link" href="#">Next</a> </li> </ul> </nav>
<nav aria-label="Page navigation example"> <ul class="pagination justify-content-end"> <li class="page-item"> <a class="page-link">Previous </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link active" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> <a class="page-link" href="#">Next</a> </li> </ul> </nav>