Javascript 访问键与热键

Javascript 访问键与热键,javascript,html,hotkeys,access-keys,Javascript,Html,Hotkeys,Access Keys,我们必须为基于浏览器的客户端实现键盘支持。 我找到了两种实现1的方法。通过在HTML或2中指定“accesskey”属性。通过javascript支持热键 我倾向于用1。因为它是内置的和标准的,但是我观察到大多数网站都支持2 有什么特别的原因吗 主要原因,或者至少是一个很好的原因,是accesskey属性设计不好、未指定(规范没有真正说明它是如何工作的),并且在浏览器中的实现不一致 此外,使用accesskey通常要求用户除了使用字母键或数字键外,还使用Alt键或Option键或等效键。这不是特

我们必须为基于浏览器的客户端实现键盘支持。 我找到了两种实现1的方法。通过在HTML或2中指定“accesskey”属性。通过javascript支持热键

我倾向于用1。因为它是内置的和标准的,但是我观察到大多数网站都支持2


有什么特别的原因吗

主要原因,或者至少是一个很好的原因,是
accesskey
属性设计不好、未指定(规范没有真正说明它是如何工作的),并且在浏览器中的实现不一致

此外,使用
accesskey
通常要求用户除了使用字母键或数字键外,还使用Alt键或Option键或等效键。这不是特别好的可用性或可访问性


与脚本技术相比,
accesskey
的唯一优势在于,当禁用JavaScript时,它可以工作。但这在应用程序或像网页这样的应用程序中很少引起真正的关注,因为没有JavaScript它们就无法工作。

许多网站忽略了屏幕阅读器的测试,屏幕阅读器对热键的支持有限,但对accesskey的支持要好得多。JAWS通过说“alt加上[the_accesskey]”来宣布一个带有accesskey的项目,但对JavaScript如何运行知之甚少

有些人还使用粘滞键,粘滞键可以在和中打开。因此,情况变得更加复杂。如果访问键或热键与屏幕阅读器自己的热键冲突,则它们无法正常工作

如前所述:


主要原因,或者至少是一个很好的原因,是accesskey属性的设计很差,未指定(规范没有真正说明它是如何工作的),并且在浏览器中的实现不一致

随着时间的推移,它会变得更好。而且,大多数用户只需学会如何在他们喜爱的浏览器上触发accesskey

更多地讨论这个主题。对于这两个计划,您可以使用屏幕阅读器进行测试,使其更可用


盲人或视力低下的人会感谢你的努力。

Hi@Jukka谢谢,这很有帮助,有没有详细讨论的链接this@Gaurav,我有一个满是灰尘的旧页面,其中一些要点可能仍然相关:。但至少对于初学者来说,约翰·福利奥特的更好。