我想知道,根据 WCAG 2.0,在哪些情况下空格键用于在页面内进行交互。
它是否在与回车键相同的情况下使用?
我应该为回车键和空格键提供相同的功能吗?
我想知道,根据 WCAG 2.0,在哪些情况下空格键用于在页面内进行交互。
它是否在与回车键相同的情况下使用?
我应该为回车键和空格键提供相同的功能吗?
不要更改控件的本机行为。这可能会惹恼用户。
按下回车键可以触发超链接。但是可以通过按回车键或空格键来触发真正的按钮。当超链接具有焦点并且用户按下空格键时,页面将滚动一屏。如果没有更多可以滚动的内容,那么用户将什么也没有体验到。
我认为还值得一提的是,由空格键触发的事件仅在释放键时触发,而使用 Enter 键将在您按下键时触发事件(在释放它之前)。
我有一个来自另一个示例的 CodePen,它显示了这一点:http ://s.codepen.io/aardrian/debug/PZQJyd
如果您正在制作类似<div>
可点击的内容并尝试添加键盘交互,请不要使用<div>
. 为此目的使用正确的元素,我将其简要概述为:
<a href>
)。<button>
.<input type=submit>
或<button type=submit>
。至于 WCAG 2.0,它专门说仅在 3 种情况下使用空格键:
https://www.w3.org/TR/2009/WD-wai-aria-practices-20090224/
WCAG 只提到了一个准则:
“TAB 键将键盘焦点移至小部件,其他键操作小部件的功能,通常是光标键、Enter 键和空格键。实际键由开发人员决定,但最佳实践建议使用相同的键绑定用于控制常见 GUI 操作系统(如 Microsoft Windows®、Apple OSX®)和 UNIX 桌面(如 GNOME 和 GTK)中的类似小部件。”
坦率地说,它留给用户的解释,并且根据您尝试实现的内容,您可能必须查看流行工具/网站/浏览器行为上类似组件的现有行为并做出合乎逻辑的决定。