## Disabled and active states
-Links are customizable for different circumstances. Use `.disabled` for unclickable links and `.active` to indicate the current page.
+Pagination links are customizable for different circumstances. Use `.disabled` for links that appear un-clickable and `.active` to indicate the current page.
-{% callout warning %}
-#### Link functionality caveat
-
-The `.disabled` class uses `pointer-events: none` to try to disable the link functionality of `<a>`s, but that CSS property is not yet standardized. In addition, even in browsers that do support `pointer-events: none`, keyboard navigation remains unaffected, meaning that sighted keyboard users and users of assistive technologies will still be able to activate these links. So to be safe, add a `tabindex="-1"` attribute on these links (to prevent them from receiving keyboard focus) and use custom JavaScript to disable their functionality.
-{% endcallout %}
+While the `.disabled` class uses `pointer-events: none` to _try_ to disable the link functionality of `<a>`s, that CSS property is not yet standardized and doesn't account for keyboard navigation. As such, you should always add `tabindex="-1"` on disabled links and use custom JavaScript to fully disable their functionality.
{% example html %}
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1" aria-label="Previous">
- <span aria-hidden="true">«</span>
- <span class="sr-only">Previous</span>
- </a>
+ <a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
+ <li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item active">
- <a class="page-link" href="#">1 <span class="sr-only">(current)</span></a>
+ <a class="page-link" href="#">2 <span class="sr-only">(current)</span></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="#">4</a></li>
- <li class="page-item"><a class="page-link" href="#">5</a></li>
<li class="page-item">
- <a class="page-link" href="#" aria-label="Next">
- <span aria-hidden="true">»</span>
- <span class="sr-only">Next</span>
- </a>
+ <a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
- <span class="page-link" aria-label="Previous">
- <span aria-hidden="true">«</span>
- <span class="sr-only">Previous</span>
+ <span class="page-link">Previous</span>
+ </li>
+ <li class="page-item"><a class="page-link" href="#">1</a></li>
+ <li class="page-item active">
+ <span class="page-link">
+ 2
+ <span class="sr-only">(current)</span>
</span>
</li>
- <li class="page-item active"><span class="page-link">1 <span class="sr-only">(current)</span></span></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>
{% endexample %}