Konu Başlıkları
Yükleniyor...

Steering Law: Menü ve Kaydırıcılarda Tünel Sorunu

Accot-Zhai Yönlendirme Yasası Arayüzde Ne Anlatır

Bir alt menüye giderken imleç kayıp menü kapandıysa, karşınızdaki şey dikkatsizlik değil, ölçülebilir bir hareket maliyeti. Accot ve Zhai'nin yönlendirme yasası bu maliyeti bir formüle bağlar ve formülün şekli, tasarımda hangi müdahalenin işe yarayacağını doğrudan söyler.

Tünel modeli

Yönlendirme yasası, imleci belirli bir koridor içinde, dışına taşmadan bir uçtan diğerine götürme görevini modeller. Koridorun uzunluğu A, genişliği W ise geçiş süresi kabaca T = a + b · (A / W) ile büyür. Katsayılar cihaza ve kullanıcıya göre değişir, önemli olan oranın kendisi.

Buradaki asıl bilgi, ilişkinin doğrusal olması. Hedefe tek hamlede gitme durumunu anlatan Fitts yasasında ifade logaritmiktir: log2(2A / W). Aradaki fark pratikte şuna denk geliyor. Bir hedefin genişliğini yarıya indirirseniz Fitts'e göre süreye sabit bir miktar eklenir, yani bir bit. Aynı daraltmayı bir tünelde yaparsanız süre ikiye katlanır. Menüyü iki kat dar yapmak, tek bir butonu iki kat küçültmekle aynı şey değil, çok daha pahalı.

Aynı formül tersinden de okunur: tünel uzadıkça maliyet yine doğrusal artar. Yirmi maddelik bir açılır menüde son maddeye inmek, on maddelikte inmenin iki katı yol demektir, üstelik bu yolun her santiminde menüden çıkma riski taşınır.

Alt menülerde köşegen problemi

Klasik hiyerarşik menülerde kullanıcı, üst menüdeki maddenin üzerinden sağa doğru açılan alt menüye geçmek ister. Ama fare köşegen hareket eder, çünkü hedef hem sağda hem aşağıdadır. Köşegenin ilk birkaç pikseli üst menüdeki komşu maddenin üstüne düşer, tarayıcı bunu "başka maddeye geçildi" diye okur ve alt menü kapanır.

İki bilinen çözüm var. Birincisi gecikme: fare komşu maddeye girdiğinde alt menüyü hemen kapatma, 200 ile 400 milisaniye bekle. Ucuz ama körlemesine çalışır, gerçekten başka maddeye geçmek isteyen kullanıcıyı da bekletir. İkincisi niyet tahmini: imlecin son konumu ile açık alt menünün üst ve alt köşeleri arasında üçgen bir tolerans alanı kurulur, imleç o üçgenin içinde kaldığı sürece menü açık tutulur.

Bir e-ticaret projesinde gecikme süresini artırıp azaltarak haftalarca oynadıktan sonra üçgen alanı ekleyince menü şikayetleri tek seferde kesilmişti.

Kaydırıcıda tünel dar olmak zorunda değil

Slider'ın tüneli yatay bir şerittir ve tasarımcılar bu şeridi genelde birkaç piksel yüksekliğinde bırakır. Oysa dikey genişlik, kullanıcının sürüklerken ne kadar sapabileceğini belirler. Video oynatıcıların çoğu bunu şöyle çözer: görsel şerit ince kalır, fakat olay yakalayan alan çok daha yüksektir ve sürükleme başladıktan sonra imleç dikeyde tamamen serbest bırakılır.

Hassasiyet ayrı bir mesele. Bin adımlık bir aralığı 300 piksellik bir şeride sıkıştırdığınızda bir piksel üç adıma denk gelir, yani kullanıcı istediği değeri fareyle tutturamaz. Çözüm şeridi uzatmak değil, ikinci bir giriş yolu vermek: sayısal kutu, artı ve eksi düğmeleri, ok tuşlarıyla tek adım ilerleme. Şeride tek tıkla o pozisyona atlamak da yolun tamamını sürüklemekten kurtarır.

Dokunmatikte tünel genişliği

Parmak fareden çok daha kaba bir işaretçi, dolayısıyla W değeri baştan küçüktür. Apple'ın 44 punto, Google'ın 48 dp'lik dokunma hedefi önerileri de yaklaşık bu yüzden var. Menü maddeleri arasında bol dikey boşluk bırakmak, aynı yükseklikte daha az madde göstermek pahasına hata oranını düşürür.

Görünmez dolgu eklemek yaygın bir taktik, ama sınırı var: iki komşu elemanın görünmez alanları çakışırsa üstteki diğerinin dokunuşlarını yutar ve kullanıcı doğru yere bastığını sanırken yanlış maddeyi açar. Dolgu eklerken hangi elemanın önde olduğunu ve alanların üst üste binip binmediğini kontrol etmek gerekir.

Erişilebilirlik tarafı

Titreme, sınırlı motor kontrol veya kafa takibiyle imleç kullanan bir kişi için tünelin dar olması sadece yavaşlatıcı değil, doğrudan engelleyici. Yasadaki W terimi bu kullanıcılarda çok daha küçük efektif değerlere karşılık gelir, çünkü sapma genliği büyüktür.

Bu yüzden her tünelin tünel olmayan bir alternatifi olmalı. Klavyeyle gezilebilen menü, alt menüyü tıklayarak açık tutma seçeneği, kaydırıcı yerine sayısal giriş. Tolerans artırmak yardım eder, ama görevi hareket olmaktan çıkarmak daha kesin çözer.

Tüneli tamamen bırakmak

Mega menülerin çok seviyeli açılır menülere üstünlüğü estetik değil geometrik. Tüm seçenekler tek seferde açılan geniş bir panelde göründüğünde kullanıcı koridorda ilerlemez, düz bir alanda hedefe gider ve problem yönlendirmeden hedefleme görevine döner. Aynı mantık, uzun listelerin yerine arama kutusu koymak için de geçerli.

Yani asıl soru menüyü nasıl daha toleranslı yapacağınız değil. Önce kullanıcıyı o koridora sokmanın gerekip gerekmediğine bakın; gerekmiyorsa tolerans ayarlarıyla uğraşmanıza da gerek kalmaz.