WAI-ARIA:Javascript能力测试?
本着渐进式增强的精神,我想做一些ARIA功能测试,以实现浏览器支持的其他增强。我不想检测屏幕阅读器——我想确保屏幕阅读器用户在使用工具的情况下获得最佳体验 例如,如果不支持WAI-ARIA:Javascript能力测试?,javascript,accessibility,screen-readers,section508,wai-aria,Javascript,Accessibility,Screen Readers,Section508,Wai Aria,本着渐进式增强的精神,我想做一些ARIA功能测试,以实现浏览器支持的其他增强。我不想检测屏幕阅读器——我想确保屏幕阅读器用户在使用工具的情况下获得最佳体验 例如,如果不支持aria live属性,那么实现它可能不是一个好主意 我知道还有一个问题,浏览器可能支持这些属性,但屏幕阅读器可能不支持。由于屏幕阅读器在浏览器上透明运行,我同意忽略边缘情况 我从没听说过有人做过这样的事。它是否像测试浏览器赋予的附加DOM属性一样简单?在这里做马克·帕里格林的另一件工作吗 谢谢 我不想检测屏幕阅读器 对不起,
aria live
属性,那么实现它可能不是一个好主意
我知道还有一个问题,浏览器可能支持这些属性,但屏幕阅读器可能不支持。由于屏幕阅读器在浏览器上透明运行,我同意忽略边缘情况
我从没听说过有人做过这样的事。它是否像测试浏览器赋予的附加DOM属性一样简单?在这里做马克·帕里格林的另一件工作吗
谢谢
我不想检测屏幕阅读器
对不起,这正是你想要做的。要检测屏幕阅读器是不可能的,除非他们以某种方式将自己暴露在内容脚本中,而且有许多不同的屏幕阅读器,所以您不应该真正尝试。如果有什么不同的话,您可能可以在支持听觉CSS的浏览器中进行一些黑客操作,以检测屏幕阅读器,但您肯定无法检测特定的ARIA功能是否受支持
如果不支持aria live属性
除了在DOM中提供元素属性访问器之外,没有浏览器真正“支持”ARIA;只有屏幕阅读器/辅助阅读软件支持ARIA,因为它实际上使用ARIA属性帮助用户与网站交互。第一个答案包含一些不正确的信息。某些浏览器确实支持WAI-ARIA,有些则不支持。浏览器通过操作系统的可访问性API向屏幕阅读器发送事件。例如,如果您使用IE7,它无法处理IE8可以处理的WAI-ARIA。看 也就是说,您不能通过测试来确定支持哪些标记。一般来说,有限的WAI-ARIA支持始于FF2和IE8。查看浏览器的发行说明,确定其支持WAI-ARIA
这里是如中所述,Derek Featherstone的一篇关于列表的文章是必须阅读的。为了确保我理解,您需要JavaScript来告诉您,
aria-*
属性是否对当前浏览器有任何影响?因此,如果支持浏览器(合并浏览器和任何可访问性插件)始终确保aria selected
的值为true
,false
,或未定义的
,则JavaScriptvar div=document.createElement('div');div.setProperty('aria-selected','bogus');如果(div.getProperty('aria-selected')!='bogus'){alert('aria-supported');}
可以工作吗?正确!但是,在许多浏览器中,您可以在DOM元素上设置任意属性值。在您提供的示例中,(为get/setAttribute子绑定get/setProperty),您在我测试的所有浏览器中都会收到警报,包括FF1和Safari 2(两者都不支持任何类型的ARIA)。然而,我正在寻找能够达到这种效果的东西。根据最近一篇分开列表的文章(可能是这个问题的原因?)的发现,屏幕上的读者差异很大。所以屏幕阅读器嗅探将是唯一的方法。