O-P World: HTML5へのマークアップ言語の変更
先日から少し調べ始めたHTML5であるが、やはり、文書構造を明確化できるsection, article, nav, aside, header, footerといったタグが使えることは面白い。
試験的に、トップページ(メインページ)をローカル環境にコピーし、HTML5式にマークアップを行ってみた。
すでにMovable Typeの標準のテンプレートとは異なった構造になっていた可能性もあるが、元々のトップページはMovable Typeの標準の構造を流用していて、大雑把にまとめると以下のような構造になっていた。
-
html要素
-
head要素
- meta要素
- link要素
-
body要素
class="layout-two-column-right"-
div要素
id="container"-
div要素
id="container-inner"-
div要素
id="banner"-
div要素
id="banner-inner"- h1要素
id="banner-header" - h2要素
id="banner-description"
- h1要素
-
div要素
-
div要素
id="pagebody"-
div要素
id="pagebody-inner"-
div要素
id="alpha"-
div要素
id="alpha-inner"- h2要素 (日付)
class="date-header" -
div要素
id="entry-????"class="entry"-
div要素
class="entry-header"- h3要素 (記事タイトル)
a00????
- h3要素 (記事タイトル)
-
div要素
class="entry-content"-
div要素
class="entry-body"- (実際の記事内容)
-
div要素
class="entry-footer"- dl要素 (投稿者・日時)
- dl要素 (カテゴリリスト)
- dl要素 (タグリスト)
- dl要素 (パーマリンク等)
-
div要素
-
div要素
- (次の記事のdiv要素
class="entry") - (次の日付のh2要素
class="date-header")
- h2要素 (日付)
-
div要素
-
div要素
-
div要素
id="beta"-
div要素
id="beta-inner"- div要素
class="module"またはclass="widget" - (複数のサイドバー用ウィジェット)
- div要素
-
div要素
-
div要素
-
div要素
-
div要素
-
div要素
-
head要素
この構造ツリーをulとliでマークアップするだけでも一苦労だが、これを以下のように変更したいと思っている。
-
html要素
-
head要素
- meta要素
- link要素
-
body要素
class="layout-two-column-right"-
div要素id="container"-
div要素id="container-inner"-
header
div要素id="banner"-
div要素id="banner-inner"- h1要素
id="banner-header" - p
h2要素id="banner-description"
- h1要素
-
-
main
div要素id="pagebody"-
div要素id="pagebody-inner"-
article
div要素id="alpha"-
div要素id="alpha-inner"- h1
h2要素 (日付)class="date-header" -
article
div要素id="entry-????"class="entry"-
div要素class="entry-header"- h1
h3要素 (記事タイトル)a00????class="entry-header"
- h1
-
div要素class="entry-content"-
article
div要素class="entry-body"- (実際の記事内容)
-
footer
div要素class="entry-footer"- address要素 dl要素 (投稿者・日時)
- nav要素 dl要素 (カテゴリリスト)
- nav要素 dl要素 (タグリスト)
- nav要素 dl要素 (パーマリンク等)
-
article
-
- (次の記事のarticle
div要素class="entry") - (次の日付のh1
h2要素class="date-header")
- h1
-
-
aside
div要素id="beta"-
div要素id="beta-inner"- nav/section/aside
div要素class="module-****"またはclass="widget-****" - (複数のサイドバー用ウィジェット)
- nav/section/aside
-
-
article
-
-
footer要素
- address要素
- nav要素
-
header
-
-
-
head要素
シンプルに書き直したものが以下。
-
html要素
-
head要素
- meta要素
- link要素
-
body要素
-
header要素
- h1要素
id="banner-header" - p要素
id="banner-description"
- h1要素
-
main要素
-
article要素
id="alpha"- h1要素 (日付)
class="date-header" -
article要素
id="entry-????"class="entry"- h1要素 (記事タイトル)
a00????class="entry-header" -
article要素
class="entry-body"- (実際の記事内容)
-
footer要素
class="entry-footer"- address要素 dl要素 (投稿者・日時)
- nav要素 dl要素 (カテゴリリスト)
- nav要素 dl要素 (タグリスト)
- nav要素 dl要素 (パーマリンク等)
- h1要素 (記事タイトル)
- (次の記事のarticle要素
class="entry") - (次の日付のh1要素
class="date-header")
- h1要素 (日付)
-
aside要素
id="beta"- nav/section/aside要素
class="module-****"またはclass="widget-****" - (複数のサイドバー用ウィジェット)
- nav/section/aside要素
-
article要素
-
footer要素
- address要素
- nav要素
-
header要素
-
head要素
かなり階層構造が浅くなって、すっきりした印象になりそうだ。