for和aria-labeled by之间的区别

时间:2019-01-18 09:48:43

标签: html5

Sommeone能否解释一下在标签上使用for属性和在输入中使用aria-labeled-by-attribute之间的区别。

据我所知,aria-labeled-by允许多个元素(例如,单选按钮)使用相同的标签进行标记,无论其是否依赖于元素的ID(应唯一),因此只能分配给一个元素。

那么我应该在哪种情况下使用aria-labeled-by?

1 个答案:

答案 0 :(得分:0)

主要区别在于for属性具有功能目的。 for属性用于将label与某些ID的指定表单字段链接在一起。例如:

<div>
  <input type="checkbox" id="checkboxId" />
  <label for="checkboxId">My cool checkbox with clickable label</label>
</div>

<div>
  <input type="checkbox" id="checkboxId2" />
  <label>My cool checkbox without clickable label</label>
</div>

如您所见,具有指定for属性的标签具有切换此id属性中指定的for复选框的功能。


ARIA属性主要用于使您的应用程序可用于某些残障人士(例如,使您的应用程序适合屏幕阅读器等)。 ARIA属性没有直接的功能用途,仅与可访问性有关

<input aria-labeledby="myLabel" type="checkbox" id="checkboxId" />
<label id="myLabel">My cool label</label>