WCAG 3.3.2 · A Seviyesi · ADA Title II

ADA ve form etiketleri ile yönergeleri

Her girdinin görünür bir etiketi olmalı; olağandışı biçimler alandan önce açıklanmalı. Kamu formlarından örnekler.

Ne yazılacağını açık etmek

Etiketi olmayan ya da yazmaya başlayınca kaybolan etiketi olan bir alan, insanları tahmin etmeye zorlar. WCAG 2.1, 3.3.2 başarı ölçütü, içerik kullanıcıdan girdi gerektirdiğinde etiket veya yönerge sağlanmasını ister. Understanding belgesinde "gerektirmek" gevşek yorumlanır: isteğe bağlı alanlar da girdi kabul ettiği için kapsamdadır.

  • Her kontrolün bir etiketi olmalı; radyo grubundaki, onay kutusu kümesindeki veya birleşik kutudaki her seçeneğin de kendi etiketi olmalı.
  • Girdinin olağandışı ya da katı bir biçimi varsa bunu bir yönergeyle söyleyin.
  • Uzun yönergeler yalnızca alan odaktayken görünebilir; yeter ki insanlar onlara ulaşabilsin.
  • Çok fazla metin de bir engeldir; her şeyi değil, yeterli bilgiyi hedefleyin.

Komşu ölçütler

Etiketin doğru kodlanıp bağlanması 1.3.1’e, erişilebilir ad 4.1.2’ye, ifadenin açık olup olmadığı 2.4.6’ya aittir. Bu ölçüt daha basit bir soru sorar: orada insana ne gireceğini söyleyen bir şey var mı?

ADA açısı: etiketsiz alanlar ve belirsiz yönergeler

DOJ rehberi, erişilemeyen formları yaygın engeller arasında sayar ve etiketsiz alanlar ile belirsiz yönergeleri özellikle belirtir. Kamu formları buna özellikle yatkındır: su faturası hesap sorgusunda yalnızca yer tutuculu alanlar, açıklanmamış yıldızlar, kimsenin belirtmediği tarih biçimleri, ortak sorusu uzak bir başlıkta kalan radyo düğmesi grupları. Genel bakış için yaygın engeller sayfasına bakın.

Kod: yer tutucular, gruplar, biçimler, zorunlu işaretleri

Etiket yerine kullanılan yer tutucu

Hatalı
<input name="abone" placeholder="Abone numarası">
Doğru
<label for="abone">Abone numarası</label>
<input id="abone" name="abone" inputmode="numeric" placeholder="örn. 4471-0092">

Sorusu olmayan radyo grubu

Hatalı
<p>Ziyaret türü</p>
<input type="radio" name="ziyaret" id="z1"> <label for="z1">İlk başvuru</label>
<input type="radio" name="ziyaret" id="z2"> <label for="z2">Kontrol ziyareti</label>
Doğru
<fieldset>
  <legend>Ziyaret türü</legend>
  <input type="radio" name="ziyaret" id="z1"> <label for="z1">İlk başvuru</label>
  <input type="radio" name="ziyaret" id="z2"> <label for="z2">Kontrol ziyareti</label>
</fieldset>

Kimsenin açıklamadığı katı biçim

Hatalı
<label for="kunye">Köpek kayıt künyesi</label>
<input id="kunye" name="kunye" pattern="[A-Z]{2}[0-9]{5}">
Doğru
<label for="kunye">Köpek kayıt künyesi</label>
<p id="kunye-ipucu">İki büyük harf ve ardından beş rakam, örneğin AB12345.</p>
<input id="kunye" name="kunye" pattern="[A-Z]{2}[0-9]{5}" aria-describedby="kunye-ipucu">

Kod: SwiftUI ve Jetpack Compose

Hatalı
// SwiftUI
TextField("Parsel numarası", text: $parsel)   // yazınca etiket kaybolur
Doğru
// SwiftUI
VStack(alignment: .leading) {
  Text("Parsel numarası")
  Text("Emlak vergisi bildiriminde yazar, örn. 12-345-678").font(.caption)
  TextField("12-345-678", text: $parsel)
    .accessibilityLabel("Parsel numarası")
}
Hatalı
// Jetpack Compose
OutlinedTextField(
  value = parsel, onValueChange = { parsel = it },
  placeholder = { Text("Parsel numarası") }
)
Doğru
// Jetpack Compose
OutlinedTextField(
  value = parsel, onValueChange = { parsel = it },
  label = { Text("Parsel numarası") },
  supportingText = { Text("Emlak vergisi bildiriminde yazar, örn. 12-345-678") }
)

Nasıl denetlenir?

  1. Sayfa normal kaydırılmışken her alana bakın. Ne gireceğini söyleyen görünür bir metin var mı?
  2. Alana tıklayın ve yazmaya başlayın. Etiket görünür kalıyor mu?
  3. Radyo düğmesi ve onay kutusu gruplarında seçenek etiketlerinin yanında ortak bir soru olup olmadığına bakın.
  4. Kimsenin belirtmediği biçimleri, uzunluk sınırlarını ve zorunlu alanları arayın.
  5. Araçlar: otomatik kurallar hiç etiketi olmayan alanları bulur. Yönergelerin yeterli olup olmadığını söyleyemez; bu yüzden formu tanımayan birine doldurtun.

Kamu formlarında görülen hatalar

  • Tek etiket olarak yer tutucu metin.
  • Biçim ipuçlarının gönderimden sonra, hata mesajında verilmesi.
  • display:none ile gizlenen etiketler.
  • Yalnızca üzerine gelince beliren bir araç ipucundaki yönergeler.

Yayına almadan önce

  • Her girdinin yazarken de görünür kalan bir etiketi var.
  • Olağandışı biçimler ve kısıtlar alandan önce belirtiliyor.
  • Her radyo ve onay kutusu seçeneğinin kendi etiketi var; ortak soru için bir grup etiketi (fieldset ve legend) önerilir.

Kaynaklar

Standart sürümü: WCAG 2.1 (W3C Tavsiye Kararı, 5 Haziran 2018); Title II web kuralında adı geçen sürüm. Bu sayfa bilgilendirme amaçlıdır ve hukuki tavsiye niteliği taşımaz. Bağlayıcı metin için ADA yasasının ve yönetmeliklerinin resmî metinlerini esas alın ve size nasıl uygulandığını bir avukata sorun.

Corpowid, Gartner tarafından tanınan bir platformdur.

Corpowid, dijital erişilebilirlik alanındaki yenilikçi yaklaşımı ve performansı nedeniyle dünyanın önde gelen araştırma ve danışmanlık şirketlerinden biri olan Gartner tarafından takdir edilmiştir. Bu rozetler, yapay zeka destekli ve kapsayıcı web deneyimleri oluşturma konusundaki kararlılığımızı yansıtmaktadır.

Corpowid hakkında sorularınız mı var?

Bizimle iletişime geçin.

Size en kısa sürede geri dönüş sağlayacağız.