【问题标题】:Access Key vs Hotkey访问键与热键
【发布时间】:2013-08-29 18:42:03
【问题描述】:

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

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

这有什么特别的原因吗?

【问题讨论】:

    标签: javascript html hotkeys access-keys


    【解决方案1】:

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

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

    accesskey 相对于脚本技术的唯一优势是它在 JavaScript 被禁用时工作。但这在应用程序或类似应用程序的网页中很少是真正的问题,因为无论如何它们都无法在没有 JavaScript 的情况下工作。

    【讨论】:

    【解决方案2】:

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

    有些人还使用粘滞键,可以在MS windowsMAC OS X开启。因此情况变得更加复杂。 JAWS use ctrl to silent speech。如果 Accesskey 或热键与屏幕阅读器自己的热键冲突,则无法正常工作。

    正如@Jukka K. Korpela所说:

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

    随着时间的推移会更好。更重要的是,大多数用户只需要学习如何在他们喜欢的浏览器上触发 accesskey。

    The accesskey attribute – do we still need it? 讨论有关此主题的更多信息。对于这两种计划,您都可以使用屏幕阅读器进行测试以使其更实用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-15
      • 2020-04-22
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 2018-01-10
      相关资源
      最近更新 更多