2010-11-19 21 views
1

Ajax etkin tablo seçimini 508 uyumlu hale getirmeye çalışıyorum (JAWS sürüm 9 kullanılarak erişilebilir). Tablo güncellemek için bir geri arama ile bir jQuery ajax istek onclick yürüten bir bağlantıya sahip bir tablo başlık hücrem var. JAWS kullanıcılarına alt metin iletme bilgileri (link: JAWS tarafından varsayılan olarak okunamayan), ancak görünür kullanıcılar tarafından görülmeyen bağlantı gövdesinde bir "aralayıcı" görüntüsü kullanarak başarı elde ettim. hiçbir bilgi belirten JAWS kullanıcıya iletilmektedirErişilebilir, 508 uyumlu Ajax Pagination

  1. : Bir JAWS kullanıcı bağlantısını bağlantı onclick olayı alınmalarını ve presler BOŞLUK (yukarı ve aşağı ok tuşlarını kullanarak) gider Ancak, ben iki sorun var içerik güncellendiğinde, tablo içeriği güncellendi,
  2. , JAWS kullanıcısı az önce çalıştırılan bağlantı yeniden okunur, ancak tablo güncellendikten önce alt metni yeniden okur, kullanıcının ilerlemesi gerekir. Sonraki alanı ve daha sonra güncellenmiş alt metni okumak için JAWS bağlantısına geri dönün.

Erişilebilir Ajax sayfalarını uygulama deneyimi olan herkesin önerileri çok takdir edilecektir! Benim tablo başlık hücresi kodu aşağıdaki gibidir:

<th title="Sorted column, toggle sort from Ascending to Descending" controller="xxxManagement" id="xxxName" scope="col" class="sortable sorted asc" > 
    <a href="/app/xxxManagement/listXXX?max=20&sort=name&order=desc" onclick="toggleLoadingAnimation();jQuery.ajax({type:'POST',data:{'controller': 'xxxManagement','max': '20','sort': 'name','order': 'desc'}, url:'/app/xxxManagement/listXXX',success:function(data,textStatus){jQuery('#xxxList').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){},complete:function(XMLHttpRequest,textStatus){toggleLoadingAnimation()}});return false;" title="Sorted column, toggle sort from Ascending to Descending"> 
     Name 
     <img src='/app/images/pixel.gif' alt='Sorted column, toggle sort from Ascending to Descending' /> 
    </a> 
</th> 

cevap

1

Maalesef kısa cevabın şansınız yok. Jaws'ın içerik güncellendiğinde bana söylediği sık sık sorunlarım var ve bazen Jaws'ın sanal arabelleğini güncellemek için bir ekran yenilemesi gerekiyor. Jaws 9 da biraz güncel bir sürümdür, ancak bu sürümde standartlaştırılmış bir departman için dahili uygulamalar yazıyorsanız bununla başa çıkmak zorunda kalabilirsiniz. İki şey öneririm. Birincisi, geçen ay piyasaya sürülen çene versiyonunu 12 indirmektir. Sorununuzu düzeltirseniz, bir yükseltme haklı olabilirsiniz? İkinci seçenek WAI-ARIA'a bakmaktır. Bu, tablolarınızı canlı bölgeler olarak işaretlemenize ve güncellemelerin otomatik olarak duyurulmasına izin vermelidir. Bununla ilgili hiç tecrübem yok ama işe yarayabilir. Jaws 9'un WAI-ARIA'yı ne kadar iyi desteklediğini bilmiyorum ama çeneler 10 oldukça iyi bir iş çıkarıyor. WAI-ARIA için ekran okuyucu desteği karşılaştırması için bkz. this blog entry. WAI-ARIA desteğinin neye benzediğine dair fikir edinmek için listelenen testleri her zaman Jaws 9 ile yapabilirsiniz.

+0

Benimle paylaştığınız için tekrar teşekkürler. Jaws ile çalışmak benim için yeni bir şeydir, bu yüzden JAWS'ın bir sınırlama içinde olup olmadığımı veya belirli ideal erişilebilirlik özelliklerini uygulamak için gerekli teknik bilgiden yoksun olduğumu asla bilmiyorum. Jaws 12'yi indireceğim ve önerdiğiniz gibi test edeceğim (Jaws 9 gerçekten bizim müşteri sürümümüzdür). FYI - Jaws 9, WAI-ARIA'yı desteklemiyor. –

0

Bu özel değinilmeyecek olabilir, ama progressive enhancement ile uygulamak, Size onun sorunu çözmek olacağını düşünüyorum. Diğer bir deyişle, sayfa navigasyonunuzu geleneksel (ajax olmayan) linkler üzerinden çalışır hale getirin, ardından ajax tıklama etkinliklerini bu linklere bağlayın.

JS olmayan bir tarayıcı veya ekran okuyucu kullanıyorsanız, yalnızca bir sonraki sayfaya gider. Düzenli bir modern tarayıcı kullanıyorsanız, ajax deneyimini verecektir. Erişilebilirlik ajax deneyimini kaybetmeksizin inşa edilmiştir.

+1

Merhaba Matt, ipuçlarını paylaşmak için zaman ayırdığınız için teşekkürler. Şu anda Kullanıcı Kabul Testi aşamasındayız ve uygulamamız müşteri gereksinimleriyle (IE7 ve IE8'i desteklemeli, 508 uyumlu olmalı ve süper harika bir ajax uygulaması olmalı!), Bu yüzden dikkate almak için çok geç kaldık. Progressive Enhancement (Bağlantıyı okumuştum ve ilginç olsa da, uygulamada js/ajax'ın şartsız olarak çağrılmaması durumunda uygulamada çok pahalı olacağını düşünüyorum. ama işleri daha da zorlaştırmaz. –