10

本着渐进增强的精神,如果浏览器支持,我想做一些 ARIA 功能测试来实现额外的增强。我不希望检测屏幕阅读器——我希望确保屏幕阅读器用户在他们使用的工具的情况下获得最佳体验。

例如,如果aria-live不支持该属性,那么实现无限滚动可能不是一个好主意。

我知道还有一个问题是浏览器可能支持这些属性,但屏幕阅读器可能不支持。由于屏幕阅读器在浏览器上透明运行,我可以忽略这种边缘情况。

我从来没有听说过有人做这样的事情。是否像测试浏览器赋予的额外 DOM 属性一样简单?Mark Pilgrim 的其他能力测试技术之一在这里有效吗?

谢谢!

4

3 回答 3

3

第一个答案有一些不正确的信息。某些浏览器确实支持 WAI-ARIA,而有些则不支持。浏览器通过操作系统的无障碍 API 向屏幕阅读器发送事件。例如,如果您使用 IE 7,它无法处理 IE 8 可以处理的 WAI-ARIA。看这张图

话虽如此,您无法进行测试以确定支持哪些标签。一般来说,有限的 WAI-ARIA 支持始于 FF2 和 IE8。查看浏览器的发行说明以确定它具有哪些 WAI-ARIA 支持。

这是一个详细介绍测试 WAI-ARIA 的链接

于 2011-06-17T19:01:36.533 回答
1

我不想检测屏幕阅读器

我很抱歉,但这正是你想要做的。除非屏幕阅读器以某种方式暴露于内容脚本,否则无法检测到屏幕阅读器,并且有许多不同的屏幕阅读器,因此您不应该真正尝试。如果有的话,您可能会在支持听觉 CSS 的浏览器中获得一些 hack 以检测屏幕阅读器,但您肯定无法检测是否支持某个 ARIA 功能。

如果不支持 aria-live 属性

没有浏览器实际上“支持” ARIA,而不仅仅是在 DOM 中提供元素属性访问器;只有屏幕阅读器/辅助阅读软件支持 ARIA,因为它实际上使用 ARIA 属性来帮助用户与网站交互。

于 2010-12-07T03:24:12.803 回答
0

正如@ChrisMorgan 的评论中提到的,Derek Featherstone 的 A List Apart 关于优雅地实施 ARIA 的困难的文章是必读的。

于 2012-02-07T09:38:36.640 回答