2010-11-19 48 views
1

我想让我的支持Ajax的表格分页符合508(使用JAWS版本9可访问)。我有一个表格标题单元格,其中包含执行jQuery ajax请求的链接,并使用回调来更新表格。我已经成功地在链接主体中使用“spacer”图像,并向JAWS用户传递排序信息(请注意:JAWS默认不读取工具提示),但不会被有视力的用户看到。然而,当JAWS用户导航到链路(使用向上和向下箭头键)和压力机SPACE初始链接onclick事件,我有两个问题:可访问,符合508的Ajax分页

  1. 没有信息被输送到JAWS用户指示表内容已更新,
  2. 当内容更新时,刚刚执行的JAWS用户的链接被重新读取,但它在表更新之前重新读取替代文本,用户必须前进到下一个字段,然后返回到JAWS的链接以阅读更新的替代文本。

来自任何有经验实现可访问的Ajax分页的人的提示将不胜感激!我的表头单元代码如下:

<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> 

回答

1

不幸的是我觉得简单的答案是你运气不好。我经常遇到Jaws在更新内容时告诉我的问题,有时需要刷新屏幕来更新Jaws的虚拟缓冲区。 Jaws 9也是一个过时的版本,但如果您正在为该版本的标准化部门编写内部应用程序,则可能需要处理它。我会建议两件事。方案一是下载最近一个月发布的版本12。如果这可以解决您的问题,也许您可​​以证明升级的合理性?选项二是查看WAI-ARIA这应该让你将你的表格标记为活动区域并自动更新更新。我没有这方面的经验,但它可能工作。我不知道大白鲨9支持WAI-ARIA的能力如何,但下颚10似乎做得相当不错。请参阅this blog entry以了解WAI-ARIA的屏幕阅读器支持。您可以随时使用Jaws 9进行列出的测试,以了解WAI-ARIA支持是什么样的。

+0

再次感谢与我分享。与Jaws一起工作对我来说是新事物,所以我永远不知道我是否遇到了JAWS的限制,或者缺乏实现某些理想可访问性功能的知识。我将下载Jaws 12并按照您的建议进行测试(Jaws 9的确是我们的客户版本)。仅供参考 - 大白鲨9不支持WAI-ARIA。 – 2010-11-19 20:36:55

0

这可能不是针对您的具体问题,但如果你有progressive enhancement实现,我认为这将解决这个问题。换句话说,让页面导航通过传统(非Ajax)链接工作,然后在这些链接上连接ajax点击事件。

如果使用非JS浏览器或屏幕阅读器,它将简单地导航到下一页。如果使用普通的现代浏览器,它会给ajax体验。无障碍建立在不失去Ajax体验的情况下。

+1

嗨马特,感谢您花时间分享您的提示。我们现在处于用户验收测试阶段,我们的实现是由客户需求驱动的(必须支持IE7和IE8,必须符合508,并且...必须是超级棒的ajax应用程序!),所以现在考虑太迟了渐进式增强(虽然我确实阅读了链接,但有趣的是,如果在需求中未声明非js功能,我认为在实践中实现起来太昂贵... js/ajax不一定是不可访问的,但它不会让事情变得更困难)。 – 2010-11-19 20:32:02