Çeşitli adlar ve adres biçimleri için iyi çalışan bir formu nasıl tasarlayabilirsiniz? Küçük biçim Kullanıcıları rahatsız eder ve sitenizden ayrılmalarına veya satın alma işlemini tamamlamaktan vazgeçmelerine neden olabilir. veya kaydolabilirsiniz.
Bu codelab'de, çoğu kullanıcının en iyi şekilde yararlanabileceği, kullanımı kolay ve erişilebilir bir formu nasıl oluşturabileceğiniz anlatılmaktadır.
1. Adım: HTML öğeleri ve özelliklerinden en iyi şekilde yararlanın
Codelab'in bu bölümüne boş bir form, yalnızca bir başlık ve düğme sahip olabilir. Ardından girişler eklemeye başlarsınız. (CSS ve biraz JavaScript kodu halihazırda included.)
Projeyi düzenlenebilir hale getirmek için Düzenlemek için Remiks'i tıklayın.
Aşağıdaki kodu kullanarak
<form>
öğenize bir ad alanı ekleyin:
<section>
<label for="name">Name</label>
<input id="name" name="name">
</section>
Bu, yalnızca bir ad alanı için karmaşık ve tekrarlı görünse de zaten birçok şeyi kapsar.
label
ve input
öğelerini, label
for
özelliğini
input
adlı kişinin name
veya id
cihazı. Bir etikete dokunmak veya etiketi tıklamak, odağı ilgili girişe taşıyarak çok daha büyük hale gelir
daha fazla hedef tıklamanızı sağlar. Bu, parmaklar, baş parmaklar ve fare tıklamaları için iyi sonuç verir! Ekran okuyucular
etiket veya etiket girişi odaklanıldığında etiket metnini duyurur.
Peki ya name="name"
? Verilerle ilişkilendirilmiş addır ('ad'!)
bu girdiyi kullanır. name
özelliği ekleme
aynı zamanda, bu öğedeki verilere FormData API tarafından erişilebilir.
2. Adım: Kullanıcıların veri girmesine yardımcı olmak için özellikler ekleyin
Chrome'da Ad girişine dokunduğunuzda veya bu girişi tıkladığınızda ne olur? Otomatik doldurma seçeneği gösterilir.
sağlandığı ve tahminlerin bu giriş için uygun olduğu kabul edilir:
name
ve id
değerleri.
Şimdi, autocomplete="name"
öğesini giriş kodunuza ekleyerek aşağıdaki gibi görünecektir:
<section>
<label for="name">Name</label>
<input id="name" name="name" autocomplete="name">
</section>
Sayfayı Chrome'da yeniden yükleyin ve Ad girişine dokunun veya bu girişi tıklayın. Ne gibi farklılıklar görüyorsunuz?
Küçük bir değişiklik olduğunu göreceksiniz: autocomplete="name"
ile birlikte öneriler artık özel
değerleri (autocomplete="name"
içeren form girişlerinde de kullanılır). Tarayıcı
kimin uygun olabileceğini tahmin etmekle yetinmeyip kontrol sizdedir. Ayrıca, Yönet... seçeneğini de görürsünüz.
tarayıcınız tarafından depolanan adları ve adresleri görüntüleme ve düzenleme seçeneğini kullanabilirsiniz.
Şimdi kısıtlı doğrulama özelliklerini ekleyin.
maxlength
, pattern
ve required
için giriş kodunuz şu şekilde görünür:
<section>
<label for="name">Name</label>
<input id="name" name="name" autocomplete="name"
maxlength="100" pattern="[\p{L} \-\.]+" required>
</section>
maxlength="100"
, tarayıcının 100 karakterden uzun girişlere izin vermeyeceği anlamına gelir.pattern="[\p{L} \-\.]+"
, Unicode harf karakterlerine izin veren bir normal ifade kullanır. kısa çizgi ve nokta (tam durak) içermelidir. Yani, Françoise veya Jörg gibi adlar "geçersiz". Ancak [yalnızca\w
Latin alfabesi.required
, zorunlu... anlamına gelir. Tarayıcı, form için veri olmadan formun gönderilmesine izin vermez: bu alana girer ve göndermeyi denerseniz uyarır ve girişi vurgular. Ekstra kod yok gerekli!
Formun bu özelliklerle ve bu özellikler olmadan nasıl çalıştığını test etmek için veri girmeyi deneyin:
pattern
özelliğine uymayan değerler girmeyi deneyin.- Formu boş bir girişle göndermeyi deneyin. Tarayıcı işlevine yönelik yerleşik bir uyarı göreceksiniz: boş bırakın ve odağı bu alana bırakın.
3. Adım: Formunuza esnek adres alanı ekleyin
Adres alanı eklemek için formunuza aşağıdaki kodu ekleyin:
<section>
<label for="address">Address</label>
<textarea id="address" name="address" autocomplete="address"
maxlength="300" required></textarea>
</section>
textarea
, kullanıcılarınızın adreslerini girmeleri için en esnek yöntemdir ve hem
kesme ve yapıştırma gibi işlemlerdir.
Adres formunuzu sokak adı ve numarası gibi bileşenlere bölmemelisiniz. gerekir. Kullanıcıları adreslerini anlamsız alanlara sığdırmaya zorlamayın.
Şimdi posta kodu ve Ülke veya bölge alanları ekleyin. Kolaylık sağlaması açısından buraya yalnızca ilk beş ülke dahil edilmiştir. Tam liste, doldurulmuş adres formunda yer alır.
<section>
<label for="postal-code">ZIP or postal code (optional)</label>
<input id="postal-code" name="postal-code"
autocomplete="postal-code" maxlength="20">
</section>
<section id="country-region">
<label for="">Country or region</label>
<select id="country" name="country" autocomplete="country"
required>
<option selected value="SPACER"> </option>
<option value="AF">Afghanistan</option>
<option value="AX">Åland Islands</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AS">American Samoa</option>
</select>
</section>
Posta kodu değerinin isteğe bağlı olduğunu görürsünüz. Bunun nedeni, birçok ülkede posta kodu kullanmamasıdır.
(Global Kaynak Kitap'ta şu bilgiler yer alır:
194 farklı ülke için geçerli adres biçimlerini de kullanabilirsiniz.) Ülke veya
Bölge Ülke yerine kullanılır, çünkü tam listedeki bazı seçenekler (
Birleşik Krallık) tek ülke değildir (autocomplete
değerine rağmen).
4. Adım: Müşterilerin gönderim ve fatura adreslerini kolayca girmesini sağlayın
Oldukça işlevsel bir adres formu oluşturdunuz. Ancak siteniz birden fazla adres gerektiriyorsa ne yapabilirsiniz?
(ör. gönderim ve faturalandırma için) Müşterilerin giriş yapabilmesi için formunuzu güncellemeyi deneyin
ve fatura adresleriniz. Veri girişini mümkün olduğunca hızlı ve kolay
hale getirmek için
özellikle de iki adres aynıysa ne olur? Bu codelab'de yer alan makalede,
birden fazla adresi işleme teknikleri hakkında daha fazla bilgi edinin.
Ne yaparsanız yapın doğru autocomplete
değerlerini kullandığınızdan emin olun.
5. Adım: Bir telefon numarası alanı ekleyin
Telefon numarası girişi eklemek için aşağıdaki kodu forma ekleyin:
<section>
<label for="tel">Telephone</label>
<input id="tel" name="tel" autocomplete="tel" type="tel"
maxlength="30" pattern="[\d \-\+]+" enterkeyhint="done"
required>
</section>
Telefon numaraları için tek bir giriş kullanın: Sayıyı parçalara bölmeyin. Böylece ekipteki herkes kullanıcıların veri girmesini veya kopyalayıp yapıştırmasını, doğrulamayı kolaylaştırır ve tarayıcıların otomatik doldurmasını sağlar.
Telefon numarası girmeyle ilgili kullanıcı deneyimini iyileştirebilecek iki özellik vardır:
type="tel"
, mobil kullanıcıların doğru klavyeye erişmesini sağlar.enterkeyhint="done"
, mobil klavyenin Enter tuş etiketini, bu sonuncu olduğunu gösterecek şekilde ayarlar alanı ve form artık gönderilebilir (varsayılannext
).
Adres formunuz aşağıdaki gibi görünecektir:
- Formunuzu farklı cihazlarda deneyin. Hangi cihazları ve tarayıcıları hedefliyorsunuz? Google'ın nasıl geliştirirsiniz?
Formunuzu farklı cihazlarda test etmenin birkaç yolu vardır:
- Chrome Geliştirici Araçları Cihaz Modu'nu kullanma simüle eder.
- URL'yi bilgisayarınızdan telefonunuza gönderin.
- Bir aralık üzerinde test yapmak için BrowserStack gibi bir hizmet kullanın cihazlar ve tarayıcılar.
Daha ileri gidiyoruz
Analytics ve Gerçek Kullanıcı İzleme: Form tasarımınızın performansı ile kullanılabilirliğinin gerçek kullanıcılar için test edilip izlenebilmesini sağlar, ve değişikliklerin başarılı olup olmadığını kontrol edebilirsiniz. Yük performansını ve diğer Web Verileri'ni izlemeniz gerekir. ve sayfa analizleri (kullanıcıların ne kadarının adres formunuzdan bu? Kullanıcılar adres formu sayfalarınızda ne kadar zaman geçiriyor?) ve etkileşim analizi (hangi sayfa bileşenlerle etkileşim kuruyor mu, etkileşime girmiyor mu?)
Kullanıcılarınız nerede bulunuyor? Adreslerini nasıl biçimlendirirler? Adres için hangi adları kullanıyorlar? veya posta kodu gibi bileşenleri mi var? Frank'in Posta Adresleri Konusunda Kompulsif Rehberi , 200'den fazla ülkede adres biçimlerini ayrıntılı olarak gösteren yararlı bağlantılar ve kapsamlı rehberlik sunmaktadır.
Ülke seçiciler, kötü kullanılabilirlik nedeniyle pek bilinmemektedir. Uzun bir öğe listesinde öğe seçmekten kaçınmak en iyisidir ve ISO 3166 ülke kodu standardı şu anda 249 ülkeyi listeler.
<select>
yerine Baymard Institute ülke seçicisi.Çok sayıda öğe içeren listeler için daha iyi bir seçici tasarlayabilir misiniz? Tasarımınızın her birinin çeşitli cihaz ve platformlardan erişilebilir mi? (
<select>
öğesi, bir ancak en azından hemen hemen tüm tarayıcılarda ve yardımcı cihazlarda kullanılabilir!)Blog yayını <input type="ülke" /> tartışır ülke seçicisini standart hale getirmenin karmaşıklığı. Ülke adlarını yerelleştirmek de sorunludur. Ülke Listeleri'nde aşağıdakiler için bir araç bulunur: ülke kodlarını ve adları birden fazla dilde birden fazla biçimde indirme.