Etiketler ve metin alternatifleri

Bir ekran okuyucunun kullanıcıya sesli kullanıcı arayüzü sunabilmesi için anlamlı öğelerin uygun etiketlerine veya metin alternatiflerine sahip olması gerekir. Bir etiket veya metin alternatifi, bir öğeye erişilebilirlik ağacında öğe anlamını ifade etmek için temel özelliklerden biri olan erişilebilir adını verir.

Bir öğenin adı öğenin rolüyle birleştirildiğinde, kullanıcılar ne tür bir öğeyle etkileşimde bulunduklarını ve öğenin sayfada nasıl temsil edildiğini anlayabilmeleri için kullanıcı bağlamını sağlar. Ad yoksa ekran okuyucu yalnızca öğenin rolünü bildirir. Bir sayfada gezinmeye çalıştığınızı ve herhangi bir ek bağlam olmadan "düğme", "onay kutusu", "resim" ifadelerini duymaya çalıştığınızı düşünün. Bu nedenle, iyi ve erişilebilir bir deneyim için etiketleme ve metin alternatiflerinin önemi büyüktür.

Bir öğenin adını inceleme

Chrome'un Geliştirici Araçları'nı kullanarak bir öğenin erişilebilir adını kolayca kontrol edebilirsiniz:

  1. Bir öğeyi sağ tıklayıp İncele'yi seçin. Bu, Geliştirici Araçları Öğe panelini açar.
  2. Nesne panelinde Erişilebilirlik bölmesini bulun. » sembolünün arkasına gizlenmiş olabilir.
  3. Hesaplanan Özellikler açılır listesinde Ad özelliğini bulun.
Bir düğme için hesaplanan adı gösteren Geliştirici Araçları erişilebilirlik bölmesi.

İster alt metni olan bir img ister label içeren bir input bakıyor olun, tüm bu senaryolar aynı sonuçla sonuçlanır: bir öğeye erişilebilir adını vermek.

Eksik ad olup olmadığını kontrol edin

Türüne bağlı olarak bir öğeye erişilebilir ad eklemenin farklı yolları vardır. Aşağıdaki tabloda, erişilebilir adlara ihtiyaç duyan en yaygın öğe türleri ve bunların nasıl ekleneceğiyle ilgili açıklamalar için bağlantılar verilmiştir.

Dokümanları ve çerçeveleri etiketleme

Her sayfada, sayfanın neyle ilgili olduğunu kısaca açıklayan bir title öğesi olmalıdır. title öğesi, sayfaya erişilebilir adını verir. Ekran okuyucu sayfaya girdiğinde, duyurulan ilk metin bu olur.

Örneğin, aşağıdaki sayfanın başlığı "Mary's Maple Bar Hızlı Pişirme Tarifi" başlığına sahiptir:

<!doctype html>
  <html lang="en">
    <head>
      <title>Mary's Maple Bar Fast-Baking Recipe</title>
    </head>
  <body>
    …
  </body>
</html>

Benzer şekilde, tüm frame veya iframe öğelerinin title özellikleri olmalıdır:

<iframe title="An interactive map of San Francisco" src="…"></iframe>

Bir iframe içeriği kendi dahili title öğesini içerebilir. Ancak bir ekran okuyucu genellikle çerçeve sınırında durur ve öğenin rolünü ("çerçeve") ve title özelliği tarafından sağlanan erişilebilir adını bildirir. Bu sayede kullanıcı çerçeveye girmek mi yoksa atlamak istediğine karar verebilir.

Resimler ve nesneler için metin alternatifleri ekleyin

Görüntüye erişilebilir adını vermek için img ile birlikte her zaman alt özelliği bulunmalıdır. Resim yüklenemezse kullanıcıların resmin ne iletmeye çalıştığına dair bir fikir sahibi olmaları için yer tutucu olarak alt metni kullanılır.

İyi alt metni yazmak biraz sanatsal bir iş olsa da uygulayabileceğiniz birkaç kural vardır:

  1. Resimde, etrafındaki metnin okunması zor bir içerik olup olmadığını belirleyin.
  2. Böyle bir durum söz konusuysa içeriği mümkün olduğunca kısa ve öz bir şekilde iletin.

Resim, süsleme işlevi görüyor ve yararlı bir içerik sağlamıyorsa erişilebilirlik ağacından kaldırmak için boş bir alt="" özelliği ekleyebilirsiniz.

Bağlantı içine sarmalanmış bir resim, kullanıcının bağlantıyı tıkladığında nereye gideceğini tanımlamak için img alt özelliğini kullanmalıdır:

<a href="https://en.wikipedia.org/wiki/Google">
  <img alt="Google's wikipedia page" src="google-logo.jpg">
