使用HTML Label来包装元素语义?

Ada*_*hes 2 html validation html5 semantics

我正在考虑使用a label来包装a h3ptag.在我看来,这是有道理的,因为标签有标题和描述,都与输入有关.但是我似乎无法在规范中找到关于是否可以这样做的任何信息.

这是一个例子:

<label for="test1">
    <h3>Label Heading</h3>
    <p>Label Description</p>
</label>

<input id="test1" name="test" type="radio"/>
Run Code Online (Sandbox Code Playgroud)

如果没有人有更好的建议吗?

Sig*_*uza 5

W3 HTML Validator中粘贴以下代码会产生两个错误

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <label for="test1">
            <h3>Label Heading</h3>
            <p>Label Description</p>
        </label>
        <input id="test1" name="test" type="radio"/>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此上下文中,元素h3不允许作为元素标签的子元素.

在此上下文中,元素p不允许作为元素标签的子元素.

所以这段代码无效.

我还会说这在语义上是"无效的"(或者至少是奇怪的),因为我认为标签是输入框的描述,而标题不适合那里.