it-swarm-tr.com

Daha iyi bir kullanıcı deneyimi nedir: hataları vurgulamak veya yanlış tuş vuruşlarını engellemek mi?

Metin kutusuna girmem gereken bazı bilgiler var. Veriler yapılandırılmıştır ve yalnızca bazı diziler geçerlidir. Örneğin bir telefon numarası için A gibi bir harf geçersiz.

Bu yüzden klavye olaylarına müdahale etmeli ve yazılan harflerin metin kutusuna ulaşmasını engellemeli miyim, yoksa kullanıcıya mektubun kabul edilemez olduğunu bildirmek için bazı kırmızı dalgalı çizgiler (veya başka bir görsel ipucu) çizmeli miyim? Hangisi daha iyi bir kullanıcı deneyimi?

20
louisgab

Bir kullanıcının bilgisayarındaki denetimini geçersiz kılmak her zaman bir kesinti olacaktır ve çoğu zaman o kullanıcının iş akışının istilası olarak algılanacaktır. Web sitemizin bilgisayarlarımızın kontrolünü elinde tutması gerekmiyor, bu nedenle bu tür bir kontrolü uygulamak en azından biraz endişe verici olacaktır.

Bununla birlikte, gerçekten önemli bir konuyu hazırladınız, bir kullanıcıya tüm alanları doldurmadan ve göndermeden önce girişinin geçersiz olduğunu bildirmenin önemi olmalısınız.

En az müdahaleci bulduğum ama en hızlı dönüş yanıtını sağladığım yaklaşım aşağıdaki akış.

alt text

Temel olarak, ilk alanlarını doldurmalarını bekleyin, ardından yeni bir alanın (veya geçersiz kılınan bir alanın) etrafındaki tıklama/sekme olarak yeni tamamlanan alanı kontrol edin. Yeni tamamlanan alan geçerliyse, yanına dikkat çekmeyen bir "iyi" simgesi yazdırın (yeşil, onay işareti, mutlu yüz, fikri anlarsınız). Doğrulama kurallarını geçemezse, ayrı olarak "kötü" bir simge (kırmızı, "X" vb.) Ve neyin başarısız olduğuna ilişkin kısa bir satır yazdırın.

Ancak unutmayın, iş akışlarını kesintiye uğratmayın:

  • Pop-up yok
  • yer paylaşımı yok

Taşındıkları alanla işiniz bittiğinde, geçersiz alana geri döner veya devam eder ve daha sonra geri döner. Her iki durumda da, yapacakları bir düzenleme yaptıklarını ancak kendi zamanlarında yapabildiklerini görecekler.

Sonunda, göndermeden önce tamamen geçerli bir forma sahip olacaklar, yani

  1. Sadece bir kez göndermek zorunda kalacaklar
  2. Gönderimleri "başarısız" olduğunda çıldırmak veya sinirlenmek için zaman harcamazlar
  3. Sitenizi daha çok beğenecekler
  4. Herkesin pastası olacak
17
Matt

Bir form kullanmanın her iki ucunda olmak, tercih ettiğim bazı yönergeler:

  • Kullanıcı girişleri neredeyse hiç engellenmemelidir. Bir telefon numarası alanına 'A' harfini yazarsam, 'A' harfini görmeyi beklerim.
  • Metin alanı doğrulamama bir onBlur() olayında başladım ve bundan daha önce değil. Bu, kullanıcıya bir hata mesajı göstermeden önce yanlış yazılan 'A' yı düzeltme şansı verir. Kullanıcının hala giriş alanındayken bir hatayı düzeltmesine izin vermek, rahatsız edici bir "hey, berbat, ahbap" tür bir mesaj için daha az şans sağlar.
8
wnathanlee

Yazarken geçersiz karakterleri önlerseniz, muhtemelen klavyelerinin arızalı olduğunu düşünebilirler. Kullanıcı şeyleri bekledikleri şekilde çalışmayı sever. Tuşa basarken belirli karakterleri engelleyecekseniz, en azından aynı anda girişin yanında bir hata mesajı görüntülemeniz gerekir. Bu şekilde neden yazmadığını bilirler.

Can sıkıcı bir başka şey, sadece uzun bir formu doldurmayı bitirdiğinizde ve site, sunucu tarafı doğrulamasını kullandığında, yanlış olanı bulmak için formdan geri dönmeniz gerektiğidir. Öncelikle istemci tarafı doğrulamayı kullanmayı seviyorum, ancak sunucu tarafına geri düşüyorum. Yazarken ya da giriş odağı kaybettiğinde bir hata görüntüleyeceğim. Bu şekilde kullanıcı bir sorun olduğunu hemen bilir ve sorunun tam olarak ne olduğunu bilir.

5
LoganGoesPlaces

Kullanıcıların hata yapmasını önlemenin, düşündüğümden her zaman 10 kat daha zor olduğunu düşünüyorum. Örnek: Birinin telefon numarasının x2333 gibi bir uzantısı olabilir. Kredi kartları için jQuery giriş maskesi eklentisi kullandım ve bu iyi çalıştı. Mümkün olduğunda Otomatik önerme kullanıyorum.

