苹果Mac上的语音指示:符合W3C标准吗?

3

最近我一直在进行无障碍测试,特别是ARIA方面的测试。每当我在Apple Voiceover(OS X 10.9.2)上测试时,行为似乎不符合规范,有时甚至是不确定的。即使对于像role="button"这样的基本功能也是如此。但是,我认识到很有可能是我的使用方法有误。(对于这个问题,假设标记本身是正确的,并且在其他屏幕阅读器中完全有效。)那么,根据您的经验,我是否正确认为Voiceover存在缺陷,并且不适用于测试ARIA增强的网页?还是说我只需要更好地了解它?


你有没有某个被误解的具体例子? - Brad
1个回答

1
一些我学到的东西:
  • 目前来说,使用Safari可以获得与Voiceover最佳的效果。我的问题之一是我在其他浏览器中进行测试。某些或者所有其他浏览器可能会与Voiceover交互异常。也许随着时间的推移,这种情况会得到改善。

  • Voiceover的用户界面可能不直观。本质上,它并不特别易于发现。这个文档对我非常有帮助。如果不了解键盘控件的微妙差别,你将无法走得太远。

  • 你需要使用ctrl-option-shift-up和ctrl-option-shift-down键来“进入”和“退出”单个DOM节点。否则,在某些时候,你将无法与它们进行交互,并且在其他时候可能会卡在其中。

  • 有时候事物会以奇怪的方式被宣布。例如,像<span role="button" aria-label="Delete">×</span>这样的元素最初被宣布为“删除组”。如果你使用ctrl-option-shift-down进入按钮,它将宣布“1项与删除组交互时间可点击”。第一个消息不包括“可点击”,这让我感到惊讶。我认为第二条信息的信噪比很低。但现在我只是在挑毛病。role="button"可能不会像我希望或期望的那样运行,但至少它没有被忽略。许多其他ARIA属性也是如此。


只有几点需要注意.. 你可能是想使用role=button而不是aria-role=button。而且aria-label在屏幕阅读器中也很不一致,OS X只需在标签字符串前加上即可。为了获得最佳结果,在<span role=button>中使用以下内容:<span aria-hidden=true>x</span>并添加一个<span class=visually-hidden>Delete</span>,然后用CSS隐藏.visually-hidden此外,考虑使用<button type=button而不是<span role=button,这样您就不必为回车键和空格键添加JS处理程序。 - Daniel Göransson
谢谢指出。是笔误。我已经相应地编辑了我的帖子。至于其他建议,在某些情况下它们肯定可行,但只要可能,我更喜欢使用指定的ARIA属性。当然,如果没有客户端实际支持某些规范,我不会固执地遵循规范。 - rlkw1024

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接