Paginering
Dokumentation och exempel för att visa paginering för att indikera att en serie relaterat innehåll finns på flera sidor.
Vi använder ett stort block med anslutna länkar för vår paginering, vilket gör länkar svåra att missa och lätt skalbara – allt samtidigt som vi tillhandahåller stora träffområden. Paginering är byggd med lista med HTML-element så att skärmläsare kan meddela antalet tillgängliga länkar. Använd ett omslagselement <nav>
för att identifiera det som ett navigeringsavsnitt för skärmläsare och andra hjälpmedel.
Dessutom, eftersom sidor sannolikt har mer än ett sådant navigeringsavsnitt, är det tillrådligt att tillhandahålla en beskrivande aria-label
för <nav>
att återspegla dess syfte. Om sidnumreringskomponenten till exempel används för att navigera mellan en uppsättning sökresultat kan en lämplig etikett vara 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>
Vill du använda en ikon eller symbol i stället för text för några sideringslänkar? Se till att tillhandahålla korrekt skärmläsarstöd med aria
attribut och .sr-only
verktyget.
<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>
<span class="sr-only">Previous</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>
<span class="sr-only">Next</span>
</a>
</li>
</ul>
</nav>
Pagineringslänkar är anpassningsbara för olika omständigheter. Använd .disabled
för länkar som verkar oklickbara och .active
för att indikera den aktuella sidan.
Medan .disabled
klassen pointer-events: none
försöker inaktivera länkfunktionen för s<a>
, är den CSS-egenskapen ännu inte standardiserad och tar inte hänsyn till tangentbordsnavigering. Som sådan bör du alltid lägga tabindex="-1"
till inaktiverade länkar och använda anpassad JavaScript för att helt inaktivera deras funktionalitet.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<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="#">2 <span class="sr-only">(current)</span></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>
Du kan valfritt byta ut aktiva eller inaktiverade ankare mot <span>
, eller utelämna ankaret i fallet med föregående/nästa pilar, för att ta bort klickfunktionalitet och förhindra tangentbordsfokus samtidigt som du behåller avsedda stilar.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<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"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
Vill du ha större eller mindre paginering? Lägg till .pagination-lg
eller .pagination-sm
för ytterligare storlekar.
<nav aria-label="...">
<ul class="pagination pagination-lg">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">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>
</ul>
</nav>
<nav aria-label="...">
<ul class="pagination pagination-sm">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">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>
</ul>
</nav>
Ändra justeringen av sideringskomponenter med flexbox-verktyg .
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<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"><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>
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
<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"><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>