Herhangi bir karmaşık sistemde, satır içi tespit etmek pahalı olan koşullara sahip olacaksınız ve bunları bundan sonra söylemeniz gerekir. Bana göre cevap her durumda ve her bir Edge vakasını kapsadığınızdan emin olun.

3
Glen Lipka

Her iki yaklaşımın bir melezini öneririm, ancak sadece telefon numaraları (SSN, posta kodları vb. Gibi kesin olarak doğrulanmış alanlar için = gerekir tanım olarak sayısal olabilir).

Her tuş vuruşunu takip edin ve kullanıcı geçersiz bir karakter yazdığında bunu gösterin ... ancak bir şeyin yanlış olduğunu hemen belirtin. Belki giriş alanını kırmızıya çevirin ve alanın sağında "Lütfen yalnızca sayısal karakterler girin" ifadesini görüntüleyin.

Kullanıcı tarafından yanlış yorumlanabileceğinden, girişin engellenmesi hayırdır. Sayısal giriş kutusuna bir harf yazmaları gerekmediğinden değil, makinelerinde veya giriş aygıtlarında bir sorun olduğunu varsayabilirler.

Doğrulama sonra giriş tamamlandı can sıkıcı olabilir. Özellikle şifre oluşturmada kullanılanlar gibi alanlarla. Bazı siteler yalnızca alfasayısal karakterler içeren 6 karakterlik parolalar gerektirir. Diğerleri 9 karakterlik şifreler gerektirir ve herhangi bir karaktere izin verir (! @ # $% Vb. Dahil). Bir şifre yazmak ve sadece bulmak after Ben yazdım ve bulduğum en sinir bozucu form türü aslında ve aslında çeşitli hizmetlerden uzak çevirdi.

Kullanıcı veri girerken dinamik geri bildirim sağlamak onlara yardımcı olur

  1. Hâlâ arazideyken hangi alanda hata olduğunu bilin
  2. Veri göndermeden önce giriş hatalarını proaktif olarak düzeltin
  3. Deneyimden giderken öğrenin

3 hesapta da giriş engelleme başarısız. Metin kutusu doldurulduktan sonra doğrulama hatalarını vurgulamak her üçünde de başarısız oluyor.

2
EAMann

Bu duruma bağlıdır. Mümkünse Otomatik öner'i kullanın. Kullanıcının girdisini durdurursanız, anında bir geri bildirim çok önemlidir. Olası çözümlerden biri, anahtar ele geçirildikten hemen sonra açılan "ipucu kutusu" dur. Windows oturum açma ekranında görebilirsiniz, örneğin $ sign tuşuna basarsanız açılır.

1
Janko

Çoğu şeyde olduğu gibi .. bağlama bağlıdır. Konuyla ilgili daha özel bir fikrim var. Ben veya grubum üzerinde çalıştığım uygulamaların çoğu teknik niteliktedir ve yalnızca makul eğitimi almış kişiler tarafından kullanılır. Bu nedenle, kullanıcıların eline genel kamuoyundan daha fazla sorumluluk ve özgürlük verebiliriz. Kısaca, kullandığımız bazı yönergeler ...

  • Geçersiz girişleri yok sayın .... geçersiz tuş vuruşlarını engelleyin.
  • Kontrast ve renk * ile imkansız olması gereken bir durum olan geçersiz alanları belirtin *.
  • Odak her zaman kullanıcı kontrolü altındadır. Kullanıcıyı tuzağa düşürmeyin veya odak değişikliğini önleyin.
  • Asla modsal uyarı/hata kutusu atmayın. Hiç.
  • Kullanıcıya asla soru sormayın. Yazılım bir kişi değil bir araçtır. Evet eminim.
  • Enter/Return tuşları her zaman şu anlama gelir: Değişiklikleri kabul et ve devam et. Enter'da varsayılan olarak bir iptal/çıkış düğmesine odak kullanarak bunu değiştirmeyin.
  • Escape tuşu her zaman şu anlama gelir: Atın ve çıkın.
  • Mümkün olduğunda otomatik tamamlama sağlayın.
  • Min/maks limiti olan sayısal değerler için kısa yol girişi sağlayın. Örneğin. Geçerli bir değer 0.12 ile 100.387 arasındaysa, 99.3 gibi 100.387'den büyük girişler 100.387 vb. Olarak alınır.
  • Davranış konusunda çok açık siyah beyaz kurallar belirleyin. Kullanıcının anlayabileceği kurallar. Bu aşırı karmaşık hale gelirse ... tekrar düşünün.

Örneklerin neredeyse tamamı kullanıcı tarafından isteniyor ve evet ... uygulama bazen gerçek bir ayı/kabus/katil ama nadiren imkansız.

Uyarı: Yine, bu örnekler teknik bir kullanıcı tabanına sahip dikey bir sistem bağlamında verilmiştir .... bir web genel genel formu değil, vb.

* Kırmızı hariç. Bizim işimizde kırmızı şu anlama gelir: Tehlike öldürülebilir ... ya da daha kötüsü.

1
Rusty