HTML 5 の要素の使用について競合する Web ページを読みました。section
ヘッダーとフッターの間のセクションとして使用することは意味的に適切ですか?
<body>
<header>logo, nav links</header>
<section>main content of my webpage</section>
<footer>copyright, more links, contact info</footer>
</body>
開始するには、Bruce Lawson のScooby Doo と提案されている HTML5<content>
要素を参考にしてください。
そこには、HTML5 の WHATWG バージョン (別名 HTML Living Standard) の編集者であり、最近まで HTML5 標準の W3C バージョンの編集者であったIan (Hixie) Hicksonの意見へのリンクがあります。
彼が言っていること (少なくとも過去 5 年間一貫して言っていること) は、そこにはセクショニング要素は必要ないということです。ヘッダーまたはフッターにないすべてのものを含む要素が必要な場合<div>
は、使用する要素です。
一方、W3C HTML ワーキング グループの別のメンバーである Steve Faulkner は<maincontent>
、ARIA の「メイン」ロールをネイティブ HTML に組み込むことができるという理由で、ユース ケースの要素を提案しました。
FWIW、私にとっては、ヘッダーとフッターの間に特別な要素が必要であるが、ヘッダーとフッターの間にはないというのは奇妙に思える<body>
ので<section>
、<article>
これについてはHixieと一緒です。
また、他のセクションやヘッダー/フッター要素が正しくマークアップされていなくても、メインコンテンツをマークするのに役立つというスティーブのコメントには同意しません。その使用。中途半端な仕事をしたいWeb作者だけのようです。
<maincontent>
承認された場合、それは HTML5 の一部ではないことに注意してください。最も早く表示されるのは HTML 5.1 です。
<section>
よりも少しセマンティックです<div>
。HTML5 に関する の主なポイントの1 つは、ブラウザがドキュメントのアウトライン<section>
を理解するのに役立つということです。
あなたのアプローチは、私たちのページのコンテンツに大きく依存しています。<header>
との間にあるものはすべて密接に関連していますか、それとももう少し やその他の要素 <footer>
に分解できますか?<sections>
特に HTML5 が開発および利用段階にあるものについては、相反するアドバイスでいっぱいの情報源が常に存在します。
見出し ( h1
to h6
) を使用している場合は、「暗黙のセクション」と呼ばれるものを既に使用しています。次の 2 つのマークアップの例の概要は、意味的に同一です。
例 1:
<body>
<header>
<h1>My cool site</h1>
…
</header>
<section>
<h1>My cool article</h1>
…
</section>
<footer>…</footer>
</body>
例 2:
<body>
<header>
<h1>My cool site</h1>
…
</header>
<h2>My cool article</h2>
…
<footer>…</footer>
</body>
したがって、まさにこの場合、明示的に追加するsection
かどうかは問題ではありません。アウトライン (意味構造) は同じです。補足:コンテンツのセクション化には、セクション化要素を常に明示的に使用することをお勧めします。
作成者は、セクション化コンテンツの 1 つの要素に複数の見出しを持つことによって生成される暗黙的なセクションに依存するのではなく、セクション化コンテンツの要素でセクションを明示的にラップすることも推奨されます。
(ただし、これはセクション化されたルート (のような) ではなく、セクション化されたコンテンツにのみ適用されますbody
)
さて、あなたがどの見出しを使っているか分からなければ、あなたの質問に一般的に答えることはできません. section
(または)を使用する必要がある場合がありますarticle
。そうしないと、ページのアウトラインが間違ってしまいます。また、明示的なsection
(またはarticle
) の使用がオプションである場合もあります。
いくつかの一般的なヒント (「典型的な」Web サイトにのみ適用されます。もちろん、多くの例外があります。これらのヒントは、アイデアを提供するだけのものです)
body
あり、セクション要素 ( section
、article
、nav
またはaside
)には含まれていません。section
article
nav
aside