Sekmeler tabs
bilinen diğer adları tabs · sekme çubuğu · tab bar
Böyle diyorsan: "aynı yerde içerik değiştiren başlıklar" · "şu klasör sekmeleri gibi olan" → bunun adı sekmeler.
Aynı alanda farklı içerikler arasında geçiş yaptıran yatay başlıklar.
Sekmeler, aynı alanda birbirinin alternatifi olan içerikler arasında geçiş yaptırır. Doğru kullanıldıkları yer şudur: içerikler EŞ DÜZEYDEDİR ve kullanıcının aynı anda yalnız birini görmesi yeterlidir. En sık yapılan hata, sekmeleri bir sayfayı bölmek için kullanmaktır — oysa aralarında sıra ya da bağımlılık varsa (önce şunu doldur, sonra bunu) doğru parça sekme değil adım göstergesidir. İkinci mesele adreslenebilirliktir: sekme değişimi URL'ye yansımıyorsa kullanıcı gördüğü ekranı paylaşamaz, yenileyince başa döner ve tarayıcının geri tuşu beklenmedik davranır.
Kapsam: Bu madde eş düzeyli içerikler arasında geçişi kapsar. Sıralı adımlar Adım Göstergesi, aynı anda birden çoğu açılabilen katlanır bölümler ise Akordeon maddesindedir.
Yapıştır, sonuna belirtiyi ekle — ajana klasik hata kalıplarını önden verir.
- 1Sekme başlıkları
role="tablist" + "tab"Yatay başlık şeridi; klavye ok tuşlarıyla gezilebilmeli (roving tabindex).
- 2Aktif gösterge
alt çizgi / dolu zeminHangi sekmenin açık olduğunun görsel dili; aria-selected ile birlikte gider.
- 3İçerik paneli
role="tabpanel"TEK paylaşılan alan: sekme değişince içerik değişir, sayfa değişmez — tabs'ı navigasyondan ayıran budur.
- 4Tek-panel ilkesi
URL senkronuSekme durumu URL'e yazılırsa (?tab=...) yenileme ve paylaşım çalışır; yazılmazsa her yenileme ilk sekmeye döner.
- ASeçili
aria-selected="true"Aktif sekme. Görsel vurgunun yanında aria-selected de olmalı; renk tek başına ekran okuyucuya bir şey söylemez.
- BSeçili değil
aria-selected="false"Diğer sekmeler. Tıklanabilir oldukları görünmeli — pasif başlık gibi duran sekmeye kimse tıklamaz.
- COdak gezinme
roving tabindexTab tuşu sekme çubuğuna BİR kez uğrar, sekmeler arasında ok tuşlarıyla gezilir. Her sekmeyi ayrı Tab durağı yapmak klavye kullanıcısını yorar.
- DTaşma
kaydırma / +NSekme sayısı artınca satır patlar. Yatay kaydırma ya da 'daha fazla' menüsü kur; gizlenen sekmelerin var olduğu belli olsun.
- EDevre dışı
aria-disabledErişilemeyen sekme. Sebebi söylenmezse kullanıcı arayüzü bozuk sanır; çoğu zaman doğru çözüm sekmeyi hiç göstermemektir.
| ARIA | tablist / tab / tabpanel + aria-selected | erişilebilir desen |
| shadcn/ui | Tabs | hazır parça |
| URL | ?tab=... senkronu | yenileme + paylaşım |
- APG'nin tablist/tab/tabpanel kalıbını uygula: ok tuşlarıyla gezinme, aria-selected ve panelin sekmeye aria-labelledby ile bağlanması bu kalıbın parçasıdır.
- Sekme çubuğu tek Tab durağı olsun (roving tabindex); sekmeler arasında ok tuşlarıyla gezilir.
- Aktif sekmeyi yalnız renkle gösterme (WCAG 1.4.1): altı çizgi, kalınlık ya da ikon gibi ikinci bir işaret ekle.
- Sekme durumunu URL'ye yansıt. Bu yalnız kolaylık değil erişilebilirlik meselesidir: kullanıcı yenilediğinde ya da paylaştığında aynı ekranı görmelidir.
- Sekme içeriği değişince odağı panele ZORLA taşıma; kullanıcı klavyeyle geziniyorsa bu onu yerinden eder. Panelin odaklanabilir olması yeterlidir.
Adım göstergesinden farkı. Sekmeler EŞ DÜZEYDEDİR ve istediğin sırada gezilebilir; adım göstergesi SIRALIDIR ve önceki adım tamamlanmadan sonrakine geçilmez. Ayrımı belirleyen soru: kullanıcı bunları istediği sırada gezebilir mi? Gezemiyorsa sekme kullanmak, ona olmayan bir özgürlük vaat eder ve tıkladığında engellenir.
Akordeondan farkı. Sekmelerde aynı anda YALNIZ BİRİ görünür; akordeonda birden çoğu aynı anda açık olabilir. Karşılaştırma gerekiyorsa akordeon daha iyidir çünkü kullanıcı iki bölümü yan yana görebilir. Mobilde de sekmeler yatay yer ister, akordeon dikeyde rahat çalışır — bu yüzden aynı içerik masaüstünde sekme, mobilde akordeon olarak sunulabilir.
- birincilW3C — ARIA APG, Tabs kalıbı ↗
Resmi kalıp: rol yapısı, ok tuşu gezinmesi ve panel bağlantısı.
- standartW3C — WCAG 2.2, Use of Color (1.4.1) ↗
Aktif sekmenin yalnız renkle gösterilemeyeceği kuralı.
- standartW3C — WCAG 2.2, Info and Relationships (1.3.1) ↗
Sekme ile panel ilişkisinin koda yazılması şartı.
Adım göstergesi stepper / stepsAkordeon accordionAçılır menü dropdownÜst çubuk navbar / header