从呈现的角度来看,如果我在 <label>
标签之间写文本,则与未使用该标签时外观相同。
那么,为什么我们还要使用这个标签呢?
从呈现的角度来看,如果我在 <label>
标签之间写文本,则与未使用该标签时外观相同。
那么,为什么我们还要使用这个标签呢?
HTML不是关于呈现的。它是一种描述数据的方式。如果您有表示输入标签的文本,那么将其包装在label标签中,不是为了呈现,而是因为那就是它的作用。没有label标签,该文本几乎没有意义。通过label标签及其for属性(或不使用),您正在提供意义和结构,并形成您的标记之间的关系,这可以更好地被计算机/解析器/浏览器/人所理解。
* 如果您在输入周围包装标签,则不一定需要for属性:
<label>My input
<input type="text" id="my-input" />
</label>
label
元素的for
属性对应于input
元素的id
属性。如果您单击标签,它会将焦点放在输入框上。
示例:
<input type="checkbox" id="agree" />
<label for="agree">I agree with the Terms and Conditions</label>
如果您点击文本,将会勾选该复选框。
<label>
标签有一个特殊的功能:它允许你提供一个for
属性,将标签与输入字段或其他控件链接起来,当用户点击标签时,就像他点击了控件一样。<label for='mycontrol'>Label text</label> <input type='checkbox' name='mycontrol' id='mycontrol' value='1'>
HTML标签旨在向各种用户传达特殊含义。以下是label
标签的用途:
对于运动障碍者(也适用于一般鼠标用户)
正确使用label
标签可以被点击以访问相关的表单控件。例如,用户可以点击更易点击的label
而不是特别点击复选框来切换复选框。
对于视觉受限用户
视觉受限用户使用屏幕阅读器,当聚焦到表单控件时,会读出相关的label
标签。它帮助用户知道原本对他们不可见的标签。
从 HTML标签 可知:
“对于用户而言, label 元素不会特别渲染出来。然而,它确实为使用鼠标的用户提供了可用性改进,因为如果用户单击 label 元素中的文本,则可以切换控件。
label 标签的 for 属性应等于相关元素的 id 属性,以将它们绑定在一起。”
从展示的角度来看,没有什么作用。Lable标签用于为元素定义标签。从语义的角度来看,它不应该用于定义文本。