accesskey
accesskey
accesskey全局属性为当前元素提供了一种生成键盘快捷键的方式。此属性的值必须包含一个单个可打印的字符。
在WHATWG规范中规定,可以指定多个以空格分割的字符,浏览器将使用它支持的第一个字符。 但是这种方式在很多浏览器中并不支持,而IE/Edge使用它支持的第一个字符没有问题,前提是没有与其他命令冲突。
触发方式
不同的浏览器和平台下激活accesskey的方式各不相同,以Chrome为例:
- windows下通过
Alt + key激活。 - macOS下通过
Control + Option + key激活。
<!-- Control + Option + a -->
<button accesskey="a">Button</button>
无障碍性问题
accesskey的值可能与系统或浏览器的键盘快捷键或辅助性技术功能发生冲突。在一个操作系统、辅助技术和浏览器的组合中有效的设置,可能在其他组合中无效。- 特定的
accesskey值可能在某些键盘上不存在,特别是在国际化是一个考虑因素的情况下。因此,针对特定语言进行适应可能会引起进一步的问题。 - 依赖于数字的
accesskey值可能会令人困惑,因为数字可能与触发的功能没有逻辑上的关联。 - 向用户提供关于存在
accesskey的信息,以便他们了解相关功能。如果系统缺乏通知用户此功能的方法,用户可能会意外激活accesskey。
由于以上这些问题,通常建议在大多数通用网站和Web应用中不使用accesskey。
案例
accesskey属性通常被用于元素的交互上,如链接、表单控制、元素定位等。
- 链接快捷方式
<a
href="https://www.google.com"
target="_blank"
accesskey="g">
Google
</a>
- 表单提交
<form action="submit.htm" method="post">
<label for="name">Name</label>
<input type="text" id="name" accesskey="n">
<input type="submit" id="submitform" accesskey="s" value="Submit">
</form>