语义:你想让他们做对,但有时他们只是让人困惑。
网站文档结构:
<body>
<header>
<div id="main">
<header> (not on every page)
<div id="content">
<footer> (not on every page)
<aside>
<footer>
将 div#main 替换为文章标记在语义上是否正确?
答案 0 :(得分:9)
为了解决这个问题的死亡人数,目前接受的答案很快就会出错。已经针对<main>
元素提供了扩展草案,目标正是您所需要的。此外,它还可以在浏览器中自动化ARIA role="main"
,以便更好地访问。有关详细信息,请参阅此链接:https://dvcs.w3.org/hg/html-extensions/raw-file/tip/maincontent/index.html
此规范是HTML5规范[HTML5]的扩展。它定义了一个用于识别的元素 文档的主要内容区域。所有规范性内容 HTML5规范,除非被此特别重写 规范,旨在成为本规范的基础。
主要元素形成了识别的常见做法 使用id值的文档的主要内容部分 '内容'和'主要'。它还定义了一个体现的HTML元素 WAI-ARIA [ARIA]里程碑角色=主要的语义和功能。
<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>
答案 1 :(得分:3)
根据http://html5doctor.com/the-article-element/,这是一种有效的语义编码方式。它被称为“一个博客风格的<article>
”。
根据您的结构,您也可以将#content
替换为文章。
请不要忘记添加http://code.google.com/p/html5shiv/,如果您通过 https 为您的网站提供服务,请同时查看协议相对网址(Google for Google),这样您就不会我必须检测http和https之间的切换。
答案 2 :(得分:0)
我认为用<section>
标签替换它会更合适。 <article>
标记适用于博客帖子,论坛帖子或报纸文章(因此标记的名称)。
相比之下,<section>
标记用于文档中更通用的内容部分,因此在这种情况下更适合。
这是much better explained by Mark Pilgrim
的全部DiveIntoHTML5.ep.io