3

语义:你想让它们正确,但有时它们只是令人困惑。

网站文件结构:

<body>
    <header>
    <div id="main">
        <header> (not on every page)
        <div id="content">
        <footer> (not on every page)
    <aside>
    <footer>

文章标签替换div#main在语义上是否正确?

4

3 回答 3

9

为了在这个问题上提出死者,目前接受的答案很快就会不正确。有一个<main>针对您需要的元素的扩展草案。此外,它在浏览器中自动化 ARIArole="main"以获得更好的可访问性。请参阅此链接了解更多信息:https ://dvcs.w3.org/hg/html-extensions/raw-file/tip/maincontent/index.html

该规范是 HTML5 规范 [HTML5] 的扩展。它定义了一个元素,用于标识文档的主要内容区域。HTML5 规范中的所有规范性内容,除非被本规范明确覆盖,都旨在成为本规范的基础。

main 元素形式化了使用 id 值(例如“content”和“main”)来识别文档的主要内容部分的常见做法。它还定义了体现 WAI-ARIA [ARIA] 地标角色=main 的语义和功能的 HTML 元素。

<main>

  <h1>Apples</h1>
 <p>The apple is the pomaceous fruit of the apple tree.</p>

 <article>
 <h2>Red Delicious</h2>
  <p>These bright red apples are the most common found in many
  supermarkets.</p>
  <p>... </p>
  <p>... </p>
  </article>

  <article>
  <h2>Granny Smith</h2>
  <p>These juicy, green apples make a great filling for
  apple pies.</p>
  <p>... </p>
  <p>... </p>
  </article>

</main>
于 2012-12-19T10:10:58.660 回答
4

根据http://html5doctor.com/the-article-element/这是一种有效的语义编码方式。它被称为“博客风格<article>”。

根据您的结构,您也可以#content用文章替换。

不要忘记包含http://code.google.com/p/html5shiv/并且如果您通过https为您的网站提供服务,请同时查看 Protocol Relative Url(Google for it),所以您不会必须检测http和https之间的切换。

于 2011-04-05T20:21:52.623 回答
0

<section>我认为用标签替换它会更合适。该<article>标签适用于博客帖子、论坛帖子或报纸文章等内容(因此是标签的名称)。

相比之下,<section>标签适用于文档中更通用的内容部分,因此更适合这种情况。

DiveIntoHTML5.ep.io的 Mark Pilgrim 更好地解释了这一切

于 2011-04-05T20:29:49.543 回答