Daha az isteyin ve isteği açıklayın
Kullanıcının hemen yapmak istediği görevle başlayın, sonra yalnızca görevi tamamlamak için gereken verileri isteyin. Bir bülten için e-posta adresi gerekebilir; gönderim için adres gerekir. Hiçbiri otomatik olarak doğum tarihi, meslek veya paketlenmiş pazarlama onayı gerektirmez. İlk sonuç için gerekli olmadıkça ek soruları erteleyin.
Formda veriyi kimin alacağını ve amacını belirtin; tam gizlilik bildirimine kolay erişim bağlantısı verin. Birleşik Krallık GDPR’si kapsamındaki kuruluşların amaçlar ve saklama dahil şeffaflık yükümlülükleri vardır; bu evrensel hukuk tavsiyesi değildir: toplama ve bildirim metinlerini pazarlarınıza uygun onaylayacak kişilerle kontrol ettirin.
Gerekli alanları ve sıra dışı formatları gönderimden önce belirtin; yalnızca yıldız veya renk yeterli değildir.
İsteğe bağlı pazarlama onayını bir siparişi, talebi veya hesap işlemini göndermek için gereken eylemden ayrı tutun.
Etiketlerin ve yerel (native) kontrollerin işi yapmasına izin verin
Her alan, onay kutusu, radyo grubu, select ve buton amacı tanımlayan bir ada ihtiyaç duyar. Kontrolle ilişkili görünür bir etiket kullanın; normalde label elementi ve onun for değeri input id ile eşleşir. Bu, etiketin daha büyük bir etkinleştirme alanı olmasını sağlar ve yardımcı teknolojinin doğru kontrolü tanımlamasına yardımcı olur. Etiketi inputa yakın tutun.
İpucu metni (hint) alanın adı değildir. Yazmaya başladıktan sonra kaybolan tek talimat haline getirmeyin. Görsel bağlam etiketi gereksiz kılıyorsa bile kodda erişilebilir bir isim tutun ve test edin. W3C, title metninin daha az güvenilir bir birincil etiket ikamesi olduğunu belirtir.
Her alanı genel bir metin alanı ile taklit etmek yerine uygun olduğunda email, tel, date, radio, checkbox veya select kullanın.
Submit yerine Create account veya Place order gibi eylem etiketi kullanın; bu daha açıklayıcıysa tercih edin.
Düzeltme için doğrulayın, sonra kuralları sunucuda uygulayın
Kararlı kontroller için yerel (native) kısıtlamaları kullanın: doğru input tipi, required, uzunluk, aralık ve uygun bir pattern. Hata olmadan önce faydalı bir örnek format verin. İstemci kontrolleri toparlanmayı iyileştirir ama güvenlik sınırı değildir. İstekler bunları baypas edebilir; bu yüzden sunucu veriyi işlemden önce ilgili sözdizimi ve iş kurallarına göre doğrulamalıdır.
Gönderim başarısız olduğunda kabul edilen değerleri koruyun. Formun önünde bir hata özeti koyun, her alanı tanımlayın, sorunu ve düzeltmeyi açıklayın ve ona bağlantı verin. Alanın yanında kısa bir mesaj tekrarlayın. Bunu kontrolle ilişkilendirin, uygun olduğunda geçersiz bir durumu belirtin ve odağın (focus) ilk hataya veya özet alanına öngörülebilir şekilde taşınmasını sağlayın. Başarıyı açıkça onaylayın.
Yazarken doğrulamayı yalnızca geri bildirimin kararlı ve kullanışlı olduğu durumlarda yapın; örneğin kullanıcı adı uygunluğu gibi. Girişin ortasında oluşan ve kaçınılmaz format hataları çoğu zaman alan odak dışına çıktığında veya gönderimde kontrol edilmeye daha uygundur. Dinamik mesajları ekran okuyucularla test edin; canlı güncellemeler yardımcı olabilir ama sürekli kesinti sürtünme yaratır.
Sunucuda izin verilen tarihleri, seçenekleri, uzunlukları ve formatları tanımlayın. Şüpheli karakterlerin kara listesi (denylist) tek başına güvenilir bir birincil kontrol değildir.
Zaman aşımı veya çift gönderim durumunda isteğin alınıp alınmadığını söyleyin ve güvenli bir sonraki adım verin.
Tarayıcı otomatik doldurma ve mobil girişi destekleyin
Veriyi tanımlayan spesifik autocomplete token'ları ekleyin: given-name, family-name, email, tel, shipping street-address, billing postal-code, username ve new-password yaygın örneklerdir. Token'lar tarayıcıların ve parola yöneticilerinin benzer alanları ayırt etmesine yardımcı olur. Otomatik doldurma bir yardım niteliğindedir, garanti değildir; davranış değişir ve kullanılabilir bir form, name veya id ve bir submit kontrolüne bağlı olabilir.
Uygun mobil klavyeyi ve temel tarayıcı doğrulamasını sunabilecek bir input type kullanın. Parola alanlarında yapıştırmayı engellemeyin veya parola yöneticilerini engellemeyin. Modern tarayıcılar oturum açma formlarında autocomplete kapalı olsa bile kimlik bilgisi doldurma önerebilir; bu yüzden kitlenizin kullandığı tarayıcılarda gerçek yolları test edin.
Tek bir sayfada fatura ve gönderim varsa aynı olan alanların karışmaması için ilgili gruplayıcı token'ları kullanın.
Etiketlerin görünür kaldığından ve betiklerin tarayıcı tarafından doldurulmuş değerleri boş olarak algılamadığından emin olun.
Yolu klavye ile tamamlanabilir yapın
Bir kişi formu bir işaret cihazı olmadan tamamlayabilmelidir. Klavye operasyonu ayrıca konuşma girişi ve tuş üreten diğer yardımcı teknolojileri destekler. Formun önünden sonrasına Tab ile gidin: sıra görevle uyumlu olmalı, odak görünür olmalı ve hiçbir kontrol, diyalog, tarih seçici, hata bağlantısı veya yardım paneli odağı hapsetmemelidir.
Yerel kontroller bunun çoğunu zaten sağlar. Özel açılır listeler, maskeli tarihler, adres aramaları, CAPTCHA alternatifleri ve modaller kasıtlı klavye davranışı, odak yönetimi ve erişilebilir isimler gerektirir. Eğer özel bir bileşen kullanılabilir bir yerel alternatife yetişemiyorsa, basitleştirin. Dar genişliklerde ve yüksek yakınlaştırmada test edin.
Normal, hata ve koşullu akışları tamamlamak için Tab, Shift+Tab, Enter, Space, Escape ve ilgili ok tuşlarını kullanın.
İyileştirmeleri korunma kalkanları ve geri alma ile yayınlayın
Değerli bir formu değiştirmeden önce onaylanmış gönderimler, alan kategorisine göre hatalar, teknik hatalar ve tamamlanma süresi için bir temel ölçüm kaydedin. Metrik iyileştirmek için sadece ham verileri toplamayın veya hassas verileri yeniden çalıştırmayın. Bir oran nadiren insanların neden zorlandığını açıklar; toplu sinyalleri erişilebilirlik ve klavye kontrolleriyle eşleyin.
Mümkünse her seferinde tek maddelik değişiklikler yayınlayın; örneğin etiketin sözcük seçimi, isteğe bağlı bir alanın kaldırılması veya iyileştirilmiş toparlanma. Testten önce korunma eşiğini tanımlayın: ödeme yetkilendirme hataları, destek iletişimleri veya erişilebilirlik regresyonları ilgili olabilir. Üretim yapılandırmasını güvenli hesaplar ve ödeme test ortamlarıyla test edin. Ödeme betikleri, veri işleme ve uyumluluk nitelikli güvenlik, ödeme ve hukuki inceleme gerektirir; bu makale uyumluluğu onaylamaz.
SIU (Status Is UP), bir yayın önkontrolü (launch preflight) ile bunu daha güvenli hale getirir: bağımlılıkları, istemci davranışını, sunucu yanıtlarını, onayı ve geri almayı doğrulayın. Bu proaktif bir düzeltmedir; ekibin canlı durum veya kesinti izleme sürecinin yerine geçmez.
Eksik ve hatalı değerler, süresi dolmuş oturumlar, yavaş yanıtlar, başarısız bir arama ve son eyleme çift tıklama kullanın.
Önceki yapılandırma, bir sahip ve maruz kalma artmadan önce tersine çevrilebilir bir dağıtım adımı hazır bulundurun.
