用户如何知道浏览器使用accesskey属性的击键?

时间:2016-07-14 07:57:12

标签: html html5 accessibility

我想使用带有accesskey属性的解决方案为导航菜单项设置键盘快捷键。

每个浏览器都有自己的如何使用accesskey的实现(Alt + Shift,Crtl,Alt ...) https://en.wikipedia.org/wiki/Access_key

我想通过将确切的击键组合放在括号中,根据使用的浏览器和操作系统,通知用户有可用的访问键,例如:下一页(Alt + N) 正如它在这里建议的那样: http://webaim.org/techniques/keyboard/accesskey

是否有一些检测javascript代码可以为我可以向用户显示的特定设备提供正确的accesskey按键组合?

  

键盘快捷键对于软件设计来说是一个好主意,如果有更好的方法可以让所有用户都可以使用键盘快捷键,那么对于网页设计来说它们也是一个好主意。 accesskey HTML属性允许Web开发人员为Web元素分配某些键盘快捷方式。浏览器和辅助技术的开发人员不一致且无效地实现了访问密钥支持。 Web开发人员仍然可以使用accesskey来创建键盘快捷键,但需要考虑很多注意事项。

3 个答案:

答案 0 :(得分:1)

Accesskeys是一个颇具争议的机制。参见John Foliot的文章The Future of Accesskeys。 W3C WAI的文档Better Web Browsing: Tips for Customizing Your Computer中未提及Accesskeys。

我不知道检测浏览器的accesskey击键组合的脚本或机制。这似乎是用户需要了解的浏览器。您可以尝试记录所有常见浏览器的这些按键,然后进行浏览器检测以检查您需要向用户显示的内容,但浏览器检测在不久前已经过时了。

答案 1 :(得分:1)

屏幕阅读器将宣布存在& accesskey属性的值,并且还会宣布访问它们所需的组合。

显然,这对没有使用屏幕阅读器的键盘用户没有帮助。

提供明显的提示,使用哪个字母/数字通常与提供指示特定浏览器的键盘组合的方法一样困难。请注意,专用键盘用户可能已经知道要使用的组合键。

此外,根据上一个答案中链接的每个the John Foliot article,使用accesskey有很多潜在的缺点。要快速直观,请查看all the keys JAWS (a screen reader) relies on for users to navigate页面(也在下面嵌入),并考虑它也有自己的一组关键组合。

Example of which keyboard keys have an assigned use in NVDA

我建议您不要使用accesskey

但是,如果你继续这样做,你可能想要避免使用任何字母。几年前(〜2002年),英国政府想出了set of accesskey values,它只使用数字并映射到一组特定的/页面类型:

  

S - 跳过导航

     

1 - 主页

     

2 - 新的

     

3 - 网站地图

     

4 - 搜索

     

5 - 常见问题(FAQ)

     

6 - 帮助

     

7 - 投诉程序

     

8 - 条款和条件

     

9 - 反馈表

     

0 - 访问密钥详细信息

我曾在成功有限的项目中使用过那些。有限的是,用户需要被告知他们存在(并且必须记住他们)并且成功,因为他们当时没有与其他学到的捷径相冲突。

我在2010年左右停止使用它们,我认为因为它们只是没有提供任何好处。

要重申,我建议您不要使用accesskey。特别是如果您不是屏幕阅读器用户或专用键盘用户和/或无法与这些用户一起测试。

答案 2 :(得分:0)

我很高兴遇到这个讨论,因为我正在启动一个需要解决方案的项目。我的想法是:使用"回到顶部"页面中的链接带有aria-label指令,这会将焦点移动到菜单开始(或就在它之前)。它不如良好的键组合效率高,但它是用户熟悉的功能。反馈