Dan*_*Man 2 html javascript events accessibility
您可能知道,在 HTML 中,有一个accesskey属性可以让您为元素分配一个键,这样您就可以直接使用键盘触发/聚焦它们,而无需先按 Tab 键找到它们。
现在我想知道,是否可以将 JS 事件绑定到该确切的...事件,或者是否必须采用老式方式并监听onkeypress(例如),然后检查组合键?
后者可能会达不到目的,因为浏览器有不同的组合键来触发访问键。
我的想法是为(大型菜单)导航分配一个访问键,该键将展开并聚焦它,这样您就可以通过选项卡浏览链接。这样我就可以将导航放在 HTML 的末尾,这样用户就不必在数百个链接(夸张)中按 Tab 键才能到达实际内容区域中的链接。
没有这样的事件,例如没有 onAccessKey 事件,您必须挂钩 onkey* 事件之一。
但是,当使用 accesskey 时,accesskey 确实会触发元素的一些激活事件(使用 chrome 和 firefox 进行测试)。因此,您可以像平常一样简单地使用这些事件,就像用户单击、聚焦、更改 UI 的该部分一样。
使用它打开菜单的示例
html
<div id="menu">
<div id="menuBtn" accesskey="r">Menu</div>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
js
jQuery("#menuBtn").click(function(){
jQuery(this).next().toggle();
});
Run Code Online (Sandbox Code Playgroud)