| 目次 |
|---|
|
・文書構造の明確化「セクショニング」とは ・HTML5以前の文書構造 ・文書構造の明確化の要素 ・HTML5の文書構造 ・Internet Exploreとセクショニング |
セクショニングとは、HTML文書やWEBアプリケーションにおいて、意味や機能によりまとめることを言います。
一般的な文章の中には、見出しとなる部分、主文となる部分、補足となる部分など、文書の構造によりその内容の意味合いが変わることが多くあります。
例えば、新聞を例にすると、
これまでのHTMLでも、divなどの要素とid属性やclass属性を用いて文書構造を作成することは出来ました。
しかし、それはスタイルやスクリプトの実行範囲を示しているに過ぎず、HTML文書の構造を定義するものではありませんでした。
HTML5では、文書構造の意味合いを明確化することで、シンプルで理解しやすいものにするほか、構造化されたコンテンツにより、プログラムからの操作性向上や活用の幅を広げることを目指しています。
HTML5以前の仕様でも、見出しを表すh1~h6要素や文書ブロックを表すdiv要素、段落を表すp要素が存在しています。
しかし、これらで上記の新聞のような構造を作ろうとすると、意味合いを示す要素が足りません。
そのため、これまではid属性やclass属性で仕分けていました。
リスト1. これまで文書構造の記述例
<div id="article"> <div id="nav"> <h3>目次</h3> <ul> <li><a href="#section_1">第1章</a></li> <li><a href="#section_2">第2章</a></li> </ul> </div> <div id="section_1" class="sections"> <h3 class="section-title">第1章の主見出し</h3> <h4 class="section-subtitle">第1章の副見出し</h4> <p>ここに第1章の主となる文章が書かれます。</p> <div class="aside">第1章の補足事項</div> </div> <div id="section_2" class="sections"> <h3 class="section-title">第2章の主見出し</h3> <h4 class="section-subtitle">第2章の副見出し</h4> <p>ここに第2章の主となる文章が書かれます。</p> <div class="aside">第2章の補足事項</div> </div> </div>
div要素が入れ子になり、id属性やclass属性によって文書構造を保っています。
またh3要素やh4要素は、見出しを意味するよりも、文字サイズの違いで用いられます。
上記「リスト1. これまで文書構造の記述例」をHTML5の文書構造に沿って書き直すと以下のようになります。
リスト2. HTML5の文書構造の記述例
<article> <nav> <h3>目次</h3> <ul> <li><a href="#section_1">第1章</a></li> <li><a href="#section_2">第2章</a></li> </ul> </nav> <section id="section_1"> <hgroup> <h3>第1章の主見出し</h3> <h4>第1章の副見出し</h4> </hgroup> <p>ここに第1章の主となる文章が書かれます。</p> <aside>第1章の補足事項</aside> </section> <section id="section_2"> <hgroup> <h3>第2章の主見出し</h3> <h4>第2章の副見出し</h4> </hgroup> <p>ここに第2章の主となる文章が書かれます。</p> <aside>第2章の補足事項</aside> </section> </article>
最新のFireFox、Safari、Chromeなどはセクショニングに対応しています。
Internet Exploreについては、IE9以降の対応となります。
IE8までに対応するためには、新要素をJavascriptで宣言しておく必要があります。
リスト3. IE8までの対応例
<script>
document.createElement('section');
</script>