Etiket chip / tag
bilinen diğer adları chip · tag · pill · filtre hapı
Böyle diyorsan: "küçük hap şeklindeki kategoriler" · "filtre baloncukları" → bunun adı etiket.
Hap biçimli küçük kategori/filtre etiketi; seçilebilir ya da silinebilir olabilir.
Etiket, hap biçimli küçük bir kimlik parçasıdır: kategori, filtre ya da seçilmiş bir değer. Asıl mesele şudur — aynı görünüşü paylaşan ÜÇ ayrı iş vardır: salt bilgi veren etiket (tıklanmaz), filtre çipi (seçilir), kaldırılabilir çip (✕ taşır). Üçü aynı göründüğü için kullanıcı hangisinin tıklanabilir olduğunu deneyerek öğrenir; bu maddenin en pahalı hatası da budur. Rozet gibi, etiketin de HTML'de bir karşılığı ve ARIA'da bir kalıbı yoktur — davranışını sen seçmek zorundasın, o yüzden en azından görünüşü işine göre ayırmak zorundasın.
Kapsam: Bu madde kategori, filtre ve kaldırılabilir değer etiketlerini kapsar. Bir öğenin köşesindeki sayı ya da durum işareti Rozet maddesindedir; görünüşleri benzer, işleri farklıdır.
Yapıştır, sonuna belirtiyi ekle — ajana klasik hata kalıplarını önden verir.
- 1Hap gövdesi
yuvarlak kenarlı etiketKategori/filtre kimliği; tıklanabilirse buton, değilse salt metin — ikisi AYNI görünmemeli.
- 2Seçili durum
dolu zemin + aria-pressedAktif filtrenin dolu renkle ayrışması; sonuç sayısı da onunla güncellenir.
- 3Kaldırma ✕
AYRI butonChip'in içindeki ✕ ayrı bir butondur (iç içe buton YASAK — yan yana iki buton kurulur) ve tıklama alanı yeterli olmalı.
- 4Taşma davranışı
+N özetiChip sayısı artınca satır patlamaz: ilk 5 + '+3' özeti ya da yatay kaydırma.
- ASalt bilgi
tıklanamazYalnız etiketleme yapar (ör. yazının kategorisi). Tıklanabilir çiplerden GÖRSEL olarak ayrışmalı, yoksa kullanıcı ölü öğeleri tıklar.
- BSeçilebilir
button + aria-pressed="false"Filtre olarak çalışır. Buton olmalı ki klavyeyle erişilebilsin; basılabilirliği görünüşünden anlaşılsın.
- CSeçili
aria-pressed="true"Aktif filtre. Dolu zeminle ayrışır ama durumu yalnız renge bırakma; aria-pressed olmadan ekran okuyucu seçili olduğunu bilmez.
- DKaldırılabilir
AYRI ✕ butonuÇipin içindeki ✕ ayrı bir butondur — iç içe buton geçersiz HTML'dir. Yan yana iki buton kurulur: gövde seçer, ✕ kaldırır.
- ETaşma
+N özetiÇip sayısı artınca satır patlamaz: ilk birkaçı gösterilir, gerisi '+3' özetine katlanır ya da yatay kaydırmaya alınır.
| HTML | yan yana iki buton (iç içe DEĞİL) | geçerli yapı |
| ARIA | aria-pressed | seçili durumu |
| CSS | min-width/height: 24px (✕) | WCAG 2.5.8 hedef boyutu |
| UX | +N katlama | taşma kontrolü |
- Tıklanabilir çip ile salt-bilgi etiketini AYNI gösterme. Görünüş işlevi anlatmıyorsa kullanıcı deneyerek öğrenmek zorunda kalır; bu, arayüzü bir tahmin oyununa çevirir.
- ✕ ayrı bir butondur. Buton içine buton koymak geçersiz HTML'dir ve odak davranışını bozar; gövde ile ✕ yan yana iki buton olmalıdır.
- ✕'in dokunma hedefi en az 24px olmalı (WCAG 2.5.8). Görsel olarak küçük kalabilir ama tıklama alanı büyütülür — yoksa kullanıcı kaldırmak isterken çipi seçer.
- Seçili durumu yalnız renkle anlatma: aria-pressed ekle, böylece ekran okuyucu 'basılı' der. Renk körlüğünde dolu-boş ayrımı kaybolabilir.
- Klavyeyle kaldırma mümkün olsun. Girdi bağlamında son çipi Backspace ile silmek yerleşik bir beklentidir; yalnız fareyle silinen çip klavye kullanıcısını kilitler.
Rozetten farkı. Etiket SINIFLANDIRIR, rozet BİLDİRİR. Etiket içeriğin kendisine ait sabit bir niteliktir (kategori, filtre, seçilmiş değer) ve genelde tıklanabilir; rozet ise bir öğenin köşesine iliştirilen değişken bir bilgidir (kaç okunmamış) ve tıklanmaz. Aynı hap biçimini paylaşmaları ikisini aynı şey yapmaz.
Onay kutusundan farkı. İkisi de çoklu seçim yapar; ayrım GÖRÜNÜRLÜKTE. Onay kutusu SEÇENEKLERİ listeler — hepsi ekranda durur, işaretlenmemiş olanlar da görünür. Filtre çipi ise çoğu zaman SEÇİLENLERİ listeler; seçenekler bir menüde saklıdır. Az sayıda seçenek varsa onay kutusu daha dürüsttür, çünkü kullanıcı nelerin mümkün olduğunu görür.
- birincilW3C — ARIA Authoring Practices, kalıp listesi ↗
Listede çip/etiket kalıbı YOKTUR; davranışı mevcut kalıplardan (buton, liste) kurman gerekir.
- standartMDN — aria-pressed ↗
Seçili filtre çipinin durumunu bildirmenin yolu.
- standartW3C — WCAG 2.2, Target Size (Minimum) (2.5.8) ↗
✕ butonunun 24px hedef kuralı.
- standartW3C — WCAG 2.2, Use of Color (1.4.1) ↗
Seçili durumun yalnız renkle anlatılamayacağı kuralı.
Rozet badgeOnay kutusu checkboxArama çubuğu search barSeçim kutusu select