Form Doğrulama — Hatayı Ne Zaman Göstermeli?
Önce şunu oku: Erişilebilirlik Temelleri — Gözü Kapalı Para Gönderebilir misin?
30 saniyede özet
Bir alan daha yazılırken hata göstermek azar gibi hissettirir, yalnızca gönderince göstermek ise çok geçtir. İyi bir form alan bitince kontrol eder, hata gösterdikten sonra düzeltmeyi hemen onaylar ve aynı kuralı sunucuda da uygular.
Bir sınavda cevabını yazıyorsun ve öğretmen daha cümleni bitirmeden kırmızı kalemle “yanlış” yazıyor. Ya da tam tersi: sınav bitip kâğıdını verdikten sonra ilk satırda hata olduğunu öğreniyorsun.
-
Bayt: Havale formuna IBAN doğrulaması ekledik. Her tuşta kontrol ediyor, çok hızlı!
-
Sen: Kullanıcı daha TR33 yazarken alan kırmızı oluyor. Kullanıcılar kızgın.
-
Bayt: Ama yarım IBAN gerçekten geçersiz...
-
Bayt: Doğru, ama bunu söylemenin bir zamanı var. Ne zaman söylediğimize bakalım.
Ne zaman söylemeli?
anlık doğrulamaKullanıcı formu göndermeden alanı kontrol edip mesaj göstermek. Asıl soru ne zaman kontrol edileceğidir: her tuşta, alandan çıkınca ya da gönderince.Sözlükte gör →, kullanıcı formu göndermeden alanı kontrol edip mesaj göstermektir. Asıl soru ne zaman kontrol edileceğidir: her tuşta, alandan çıkınca ya da gönderince.
Her tuşta kontrol etmek, kullanıcı daha yazarken hata gösterir. Yalnızca gönderince kontrol etmek ise hatayı formun sonuna erteler; kullanıcı geri dönüp aramak zorunda kalır.
Kafam karıştı, daha basit anlat
Çok erken söylemek azar gibi, çok geç söylemek de iş çıkarır.
Her tuşta doğrulama yapan bir IBAN alanının en büyük sorunu nedir?
Yalnızca gönderince doğrulama yapmanın sorunu nedir?
Önce sabırlı, sonra hızlı
Alan yalnızca kullanıcı alandan çıkınca kontrol ediliyor. Kullanıcı hatayı gördü, geri dönüp düzeltti ama alandan çıkmadı. Ekranda ne görür? Cevabı göster
Hata hâlâ ekranda durur. Kontrol yalnızca alandan çıkınca çalıştığı için düzeltme fark edilmez. Kullanıcı düzelttiği hâlde hata gördüğünü sanır.
Adım adım oku
- Daha yazarken kırmızı kalem: azar gibi.
- Sınav bitince öğrenmek: çok geç.
- Satır bitince söyle, düzeltince hemen onayla.
- Önce sabırlı ol, hatadan sonra hızlı ol.
İyi bir denge şudur: ilk kontrol, kullanıcı alandan çıkınca yapılır. Buna blurKullanıcı bir alandan çıktığında, yani odak başka yere geçtiğinde tetiklenen olay. Alan bittiğinde ilk kontrolü yapmak için iyi bir andır.Sözlükte gör → olayı denir. Bir hata gösterildikten sonra ise her tuşta yeniden kontrol edilir; kullanıcı düzelttiği anda hata kalkar.
Hata mesajı yalnızca renkle verilmez. Alan aria-invalid ile işaretlenir ve mesaj aria-describedby ile alana bağlanır; böylece ARIAHTML'e rol, ad ve durum bilgisi ekleyen öznitelikler (aria-label, aria-invalid). Davranış eklemez; aynı işi yapan HTML öğesi varsa o tercih edilir.Sözlükte gör → sayesinde ekran okuyucu da hatayı okur.
Kafam karıştı, daha basit anlat
Alandan çıkınca kontrol et; hata gösterdiysen her tuşta yeniden bak. Mesajı ekran okuyucuya da bağla.
"Önce sabırlı, sonra hızlı" doğrulama nasıl çalışır?
Hata mesajı ekran okuyucu kullanan biri için nasıl erişilebilir olur?
Kendin gör
Hatayı ne zaman göstermeli?
Tohum 368573Alıcı IBAN
Oynat ya da adımla: her adımda kullanıcı bir şey yapar.
Şu an ne oldu?
Her tuşta
Kullanıcı IBAN’ı dört parçada yazacak, alandan çıkacak ve formu gönderecek.
Görevler0/3
Kullanıcıyı daha yazarken hatayla karşılaaçık
İpucu
Varsayılan ayarlar yeter.
Düzeltilmiş bir değeri hâlâ hatalı gösteraçık
İpucu
Yalnızca alandan çıkınca kontrol et.
Yazım hatasını alan bitince yakala, düzeltmeyi hemen onaylaaçık
İpucu
İki zamanlamayı birleştir.
Olay günlüğü (0)
Henüz olay yok. Oynat veya adımla.
- Varsayılanla oynat. Her tuşta kontrol: kullanıcı daha yazarken üç kez hata gördü.
- “Alandan çıkınca” seç. Yazarken sessiz kaldı, çıkınca hata geldi; ama düzeltmeden sonra hata ekranda kaldı.
- “Yalnızca gönderince” seç. Kullanıcı hatayı ancak formu gönderirken öğrenebilirdi.
- “Önce çıkınca, hatadan sonra her tuşta” seç. Yazarken sessiz, çıkınca hata, düzeltince hemen onay.
Doğrulama yalnızca alandan çıkınca çalışıyor. Kullanıcı hatayı düzeltti ama alandan çıkmadı. Ne görür?
IBAN'da iki rakam yer değiştirmiş. Bunu ne yakalar?
Tuzaklar
Yalnızca tarayıcıda doğrulamak: istek tarayıcıyı atlayarak doğrudan sunucuya gönderilebilir. Aynı kuralı sunucuda da uygula; tarayıcıdaki kontrol yalnızca kolaylıktır.
Hata olunca alanı temizlemek. Kullanıcının yazdığı 26 haneyi silmek, onu her şeyi baştan yazmaya zorlar. Değeri bırak, yalnızca neyin yanlış olduğunu söyle.
Hatayı yalnızca renkle göstermek. Kırmızı kenarlık ekran okuyucuya hiçbir şey söylemez ve renk körü kullanıcılar onu görmeyebilir. Bir metin ve ikon ekle, mesajı alana bağla.
Kafam karıştı, daha basit anlat
Sunucuda da kontrol et, yazılanı silme, hatayı yalnızca renkle anlatma.
Doğrulama yalnızca tarayıcıda yapılıyor. Neden yetmez?
Aşağıdaki örnek bir bankanın havale formundan: aynı IBAN kuralı tarayıcıda ve sunucuda, önce sabırlı sonra hızlı doğrulama, ekran okuyucuya bağlı hata mesajı.
Derinleş · Havale formu: IBAN doğrulaması tarayıcıda ve sunucuda 4 dosya · ~74 satır · ilk okumada atlayabilirsin
Kendini sına
Her tuşta doğrulama yapmak kullanıcıya her zaman yardım eder.
Hata olunca IBAN alanını temizlemek neden kötüdür?
Aklında kalacak üç şey
- 1 Bitmemiş bir değer elbette geçersizdir; kullanıcı daha yazarken bunu hata diye göstermek onu azarlamak gibidir. İlk kontrol, alandan çıkınca yapılır.
- 2 Bir hata gösterildikten sonra her tuşta yeniden kontrol et; böylece kullanıcı düzelttiği anda hatanın kalktığını görür.
- 3 Tarayıcıdaki doğrulama kullanıcıya yardım eder, güvenlik sağlamaz. Aynı kural sunucuda da çalışmalı; hata da ekran okuyucuya bağlanmalı.
4 kart sonraki derste seni bekliyor