我正在写一篇关于kbd
元素的博文,作为其中的一部分,我试图看看它在可访问性方面是否真的有帮助,例如:任何屏幕阅读器都会重新认识kbd
元素或对其做任何事情吗?
我试过谷歌搜索答案,但没有发现任何事情(可能归因于实际使用这个元素的人很少?)
答案 0 :(得分:4)
除了默认呈现(使用浏览器的默认等宽字体)之外,似乎没有任何证据表明在浏览器,辅助软件或其他方面对kbd
元素进行任何特定处理。
很难对任何 用它做什么的软件进行成像,因为它只是表明某些文本是作为用户输入呈现的 - 它只是代表它,而不实际涉及任何用户交互。内容可以是任何事情。用户输入通常是命令或文件名或其他“计算机”表达式,但它同样可以是自然语言或无意义的字符串(例如,密码)。
答案 1 :(得分:1)
如果屏幕阅读器以不同的音调/语音/速度/等方式阅读标有kbd
的内容,这将是有意义的。 (分别宣布)。
否则它不会(总是/完全)清楚应该输入什么和不输入什么。
不清楚输入内容的示例:
<p><kbd>Say hi</kbd> to get an introduction.</p>
<!-- vs. -->
<p>Say <kbd>hi</kbd> to get an introduction.</p>
不清楚应该输入任何内容的示例:
<p>
<kbd>kill</kbd> to kill yourself, <kbd>kill <var>name</var></kbd> to kill the player named <var>name</var>
</p>
不清楚是否必须输入标点符号以及是否必须保留键(+
)的示例:
<p>To enable god mode, press <kbd>a+v!c</kbd>.</p>
<!-- vs. -->
<p>To enable god mode, press <kbd>a+v!c.</kbd></p>
<!-- vs. -->
<p>To enable god mode, press <kbd>a</kbd>+<kbd>v!c</kbd>.</p>
如果任何屏幕阅读器出厂时默认启用kbd
支持是另一个问题,可能无法肯定回答,因为很多仅适用于一种语言的屏幕阅读器。在一个国家(更不用说所有不同的版本)。
但我想大多数高级屏幕阅读器都可以配置为使用kbd
“做任何事情”。我知道许多屏幕阅读器用户在邮件列表上共享片段/配置以改善他们的体验。如果有些人还为kbd
添加了一些支持,我不会感到惊讶。
除了屏幕阅读器用户的可访问性之外,kbd
当然也可以帮助其他用户。我经常查看来源,找出kbd
没有得到任何特殊样式时应该输入的确切内容。