Sayfalama pagination
bilinen diğer adları pagination · sayfa numaraları · sayfa gezinmesi
Böyle diyorsan: "alttaki 1 2 3 sayfa numaraları" · "önceki-sonraki okları" → bunun adı sayfalama.
Uzun listeyi sayfalara bölen numara/ok kontrolü.
Sayfalama, uzun bir listeyi parçalara bölüp aralarında gezinmeyi sağlar. Sonsuz kaydırmaya göre üstünlüğü kontroldür: kullanıcı kaçıncı sayfada olduğunu bilir, o sayfayı paylaşabilir, geri dönebilir ve listenin bir sonu olduğunu görür. Sonsuz kaydırmanın gizli bedeli ise alt bilgidir — kullanıcı sayfanın altına asla ulaşamaz, çünkü alt sürekli uzar. Sayfalamanın kendi zorluğu numaraların dizilişindedir: yüz sayfalık bir listede bütün numaraları göstermek mümkün değildir, o yüzden ilk, son, bulunulan ve komşuları gösterilip arası katlanır.
Kapsam: Bu madde sayfalar arasında gezinmeyi kapsar. Hiyerarşide yukarı çıkma Kırıntı Yolu, sıralı bir sürecin adımları Adım Göstergesi maddesindedir.
Yapıştır, sonuna belirtiyi ekle — ajana klasik hata kalıplarını önden verir.
- 1Sayfa numaraları
<nav aria-label="pagination">Doğrudan atlama noktaları; çok sayfada 1 ... 7 8 9 ... 42 biçiminde kısaltılır.
- 2Önceki / sonraki
‹ ›Adım adım gezinme; İLK sayfada 'önceki', SON sayfada 'sonraki' pasifleşir.
- 3Aktif sayfa
aria-current="page"Dolu renkli tekil numara; tıklanmaz çünkü zaten oradasın.
- 4Liste bağı
?page=NSayfa durumu URL'de yaşar; sayfa değişince liste başa kaydırılır ve toplam kayıt bilgisi görünür kalır.
- Aİlk sayfa
önceki devre dışıGeri gidilecek yer yok. 'Önceki' butonu gizlenmek yerine devre dışı bırakılır ki yerleşim zıplamasın.
- BOrtada
… ile katlanmışNumaralar çok. İlk, son, bulunulan ve komşuları gösterilir; arası '…' ile katlanır — atlanan aralık belli olsun.
- CBulunulan sayfa
aria-current="page"Aktif numara. Link değil metin olması doğaldır (zaten oradasın) ve aria-current ile işaretlenir.
- DSon sayfa
sonraki devre dışıListe bitti. Toplam sayfa sayısını göstermek kullanıcıya listenin büyüklüğünü söyler; sonsuz kaydırmanın veremediği bilgi budur.
- ETek sayfa
sayfalama gizlenirBölünecek bir şey yok. Tek sayfalık listede sayfalama göstermek gereksiz gürültüdür.
| HTML | <nav aria-label="pagination"> | landmark |
| ARIA | aria-current="page" | aktif sayfa |
| URL | ?page=N + rel=prev/next | durum + SEO |
- <nav> içine al ve ad ver (aria-label="Sayfalama"); adsız gezinme bölgesi ekran okuyucuda diğerlerinden ayırt edilemez.
- Bulunulan sayfayı aria-current="page" ile işaretle; sadece kalın yazmak görsel bir ipucudur.
- Sayfa numaralarının dokunma hedefi 24px'i karşılasın (WCAG 2.5.8); numaralar küçük yazılır ama tıklama alanı büyütülür.
- Sayfa değişimini duyur: içerik değişti ama sayfa yeniden yüklenmediyse ekran okuyucu kullanıcısı bunu fark etmez — role="status" ile 'Sayfa 3, 240 sonuçtan 41-60' gibi bir özet ver.
- Sayfa durumunu URL'ye yaz. Yenileme, paylaşma ve geri tuşu bunun üzerine kuruludur; yalnız bellekte tutulan sayfa numarası kullanıcının işini bozar.
Kırıntı yolundan farkı. Sayfalama YATAY gezinmedir — aynı seviyedeki uzun bir listede ilerlersin; kırıntı yolu DİKEY gezinmedir — hiyerarşide yukarı çıkarsın. İkisi aynı sayfada birlikte bulunabilir ve bu çakışma değildir: biri 'listenin kaçıncı sayfasındayım', diğeri 'sitenin neresindeyim' sorusuna cevap verir.
Adım göstergesinden farkı. Sayfalamada sıra SERBESTTİR: doğrudan 7. sayfaya atlayabilirsin ve bir şey kaybetmezsin. Adım göstergesinde sıra ZORUNLUDUR ve atlamak çoğu zaman engellenir çünkü her adım bir öncekinin verisine dayanır. Görsel olarak benzer numaralı halkalar kullanmak, kullanıcıya yanlış bir özgürlük vaat eder.
- standartMDN — <nav> elementi ↗
Sayfalamanın gezinme bölgesi olarak işaretlenmesi.
- standartMDN — aria-current ↗
Bulunulan sayfanın bildirilmesi.
- standartW3C — WCAG 2.2, Target Size (Minimum) (2.5.8) ↗
Küçük yazılan sayfa numaralarının dokunma hedefi şartı.
Kırıntı yolu breadcrumbAdım göstergesi stepper / stepsTablo tableBoş durum empty state