2017-01-24 31 views
0

虽然做我碰到this statement来研究:按钮和链接键盘触发

警告:标记了按钮的角色链接时要小心。 按钮预计将使用空格键触发,而链接 预计将使用输入键触发。

  1. 有谁知道为什么不同的密钥用于按钮/链接?

  2. 它是确定同时使用空间输入触发?

之前阅读本我,作为一个用户,将不得不不知道何时使用空间输入


快速浏览一下Google,看看他们做了什么。

  • 对于链接空间向下滚动和输入触发
  • 对于按钮空间输入触发

回答

2
  1. 按钮是表单元素。

    如果选择checkbox元素,空间将切换复选框,同时进入将提交表单。

    为了保持一致,按钮的操作方式与此相同。实际上,他们同时接受输入空间没有任何区别。

  2. 它不仅是好的,但你必须

    阅读Third rule of ARIA内:

    例如,如果使用角色=按钮的元素必须能够接收焦点和用户必须能够使用enter(在WIN OS上)或return(MAC OS)和空格键来激活与元素相关联的操作。

  3. 这是历史原因,并不在于它已经在任何官方推荐的定义,因为据我所知

    例如一个老臭虫从2000年(https://bugzilla.mozilla.org/show_bug.cgi?id=56495)已经表示,空格键是预计将在按钮上工作。也许是Windows行为的继承。

+0

谢谢,这很有道理。关于ARIA的第三条规则很好理解,MDN文章似乎没有提及任何关于它的内容,所以我会看看我是否可以编辑它。 – joshhunt

0

我猜测回答#1但我相信用来激活按钮和超链接的键e来自操作系统的持久性。对于超链接,请考虑Windows 95中的Windows帮助及其对内容链接的依赖,或者Mac之前的Hypercard。另请注意,Space自第(IIRC)日起一直在浏览器中滚动页面。

要回答2号,不,这是不行的。这是因为空格键会触发页面滚动,并且许多用户期望当焦点位于超链接上时,按Space只会滚动页面。

简而言之,尊重键盘映射,因为依赖于它们的用户可能会对辅助技术用户以及不使用辅助技术的残障用户造成灾难性后果。

让我重新状态,你在Mozilla的所见所闻:

超链接可以通过按回车键被解雇。但是按下回车键或空格键可以触发一个真正的按钮。当超链接具有焦点并且用户按下空格键时,页面将滚动一个屏幕。

然后让我补充一点:

我觉得这也是值得一提的是由空格键触发只有触发事件时,松开按键,而使用回车键就会触发事件为只要你按下键(在释放之前)。

来源:Links, Buttons, Submits, and Divs, Oh Hell