Breadcrumb Navigasyonu: Ne Çözer, Ne Çözmez
Breadcrumb ucuz bir bileşen. Az yer kaplar, kurulumu kısa sürer, kimsenin yoluna çıkmaz. Ona yüklenen beklentiler ise çoğu zaman bu ölçünün epey üstünde. Aşağıda breadcrumb'ın gerçekten ne çözdüğünü, hangi durumda çaresiz kaldığını ve işaretlemenin nasıl yapılması gerektiğini ayırdım.
İddiaları ölçüye oturtmak
Breadcrumb'ın oturum süresini uzattığı, dönüşümü artırdığı sıkça yazılır. Bu cümlelerin arkasında genelde ölçülmüş bir etki değil, bileşenin zararsızlığı vardır. Zaten oturum süresi tek başına iyi haber de değil: kullanıcı aradığını bulamadığı için de sitede uzun kalır.
Breadcrumb'ı savunmak için güçlü olduğunu iddia etmeye gerek yok. Maliyeti sıfıra yakın bir bileşenin küçük faydası bile hesabı kapatıyor. Asıl işini de dar bir senaryoda yapıyor: kullanıcı arama sonucundan doğrudan derin bir sayfaya düştüğünde, sitenin geri kalanının nasıl kurulduğunu ona anlatan tek şey o satır oluyor. Menüden gezinerek gelen kullanıcı zaten nerede olduğunu biliyor.
Sayfadaki breadcrumb ile arama sonucundaki aynı şey değil
Arama sonuçlarında URL yerine görünen kategori yolu, sayfanın tepesindeki görsel breadcrumb'tan okunmuyor; BreadcrumbList yapılandırılmış verisinden geliyor. Bu ikisi aynı sayfada birbirinden bağımsız yaşayabilir. Görsel breadcrumb'ı ekleyip yapılandırılmış veriyi unutan bir sayfa arama sonucunda hiçbir şey kazanmaz, tersi durumda ise kullanıcı ekranda hiçbir şey görmezken sonuç satırı düzgün görünür.
Sıralamaya doğrudan katkısı olduğu iddiasına ihtiyatlı yaklaşın. Somut olan iki kazanç var: sonuç satırının daha okunabilir hale gelmesi ve kategori sayfalarına giden site içi bağlantı sayısının artması. Yapılandırılmış veriyi eklediyseniz sayfayı zengin sonuç test aracından geçirin, gözle kontrol bir şey söylemiyor.
Tek ebeveyn varsayımı
Hiyerarşi tabanlı breadcrumb, her sayfanın tek bir üst kategorisi olduğunu varsayar. Blog için sorun değil. Katalogda bu varsayım ilk gün çöker.
Bir katalog projesinde aynı ürün üç ayrı kategoriden erişilebiliyordu ve breadcrumb'ın hangi yolu göstereceğine karar vermek, bileşeni yazmaktan uzun sürmüştü.
İki seçenek var: ürüne sabit bir kanonik yol atamak, ya da kullanıcının o oturumda geldiği yolu yansıtmak. İkincisi ilk bakışta daha kullanıcı dostu görünüyor, pratikte değil. Ziyaretten ziyarete değişen bir yol artık harita olmaktan çıkar, kullanıcı aynı sayfayı ikinci kez açtığında farklı bir yer görür ve bağlantı paylaşıldığında karşı tarafta başka bir şey belirir. Kanonik yolu seçin, kararı da veri tarafında verin; şablonun içinde çözülen bir mantık her listeleme sayfasında yeniden çözülmek zorunda kalır.
Uzun breadcrumb bir tasarım sorunu değil
"Breadcrumb'ı kısa tutun" tavsiyesi uygulanabilir bir şey söylemiyor, çünkü uzunluğu siz seçmiyorsunuz; hiyerarşinin derinliği seçiyor. Altı katmanlı bir yolun görünür kısmını kırpmak, kullanıcıyı bilgiden mahrum bırakmaktan başka bir işe yaramaz.
Satır gerçekten sığmıyorsa ortayı toplayın: ilk düğüm, üç nokta, son iki düğüm görünür kalsın, üç nokta tıklandığında ara katmanlar açılsın. Ama bunu bir çözüm değil, geçici bir örtü olarak görün. Altı katman, çoğu durumda kategori ağacının gereğinden fazla dallandığının işaretidir ve orada düzeltilecek şey breadcrumb değildir.
İşaretleme ve erişilebilirlik
Breadcrumb'ın erişilebilir hali sıralı liste olarak kurulur, çünkü sıra anlamlıdır. Aktif sayfa bağlantı olmaz, ama listeden de düşmez.
<nav aria-label="Breadcrumb"> <ol> <li><a href="/">Ana sayfa</a></li> <li><a href="/kategori">Kategori</a></li> <li><span aria-current="page">Ürün</span></li> </ol> </nav>Ayırıcıyı metin olarak yazmayın. Düğümler arasına elle koyulan bir > karakteri ekran okuyucuda her adımda seslendirilir ve yol dinlenemez hale gelir. Ayırıcı ::after ile üretilirse görsel olarak yerinde durur, erişilebilirlik ağacına girmez.
Nerede eklemeye değmez
Düz yapılı sitelerde breadcrumb gürültüdür. Tek katmanlı bir sitede satırın söyleyeceği tek şey Ana sayfa ve sayfa adı olur, bu da kullanıcının zaten ekranda gördüğü bilgidir. Breadcrumb, en az üç katmanlı ve kullanıcıların derin sayfalara dışarıdan giriş yaptığı sitelerde işe yarar. Diğer durumlarda eklemek zarar vermez ama bir şey de kazandırmaz, o yüzden yerine bakılacak asıl şey kategori yapısının kendisidir.