【问题标题】:Can a form be used inside a figure element表格可以在图形元素中使用吗
【发布时间】:2013-04-15 19:30:51
【问题描述】:

快速提问:<form> 可以在 <figure> 元素中使用吗?例如,我在想一个联系表将是

“自包含,[...是]作为一个单一的单元从主流程 文档,并且 [...] 可以从 文件而不影响文件的意思。”-[<figure> spec]

代码sn-p:

<figure>
    <figcaption>Contact Us</figcaption>
    <form>
        <input name="email"...
        <textarea name="comments"...
        <input type="submit"...
    </form>
</figure>

想法?

【问题讨论】:

  • 尽管给出了很好的答案,但我质疑语义。表格是图形吗?
  • 是的,我为此感到难过。 一个表格一个图形吗?我的意思是&lt;figure&gt;&lt;aside&gt; 不同,就像@Steve 指出的那样,&lt;form&gt; 实际上是一个流程元素。
  • 许多 HTML 元素名称或多或少具有误导性,而 HTML5 增加了混淆。这个问题似乎与“语义”有关,并且基于元素 name figure 而不是 HTML5 草案中提议的元素 definition。但被解释为句法问题,它是建设性的,并且得到了正确的回答。

标签: html semantic-markup


【解决方案1】:

是的,技术上允许您这样做。如果在您的情况下它在语义上是正确的,那是另一个问题(我可能不同意)。

为什么在技术上是允许的:

在您发布的HTML5 figure spec 的链接中,您会看到:

允许的内容:一个 figcaption 元素,后跟流内容

因为&lt;form&gt; 元素被认为是flow element,所以你很好。

【讨论】:

  • 好问题。 :) 这主要是一种直觉。到目前为止,我所看到的任何对figure 的引用总是将内容视为主要内容的一些视觉补充(因此它提供了figcaption)。您的示例似乎向我建议使用带有 hX 元素的 aside。但话又说回来,我不认为你完全错了。
  • 现在,我正在放弃那个方向。我的直觉说不。我也有这样的感觉,该图应该是“主要内容的视觉补充”......表单是一个功能元素(特别是联系页面的 PRIME 功能),而不仅仅是视觉补充。感谢您成为篮板!
【解决方案2】:

来自 HTML 5 Nightly:

"图形元素表示一个内容单元,可选带有标题,它是自包含的,通常作为单个单元从文档的主要流程中引用,并且可以从文档的主要流程,而不影响文档的含义。”

鉴于最后一部分,我认为最好将表单包装在 &lt;div&gt; 中,或者将表单的内部内容包装在 &lt;fieldset&gt; 元素中。我认为&lt;figure&gt; 更适合图像、视频、音频、代码 sn-ps 等,但这只是我的意见。

Take a look at section 4.5 of the HTML 5 spec for more insight

【讨论】:

  • 我曾考虑使用&lt;fieldset&gt; 来达到我的目的,但这不合适,因为它应该将“一组表单控件”分组。感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
相关资源
最近更新 更多