当提供 for...id 时,停止悬停在输入标签上以激活输入的悬停样式

Stop hovering over input label from activing the input's hover styles when for...id is provided

我不确定是否所有浏览器都这样做,但如果我在与输入的 id 相对应的标签上提供 for 属性,这会使悬停在标签上触发输入的悬停在我的情况下不受欢迎的样式。有什么方法可以阻止这种行为,同时屏幕阅读器仍然可以访问表单?

.field label {
  display: block;
  margin: 0 0 0.5em 0;
}
.field input {
  background: white;
  border: 1px solid #999;
  border-radius: 0px;
  color: black;
  display: inline-block;
  padding: 0.5em 0.7em
}
.field input:hover {
  background: #efefff;
  border-color: #333;
}
<div class="field">
  <label for="myInput">Hover over this label:</label>
  <input id="myInput" type="text">
</div>

您可以使用 pointer-events:none; 禁用任何元素的悬停效果。

.field label {
  display: block;
  margin: 0 0 0.5em 0;
  pointer-events:none;

}
.field input {
  background: white;
  border: 1px solid #999;
  border-radius: 0px;
  color: black;
  display: inline-block;
  padding: 0.5em 0.7em
}
.field input:hover {
  background: #efefff;
  border-color: #333;
}
<div class="field">
  <label for="myInput">Hover over this label:</label>
  <input id="myInput" type="text">
</div>