このページの内容について
※HTML5リファレンスを立ち上げたので、このページは削除させていただく予定です。(2012年4月12日)
このページは、自分用のメモを兼ねて作成しています。HTML5に関して調べたことを、簡潔にまとめて掲載していきたいと考えています。
※HTML5で廃止予定となっている要素・属性についてはこちらでご覧いただけます。
このメモをご利用するにあたりましては、以下の点にご注意の上、ご利用いただきますようお願いいたします。
- HTML5に関する全ての要素・属性を掲載している訳ではありません。
- 私の勘違いや勉強不足により、誤った情報が掲載されている可能性があります。
- HTML5はまだ正式には勧告されていません。今後、変更が加えられる可能性があります。
2011年2月3日 更新
HTML5で作成する際のポイント
HTML5で作成する際のポイントをまとめてみました。
DOCTYPE宣言
HTML5のDOCTYPE宣言は、以下のように記述します(文書の先頭に記述します)。この宣言を行うことで、ブラウザのレンダリングモードが標準モードになります。
<!DOCTYPE html>
言語コードの指定
文書全体の言語を示したい場合は、HTML 4.01の場合と同様に、html要素に対して以下の指定を行ないます(日本語の場合は「ja」)。
<html lang="ja">
文字コード宣言
HTML5の文字コード宣言は、meta要素で以下のように記述します(head要素内の先頭に記述します)。
※UTF-8を使用することが推奨されています。(UTF-8を指定する場合は、そのファイルをUTF-8で保存する必要があります)
<meta charset="UTF-8">
IEへの対応
IE8以下は、HTML5の新要素には対応していません(そのため、スタイルが適用されなくなってしまいます)。
Google Codeで公開されている「html5shiv」というスクリプトを読み込ませることで、IE8以下にもHTML5の新要素を認識させることが可能になります。
このスクリプトを読み込ませる場合は、head要素内に以下の内容を記述しておきます。(「if lt IE 9」という部分は、「IE9未満にのみ適用させる」という指定です)
※この指定を行なっている場合でも、JavaScriptをオフにしているIEには適用されません。
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
CSSの設定
HTML5の新要素のうち、ブロックボックスとしてレンダリングさせたい要素に対して「display: block」を指定しておきます。
article, aside, figure, footer, header, hgroup, nav, section {
display: block;
}
HTML5の雛形
上記のポイントをまとめると、以下のようなコードになります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>タイトル</title>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup, nav, section {
display: block;
}
</style>
</head>
<body>
<p>内容</p>
</body>
</html>
HTML5で追加された要素一覧
HTML5では、以下の要素が追加されました。
※関連する全ての情報を掲載している訳ではありません。
| 要素名 | 説明 | メモ |
|---|---|---|
| セクション | ||
section |
汎用セクション | 他のセクショニング・コンテンツ(article、aside、nav)では表せないセクションで使用する。見出しが含まれているのが自然。スタイリング・スクリプティング目的ならばsectionではなくdivを使用する。
|
article |
記事セクション | その範囲のみでも1つのコンテンツとして成立するようなセクションで使用する。見出しが含まれているのが自然。articleを入れ子にする場合は、子articleの内容は親articleの内容に関連している必要がある。
|
aside |
補助セクション | 前後のコンテンツに関連する補助的なセクションで使用する。asideの内容が無くなってもメインコンテンツに影響がない場合に使用する。補足情報、関連広告、関連リンク、等で利用できる。
|
nav |
主要ナビゲーション | そのサイト・ページにとって「主要・重要」と思われるナビゲーションで使用する。グローバルナビゲーション、ページ内リンクのナビゲーション、パンくずリスト、ページャー、等が考えられる。関連リンクなどには適さない。
|
header |
セクションのヘッダ | 親セクションに対するヘッダを表す。親セクションがbodyならばページ全体のヘッダを表す(headとは異なる)。ページ内で何回でも使用できる。見出しが含まれているのが自然。ナビゲーション、前置き、検索ボックス、関連するロゴ、等も含められる。headerとfooterは含められない。アウトラインは生成しない。
|
hgroup |
見出しのグループ化 | 複数の見出し要素をグループ化して1つの見出しとして表す。h1-h6のみ含められる。そのグループの中で最も高いレベル(h1に近い要素)の内容が見出しテキストとして扱われる(また、そのレベルがhgroupの見出しレベルになる)。それ以外の内容は副題・キャッチフレーズとして扱われる。
|
footer |
セクションのフッタ | 親セクションに対するフッタを表す。親セクションがbodyならばページ全体のフッタを表す。ページ内で何回でも使用できる。セクションに関連する情報(著作者、著作権、連絡先、関連リンク、等)を含める。headerとfooterは含められない。アウトラインは生成しない。
|
| コンテンツのグループ化 | ||
figure |
参照される内容 | 本文から参照される内容(挿絵、図表、コード、等)を表す。その内容は単独ユニットとして存在する(独立したアウトラインを持つ)。本文から離れた場所(別ページを含む)に切り離すことも可能。必要があればfigcaptionを含める。
|
figcaption |
参照される内容のキャプション | 「参照される内容」に対してキャプションを付けたい場合に使用する。figure内の最初か最後のどちらかにのみ入れられる。
|
| テキストの意味 | ||
time |
日付や時刻 | 正確な日付や時刻を表す。日付にはグレゴリオ暦を使用する。pubdate属性は親articleまたは(親articleが存在しなければ)ページの発行日時であることを表す。datetime属性で日時を示しておけば内容は日時でなくても構わない。datetime属性が無い場合は内容が日時でなければならない。(その他、細かいルールあり)
|
mark |
目立たせる | 目立たせたいテキストに対して使用する。ユーザーが参照しやすいように目立たせる(「この部分ですよ!」と伝えることが目的)。その文章における意味的な強調(em)とは異なる。例えば検索結果画面における該当キーワードのハイライトなどに利用できる。
|
wbr |
改行位置の候補 | 極端に長い単語の改行位置の候補を指定する。「幅いっぱいになった場合はこの位置で折り返されてほしい」と考える部分に使用する。(※日本語の場合は使いどころがないかもしれません)
|
ruby |
ルビを振る | ルビ(ふりがな)を付けたいテキストに対して使用する。以前のruby(独自拡張)とは異なりHTML5ではrbを使用しない。
|
rt |
ルビのテキスト | ruby内において直前のテキストに対するルビテキストを表す。
|
rp |
ルビテキストを括弧で囲む | ルビ未対応ブラウザ向けにルビテキストの前後に括弧を付ける。ルビに対応しているブラウザではrpの内容(括弧)は表示されない。
|
bdi |
テキストの隔離 | 双方向テキスト(書字方向が混在するテキスト)において隔離したいテキストを表す。(※詳細は未確認)
|
| コンテンツの埋め込み | ||
embed |
プラグインコンテンツを埋め込む | Flashなどのプラグインコンテンツを埋め込む。以前のembed(独自拡張)がHTML5で採用された。
|
canvas |
動的なビットマップグラフィックス | 動的に描画されるグラフやゲームなどをビットマップグラフィックス(ドットの集合体で表現される画像)で表す。スクリプトを使って動かす。(※詳細は未確認)
|
video |
ビデオデータを再生する | ビデオデータを再生する際に使用する。内容にsourceを含めることでタイプの異なるデータ群(再生候補)を提供できるようになる。(※詳細は未確認)
|
audio |
オーディオデータを再生する | オーディオデータを再生する際に使用する。内容にsourceを含めることでタイプの異なるデータ群(再生候補)を提供できるようになる。(※詳細は未確認)
|
source |
ビデオ・オーディオデータを指定する | videoまたはaudioの子として使用する。この要素を使いタイプの異なる複数のデータを指定しておくと、ユーザーの環境で利用可能なデータが再生されることになる。(※詳細は未確認)
|
| フォーム | ||
keygen |
鍵ペアを生成する | 暗号化用の鍵ペア(公開鍵と秘密鍵)を生成する。(※詳細は未確認)
|
output |
出力結果を表す | スクリプトによる計算結果などを表す。(※詳細は未確認)
|
datalist |
コンボボックスを作成する | input要素と関連付けることでコンボボックス(1行のテキスト入力欄と選択リストの組み合わせ)を作成できる。オートコンプリートのようなものを作成できる。(※詳細は未確認)
|
progress |
処理の進行状況を表す | タスクがどの程度進行しているのかを表す。ダウンロードなど時間のかかる処理を実行する際に利用できる。(※詳細は未確認)
|
meter |
測定値を表す | 特定の範囲内における数量や割合を表す。ディスクの使用量を表す際などに利用できる。(※詳細は未確認)
|
| インタラクティブ | ||
details |
オンデマンドで追加情報を提供する | オンデマンド(ユーザーのリクエストに応じて行われるもの)で提供される追加情報等を表す。内容にsummaryを含めることでその情報の要約等を表すことができる。ユーザーが「詳細を見る」を選択した際に表示される情報などに利用できる。注釈とは異なる。(※詳細は未確認)
|
summary |
追加情報の要約等を表す | detailsの子として使用する。detailsによって表される「追加情報等」に対する要約、説明、キャプションを表す。(※詳細は未確認)
|
command |
コマンドを表す | ユーザーが実行できるコマンド(コンピュータに対する命令内容)を表す。menu要素内で使用することでそのコマンドがレンダリングされる。(※詳細は未確認)
|
HTML5で変更された要素一覧
HTML5では、以下の要素が変更されました。
※関連する全ての情報を掲載している訳ではありません。
| 要素名 | 変更前(HTML 4.01) | 変更後(HTML5) |
|---|---|---|
hr |
水平線を引く | 段落レベルのテーマの区切りを表す。1つの記事の中で話題が変わるような場面で使用する。セクション間の区切りとしては使用しない。アウトラインには影響しない。
|
em |
強調を表す | 強調・強勢を表す。トーンを強めて言いたいような箇所で使用する。入れ子にすることで強調の度合いを高められる。重要性は表さない。
|
strong |
より強い強調を表す | 強い重要性を表す。重要なお知らせ、警告、等に利用できる。入れ子にすることで重要性の度合いを高められる。
|
b |
太字で表示する | 他と区別したいテキストに対して使用する。本題に関連するキーワード、製品名、等を表す。他に適切な要素がない場合に使用する。重要性や強調は表さない。(※英語圏の印刷表現に基づいているらしいです)
|
i |
イタリック体で表示する | 声やムードを表す。小説などにおける登場人物の心の声、等を表したり、技術用語、船の名前、外国語、等を表す箇所で使用する。強調は表さない。(※英語圏の印刷表現に基づいているらしいです)
|
s |
取り消し線を引く | 変更されたのでその内容はもう正確ではない、関連性がなくなった、ということを表す。間違っていたので訂正します、ということを表す場合はdelを使用する。
|
small |
小さめの文字サイズで表示する | 細目(さいもく:免責条項、著作権表記、ライセンス要件、等)を注釈として表す。インラインで使用する。ブロックまるごとは含められない。
|
a |
リンクを設定する | 内容にブロックレベル要素も含められる。但しその内容に他のリンク等を含めてはならない。href属性の無いaはプレースホルダを表す。
|
address |
連絡先を明記する | 管理者の連絡先(名前、メールアドレス、住所、電話番号、フォームへのリンク、等)を表す。親セクションがbodyならばページ全体の連絡先を表す。親セクションがarticleならばその記事の連絡先を表す。連絡先以外の内容(更新日、著作権表記、等)は含めない。管理者以外の連絡先(営業所一覧、会員一覧、等)には使用しない。
|
cite |
引用元を明示する | 作品(書籍、楽曲、映画、他)のタイトルを表す。タイトル名のみに使用する。人名(作者名、発言者名、等)は含めない。
|
label |
フォーム部品とラベルを関連付ける | ラベルをクリックした際の挙動はプラットフォーム側の基準に合わされる。
|
menu |
メニュー型のリストを作成する | ツールバーやコンテキストメニュー(右クリックで表示されるメニュー)を表す。(※詳細は未確認)
|
head |
文書のヘッダ | object要素は含められない。
|
script |
スクリプト | 利用する言語がJavaScriptの場合はtype属性を省略できる。(type属性の初期値がtext/javascriptになったため)
|
style |
スタイルシート | 利用する言語がCSSの場合はtype属性を省略できる。(type属性の初期値がtext/cssになったため)
|
- サイト内検索