我对for
标记中<label>
属性的使用情况有一个简短的疑问。我知道他们应该引用他们标记的输入元素的id
,但我经常看到它用于引用HTML表单中某些name
标记的<input>
属性。这是有效用法吗?
此外,我应该如何标记一组<input type="radio">
标签?当然,它们每个都需要一个单独的标签,但我如何正确标记它们形成的组?
提前致谢!
答案 0 :(得分:1)
{4.0}在HTML 4.01中定义,以便for
属性“匹配字段ID值”。这甚至是纯粹的语法要求:使用类型IDREF
声明属性,这意味着如果值与同一文档中的id
属性值不匹配,则HTML验证程序会发出错误消息。在HTML5中,形式主义是不同的,但原则是相同的。
因此,它必须匹配id
属性值,这由浏览器强制执行:该元素不会作为任何标签,从功能上来说,这个要求是违反的。页面仍然有效,但可用性和可访问性降低。同样的值可能也显示为name
属性值,因为这些属性具有自己的名称空间,所以说。
在label
定义标签的意义上,没有办法“标记”一组单选按钮或其他控件(即,点击label
元素通常会关注相关控件)。也没有必要。
您可以(通常应该)为一组单选按钮设置类似标题的标题,解释它们的含义。但这不是label
的工作。例如,您可以使用合适的标题元素(例如h2
)。专门为此目的而设计的构造是fieldset
元素中的label
element。它可以包含fieldset
内包含的单选按钮的简要说明。
答案 1 :(得分:-1)
for属性表示标签所代表或属于哪个元素。