1

我想知道,根据 WCAG 2.0,在哪些情况下空格键用于在页面内进行交互。

它是否在与回车键相同的情况下使用?

我应该为回车键和空格键提供相同的功能吗?

4

2 回答 2

3

不要更改控件的本机行为。这可能会惹恼用户。

按下回车键可以触发超链接。但是可以通过按回车键或空格键来触发真正的按钮。当超链接具有焦点并且用户按下空格键时,页面将滚动一屏。如果没有更多可以滚动的内容,那么用户将什么也没有体验到。

我认为还值得一提的是,由空格键触发的事件仅在释放键时触发,而使用 Enter 键将在您按下键时触发事件(在释放它之前)。

我有一个来自另一个示例的 CodePen,它显示了这一点:http ://s.codepen.io/aardrian/debug/PZQJyd

如果您正在制作类似<div>可点击的内容并尝试添加键盘交互,请不要使用<div>. 为此目的使用正确的元素,我将其简要概述为:

  • 控件是否将我带到另一个页面?使用锚点 ( <a href>)。
  • 控件是否更改了当前页面上的某些内容?使用<button>.
  • 控件是否提交表单字段?使用<input type=submit><button type=submit>
于 2016-06-22T13:19:45.747 回答
2

至于 WCAG 2.0,它专门说仅在 3 种情况下使用空格键:

https://www.w3.org/TR/2009/WD-wai-aria-practices-20090224/

  1. 检查带有键盘焦点的单选按钮(这是使用选项卡时的特殊情况,并且没有单选按钮被标记为已选中(https://www.w3.org/TR/2009/WD-wai-aria-practices-20090224# kbd_general_ex)。
  2. 建议使用空格键选择拖放支持 ( https://www.w3.org/TR/2009/WD-wai-aria-practices-20090224#dragdrop )
  3. 复选框 - 空格键切换复选框,如果列表项是可检查的(https://www.w3.org/TR/2009/WD-wai-aria-practices-20090224#listbox

WCAG 只提到了一个准则:

“TAB 键将键盘焦点移至小部件,其他键操作小部件的功能,通常是光标键、Enter 键和空格键。实际键由开发人员决定,但最佳实践建议使用相同的键绑定用于控制常见 GUI 操作系统(如 Microsoft Windows®、Apple OSX®)和 UNIX 桌面(如 GNOME 和 GTK)中的类似小部件。”

坦率地说,它留给用户的解释,并且根据您尝试实现的内容,您可能必须查看流行工具/网站/浏览器行为上类似组件的现有行为并做出合乎逻辑的决定。

于 2016-06-22T13:17:58.333 回答