Sommeone能否解释一下在标签上使用for属性和在输入中使用aria-labeled-by-attribute之间的区别。
据我所知,aria-labeled-by允许多个元素(例如,单选按钮)使用相同的标签进行标记,无论其是否依赖于元素的ID(应唯一),因此只能分配给一个元素。
那么我应该在哪种情况下使用aria-labeled-by?
答案 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>