</a>

Benzer şekilde, bir resim düğmesi oluşturmak için <input type="image"> öğesi kullanılıyorsa bu öğe, kullanıcı düğmeyi tıkladığında gerçekleşen işlemi açıklayan alt metni içermelidir:

<form>
  <label>
    Username:
    <input type="text">
  </label>
  <input type="image" alt="Sign in" src="./sign-in-button.png">
</form>

Yerleştirilmiş nesneler

Genellikle Flash, PDF veya ActiveX gibi yerleştirmeler için kullanılan <object> öğeleri de alternatif metin içermelidir. Resimlere benzer şekilde, bu metin de öğe oluşturulamazsa görüntülenir. Alternatif metin, aşağıdaki "Yıllık rapor" gibi normal metin olarak object öğesinin içine yerleştirilir:

<object type="application/pdf" data="/report.pdf">
Annual report.
</object>

Düğmeler ve bağlantılar genellikle bir sitenin deneyimi açısından hayati önem taşır ve her ikisinin de erişilebilir iyi adlarının olması önemlidir.

Düğmeler

Bir button öğesi, her zaman metin içeriğini kullanarak erişilebilir adını hesaplamaya çalışır. form parçası olmayan düğmelerde, erişilebilir iyi bir ad oluşturmak için ihtiyacınız olan tek şey metin içeriğinden dolayı net bir eylem yazmak olabilir.

<button>Book Room</button>

&quot;Rezervasyon Odası&quot; düğmesi bulunan bir mobil form.

Bu kuralın yaygın bir istisnası simge düğmeleridir. Bir simge düğmesi, düğme için metin içeriğini sağlamak üzere bir resim veya simge yazı tipi kullanabilir. Örneğin, metni biçimlendirmek için "Ne Görüyorsan Onu Elde Edersin" (WYSIWYG) düzenleyicisinde kullanılan düğmeler genellikle yalnızca grafik simgelerden oluşur:

Sola hizala simge düğmesi.

Simge düğmeleriyle çalışırken, aria-label özelliğini kullanarak düğmelerle açıkça erişilebilir bir ad vermek faydalı olabilir. aria-label, düğmenin içindeki metin içeriğini geçersiz kılarak işlemi ekran okuyucu kullanan herkese net bir şekilde açıklamanızı sağlar.

<button aria-label="Left align"></button>

Düğmelere benzer şekilde, bağlantılar da erişilebilir adlarını esasen metin içeriklerinden alır. Bağlantı oluştururken iyi bir püf noktası, bağlantının içine "Burada" veya "Devamı" gibi dolgu sözcükler yerine en anlamlı metin parçasını yerleştirmektir.

Yeterince açıklayıcı değil
Check out our guide to web performance <a href="/guide">here</a>.
Faydalı içerik!
Check out <a href="/guide">our guide to web performance</a>.

Bu, özellikle sayfadaki tüm bağlantıları listelemek için kısayollar sunan ekran okuyucular için faydalıdır. Bağlantılar yinelenen dolgu metinleriyle doluysa şu kısayollar çok daha az kullanışlı hale gelir:

VoiceOver&#39;ın bağlantılar menüsü &quot;here&quot; kelimesiyle dolu.
macOS ekran okuyucusu olan ve bağlantılar ile gezin menüsünü gösteren VoiceOver örneği.

Form öğelerini etiketleme

Bir etiketi, onay kutusu gibi bir form öğesiyle ilişkilendirmenin iki yolu vardır. Her iki yöntem de etiket metninin onay kutusu için bir tıklama hedefi olmasına neden olur. Bu, fare veya dokunmatik ekran kullanıcıları için de yararlı olur. Bir etiketi bir öğeyle ilişkilendirmek için:

  • Giriş öğesini bir etiket öğesinin içine yerleştirme
<label>
  <input type="checkbox">Receive promotional offers?</input>
</label>
  • Alternatif olarak, etiketin for özelliğini kullanarak öğenin id özelliğine de bakabilirsiniz.
<input id="promo" type="checkbox"></input>
<label for="promo">Receive promotional offers?</label>

Onay kutusu doğru şekilde etiketlendiğinde ekran okuyucu, aşağıdaki VoiceOver örneğinde olduğu gibi öğenin onay kutusu rolüne sahip olduğunu, işaretli durumda olduğunu ve "Promosyon teklifleri alınsın mı?" olarak adlandırıldığını bildirebilir:

&quot;Promosyon teklifleri alınsın mı?&quot; sorusunu gösteren VoiceOver metin çıkışı

YAPILACAKLAR: DevSite - Think and Check and Check değerlendirmesi