html - 为什么不按空格键而 `label` 在 `[for=""]` attr 中有焦点检查单选按钮?

标签 html label accessibility

如果我有以下 html,当标签具有焦点时按空格键,为什么不检查与其关联的 radio ?

<input type="radio" name="first-radio" id="first-radio-id">
<label for="first-radio-id" tabindex="1">The first radio</label>

这让可访问性变得更加困难,是否有非 JavaScript 的解决方法?

这是一个 JSFiddle 示例:https://jsfiddle.net/atwright147/q0t53v78/

最佳答案

标签元素不是为了接收键盘焦点。

因此只需删除 tabindex 属性,当此控件获得焦点时,您将能够使用空格键检查 radio 控件。

如果您想控制与输入关联的标签的视觉方面,您可以将 CSS 更改为:

input:focus + label {
  outline: 1px dotted red;
}

关于html - 为什么不按空格键而 `label` 在 `[for=""]` attr 中有焦点检查单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35555421/

相关文章:

javascript - 使用 Google Apps 脚本和 JavaScript 从 google 表中反射(reflect) HTML 中的选项值

html - 为较小的屏幕在 div 之间创建空间

html - 如何使 Tab 键导航与弹出窗口一起使用?

html - 如何使默认按钮的概念在网络上可访问?

html - 如何轻松隐藏表格标题元素?

javascript - 渲染跳线的最佳方式

java - Graphics类型变量绘制的线在为其制作标签时消失

java - 标签重叠(堆叠)有问题

无法在 switch case 中声明变量

javascript - 接收错误: "Unable to get property ' style' of undefined or null reference"in slideshow