Tek sayfalı uygulamalarınızın ekran okuyucularla çalışmasını sağlayın

Yazar: Monica Porter
Yaratılış Tarihi: 13 Mart 2021
Güncelleme Tarihi: 15 Mayıs Ayı 2024
Anonim
Tek sayfalı uygulamalarınızın ekran okuyucularla çalışmasını sağlayın - Yaratıcı
Tek sayfalı uygulamalarınızın ekran okuyucularla çalışmasını sağlayın - Yaratıcı

Tek sayfalı uygulamalar, görünüm değişikliklerinin iletilmesi söz konusu olduğunda önemli bir erişilebilirlik sorunu teşkil eder. Bir sayfa yenilemesi olmadan, ekran okuyucular bu önemli UI değişikliklerini algılamaz ve görme engelli kullanıcıların kafasını karıştırır ve farkında olmaz.

Çözümlerden biri, sayfa başlığına göre bir mesaj oluşturmak ve yeni bir görünümün yüklendiğini yararlı bir mesajla açıkça duyurmak için bir ARIA canlı bölgesinden yararlanmaktır. Önce, viewContent güncellendiğinde çağrılan bir işlev oluşturun. AngularJS, bu amaç için bir $ viewContentLoaded olayı sağlar. Denetleyici kodunda, olayı dinleyin ve bir işlev çağırın (CoffeeScript'te):

app.controller ’PageController’, ($ kapsam, $ location, $ http) -> $ kapsam. $ on ’$ viewContentLoaded’, announce_view_loaded

Announce_view_loaded işlevinde sayfa başlığını güncelleyin ve mesajı duyurun. Tek sayfalı çerçeveler sayfa başlıklarını otomatik olarak güncellemese de, sayfa başlığını mevcut görünümle senkronize tutmak, kullanıcıların görünümü anlamasını geliştirir.


Bunu yapmanın bir yolu, görünüm başlığını saklamak için görünümün herhangi bir yerinde bir veri özniteliği kullanmaktır:

document.title = $ (’[data-viewtitle]’). data ’viewtitle’

Şimdi güncellenmiş sayfa başlığını kullanarak bir mesaj oluşturun ve duyurun:

$ .announce (document.title + ’, görünüm yüklendi’)

$ .announce (), içeriği duyurmak için görünür olmayan tek bir canlı bölge kullanan bir jQuery işlevidir. Bu yaklaşım, canlı bölgelerin anlık kullanımına kıyasla kodu ve hata ayıklama çabalarını basitleştirmeye yardımcı olur. Ancak unutulmaması gereken birkaç en iyi uygulama vardır.

Öncelikle, aria-live = "polite | assertive" kullanarak içeriği duyurmak için sayfanızda tek bir "spiker" canlı bölgesi oluşturun. Canlı bölge rolleri dahil olmak üzere diğer canlı bölgeleri kullanmayın (ör. Role = "alert | timer | log"). Örnek bir canlı bölge:

div aria-live = "polite" id = "spiker"> (Burada eklenen veya güncellenen metin duyurulacaktır) / div>

İkinci olarak, içeriği güncelledikten kısa bir süre sonra canlı bölgenin içeriğini temizleyin. Bu, kullanıcıların eski mesajlara takılıp kalmasını engeller.


Son olarak, herhangi bir erişilebilirlik tekniğinde olduğu gibi, $ .announce () 'ı mantıklı bir şekilde kullanın. Yalnızca önemli UI güncellemelerini iletmek için kullanılmalıdır.

Kelimeler: Patrick Fox

Patrick Fox, Austin’deki Razorfish’te Web UI teknoloji direktörüdür. Bu makale ilk olarak net dergisinin 271. sayısında yayınlandı.

Bunu beğendin mi? Bunları oku!

  • Tasarımcının dijital erişilebilirlik kılavuzu
  • En iyi ücretsiz komut dosyası yazı tipleri
  • Ücretsiz grafiti yazı tipi seçimi
Yeni Yayınlar
2016'nın en büyük marka bilinci oluşturma trendleri - açıklandı
Keşfetmek

2016'nın en büyük marka bilinci oluşturma trendleri - açıklandı

Ulaşılamaz ve kurum al zırh katmanlarının arka ına gizlenmiş önceden paketlenmiş, uzak megalitik varlıkları tem il eden markaların günleri ona erdi. Günümüz tüketicileri,...
Çevrimiçi en iyi 10 ücretsiz grafik tasarım kursu
Keşfetmek

Çevrimiçi en iyi 10 ücretsiz grafik tasarım kursu

Yeni beceriler öğrenmek veya grafik ta arım bilginizin temellerini yenilemek mi i tiyor unuz? Daha önce ize harika grafik ta arım eğitimleri getirmiştik, harika ücret iz e-kitaplardan b...
Bu eklektik tasarım alanı merakla dolu
Keşfetmek

Bu eklektik tasarım alanı merakla dolu

Valentin Adam bir kolek iyoncu. Kitaplar, plaklar, oyuncaklar, ba kılar ve bitkiler, grafik ta arımcının Pari 'in kalbindeki yoğun tüdyo alanına dağılmış çok ayıda tuhaf ve harika e erle...