我可以在<form>元素内插入<header>吗?

时间:2018-11-03 11:30:03

标签: html forms

从MDN上的example,我知道我可以使用如下标题标签为表单添加标题:

<form method="POST">
  <h1>Payment form</h1>
  <p>Required fields are followed by <strong><abbr title="required">*</abbr></strong>.</p>
  <!--Input fields-->
</form>

我的问题:将这些简介信息(标题<h1><p>)插入<header>标签内是否有效,如下所示:

<form method="POST">
  <header>
    <h1>Payment form</h1>
    <p>Required fields are followed by <strong><abbr title="required">*</abbr></strong>.</p>
  </header>
  <!--Input fields-->
</form>

2 个答案:

答案 0 :(得分:2)

是的,它是有效的。请参阅https://www.w3.org/TR/html5/sec-forms.html#the-form-element,其中指出 form 元素可以包含除另一种表单之外的任何 Flow内容

  

4.10.3。 表单元素
  分类:流内容。可触摸的内容。
  可以使用此元素的上下文:需要流内容的地方。
  内容模型:流程内容,但没有表单元素后代。

在某些情况下,它在语义上也是正确的。在我看来,仅当您需要对各种元素进行语义分组以作为表格的简介时。对于标题和段落,请问问自己是否将它们分组表示,或者仅仅是补充表单本身的信息。

答案 1 :(得分:-3)

不。标头不用于处理表单。 所以它们应该彼此分开