我想使用带有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来创建键盘快捷键,但需要考虑很多注意事项。
答案 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页面(也在下面嵌入),并考虑它也有自己的一组关键组合。
我建议您不要使用accesskey
。
但是,如果你继续这样做,你可能想要避免使用任何字母。几年前(〜2002年),英国政府想出了set of accesskey
values,它只使用数字并映射到一组特定的/页面类型:
S - 跳过导航
1 - 主页
2 - 新的
3 - 网站地图
4 - 搜索
5 - 常见问题(FAQ)
6 - 帮助
7 - 投诉程序
8 - 条款和条件
9 - 反馈表
0 - 访问密钥详细信息
我曾在成功有限的项目中使用过那些。有限的是,用户需要被告知他们存在(并且必须记住他们)并且成功,因为他们当时没有与其他学到的捷径相冲突。
我在2010年左右停止使用它们,我认为因为它们只是没有提供任何好处。
要重申,我建议您不要使用accesskey
。特别是如果您不是屏幕阅读器用户或专用键盘用户和/或无法与这些用户一起测试。
答案 2 :(得分:0)
我很高兴遇到这个讨论,因为我正在启动一个需要解决方案的项目。我的想法是:使用"回到顶部"页面中的链接带有aria-label指令,这会将焦点移动到菜单开始(或就在它之前)。它不如良好的键组合效率高,但它是用户熟悉的功能。反馈