Input Stepper: Sayı Girişinde Nerede İşe Yarar, Nerede Yaramaz
Stepper, artı ve eksi butonlarıyla bir sayıyı birer adım değiştiren kontrol. Form rehberlerinin çoğu onu kullanıcı dostu diye önerir, ama faydası tek bir şeye bağlı: kullanıcının gitmek istediği değerin varsayılana kaç adım uzakta olduğuna. O mesafe büyüdüğü anda stepper, kolaylaştırdığı işi zorlaştırmaya başlar.
Ölçü tek: hedefe kaç dokunuş
Stepper'ın maliyeti doğrusal büyür. Varsayılan ile hedef arasındaki fark adım büyüklüğüne bölünür, çıkan sayı kadar dokunuş gerekir. Varsayılanı 1 olan bir alanda 12 yazmak isteyen kullanıcı 11 kez basar, aynı değer klavyeden iki tuşla girilir. Kesişme pratikte üç dört adım civarında; ötesinde kontrol yavaşlatmaya başlar.
Asıl soru bu yüzden kontrolün görünüşü değil, değerlerin dağılımı. Kullanıcıların büyük kısmı varsayılanın bir iki adım ötesinde kalıyorsa stepper doğru seçim: otel formundaki kişi sayısı böyledir. Toptan sipariş adedi değildir.
Yazım hatasını engelleme iddiası
Stepper'ın en çok tekrarlanan avantajı, klavyeden yanlış sayı girilmesini engellemesi. Aynı yazılar birkaç paragraf sonra, uzak değerler için stepper'ın yanına serbest bir metin kutusu koymayı önerir. İkisi birlikte savunulamaz. Metin kutusunu koyduğunuz anda hatalı giriş yolu geri gelir, dolayısıyla doğrulama da geri gelmek zorundadır.
Bir stepper'ı, değeri yalnızca butonla değişiyor diye sunucu tarafı doğrulamadan muaf tutmam. Alanın alt sınırı, üst sınırı ve adımı istek geldiğinde yeniden kontrol edilmezse kontrol arayüzde kalır, veride kalmaz.
Dokunma alanı ve sınır durumu
Stepper dar alanda yaşar, iki butonu yan yana koyduğunuzda ilk feda edilen şey dokunma alanı olur. Apple ve Google'ın kendi arayüz kılavuzları yaklaşık 44 pt ve 48 dp'lik hedef alan önerir. İki buton bu ölçüyü koruyabiliyorsa alan zaten dar değildir.
Sınıra gelindiğinde butonu pasifleştirmek yeterli değil. Sekiz kişilik sınıra dayanan kullanıcı için gri butonun anlamı belirsizdir, alanın yanında maksimumun yazılı olması bu belirsizliği ortadan kaldırır. Aynı şey adım büyüklüğü için de geçerli: 0,5'er artan bir alanda kullanıcı bunu ancak deneyerek öğreniyorsa arayüz eksik.
Klavye ve ekran okuyucu tarafı
Tarayıcının kendi sayı alanı ok tuşlarını, alt ve üst sınır denetimini, adım doğrulamasını hazır getirir. Özel çizilmiş bir stepper bunların hiçbirini kendiliğinden taşımaz. Kendi kontrolünüzü yazacaksanız en azından şunlar gerekir:
- ok tuşlarıyla artırma ve azaltma
- role=spinbutton ve aria-valuenow, aria-valuemin, aria-valuemax
- uzun basışta hızlanan, parmak çekilince duran tekrar
Bu listenin tamamı, tarayıcının hazır verdiği davranışı elle yeniden üretmek demek. Özel bir stepper'ın görsel kazancı bu maliyeti karşılıyor mu, karar vermeden önce yazıya dökülmeye değer.
Stepper kötü bir kontrol değil, dar bir kontrol. Aralık küçükse ve varsayılan doğru seçilmişse formun en hızlı alanıdır. O iki şart bozulduğunda yerini sade bir sayı alanına bırakır.