6

我一直在阅读新的 HTML5 元素及其适当的用法,目前有一些这样的标记:

    <article>
        <h1>Crazy Awesome Programming Projects</h1>
        <article>
            <h2>Mathematics</h2>
            
            <section>
                <h3>Binary to Decimal converter</h3>
                <p> info here </p>
            </section>
            
            <section>
                <h3>Scientific Calculator</h3>
                <p> info here </p>
            </section>
            
        </article>
        
        <article>
            <h2>String Manipulation</h2>
            
            <section>
                <h3>RSS Feed Generator</h3>
                <p> info here </p>
            </section>

            <section>
                <h3>Palindrome Detector</h3>
                <p> info here </p>
            </section>
        </article>
    </article>

<article>以这种方式嵌套标签在语义上是否正确?

4

2 回答 2

9

在某些情况下嵌套article元素是正确的;最突出的案例是对博客文章的评论。

但我认为您的示例并非如此(不过,如果没有看到完整的内容,很难做出决定)。

我会完全相反:

<section> <!-- probably not article -->
    <h1>Crazy Awesome Programming Projects</h1>

    <section> <!-- not article -->
        <h2>Mathematics</h2>

        <article> <!-- not section -->
            <h3>Binary to Decimal converter</h3>
            <p> info here </p>
        </article>

        <article> <!-- not section -->
            <h3>Scientific Calculator</h3>
            <p> info here </p>
        </article>

    </section>

    <section> <!-- not article -->
        <h2>String Manipulation</h2>

        <article> <!-- not section -->
            <h3>RSS Feed Generator</h3>
            <p> info here </p>
        </article>

        <article> <!-- not section -->
            <h3>Palindrome Detector</h3>
            <p> info here </p>
        </article>
    </section>
</section>

“Binary to Decimal converter”、“Scientific Calculator”、“RSS Feed Generator”和“Palindrome Detector”是这里的文章。它们是“一个独立的组合”和“原则上,可独立分发或可重复使用,例如在联合中”。

“数学”和“字符串操作”是类别。

在结构上它类似于网上商店。“Palindrome Detector”将是可购买的产品,而“String Manipulation”将是产品类别。我想您不会将产品类别视为“独立的”。

对于容器(“Crazy Awesome Programming Projects”),article只有在有更多内容提供上下文的情况下,我才会使用。否则它只是一个顶级类别,包含子类别,其中包含“真实”内容。

好问题要问是否article合适:

  • 内容可以有自己的发布日期吗?
  • 内容的作者可能与页面不同吗?
  • 内容可以是提要中的单独条目吗?
  • 如果在没有任何其他内容/上下文的情况下打印出来,内容仍然有意义吗?

如果(某些)这些问题的回答是“是”,则article可能是正确的。

于 2013-02-03T20:20:52.510 回答
8

是的,根据HTML5 规范。这是关于嵌套article元素的说法:

嵌套文章元素时,内层文章元素表示原则上与外层文章内容相关的文章。例如,接受用户提交评论的网站上的博客条目可以将评论表示为嵌套在博客条目的文章元素中的文章元素。

于 2013-02-02T04:08:21.777 回答