SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ここが違う!サンプルで見るHTML5

HTML5で再定義された要素と属性
ここが違う!サンプルで見るHTML5(3)


  • X ポスト
  • このエントリーをはてなブックマークに追加

a要素のアップデート

 HTML5では、ウェブページでは必ずといっても良いほどよく使われるa要素についても、いくつか変更された点があります。ウェブ製作の現場で最も関係する変更点は、a要素に入れることができる要素が変更された点と、ページ内アンカーのマークアップ方法でしょう。ここでは、その変更点の詳細を見ていきましょう。

ブロック要素をハイパーリンクに

 旧来のHTMLでは、a要素の中にはインライン要素しか入れることができませんでした。しかし、HTML5ではその制約が無くなり、ブロック要素をa要素の中に入れることができるようになりました。

ブロック要素をハイパーリンクにしたマークアップ例
<a href="http://example.jp/">
  <aside>
    <h3>広告</h3>
    <p>○○○○○○○○○○○</p>
  </aside>
</a>

 旧来のHTMLでは、a要素の中にh3p要素を入れることはできません。しかし、HTML5では、さまざまなコンテンツをまとめて特定のページへリンクさせることが可能となりました。

 とはいえ、あらゆる要素をa要素の中に入れて良いわけではありません。a要素に入れることができない要素があります。それは、インタラクティブ・コンテンツと呼ばれるカテゴリーに属する要素です。インタラクティブ・コンテンツに属する要素は以下の通りです。

 a要素、audio要素(controls属性が存在する場合)、button要素、details要素、embed要素、iframe要素、img要素(usemap属性が存在する場合)、input要素(type属性がhidden以外の場合)、keygen要素、label要素、menu要素(type属性がtoolbarの場合)、object要素(usemap属性が存在する場合)、select要素、textarea要素、video要素(controls属性が存在する場合)

 分かりやすく言うと、マウス・クリックなどのユーザーの操作を伴う要素は、a要素の中に入れることができません。

ページ内のアンカー

 旧来のHTMLでは、ページ内のアンカーとしてa要素がよく使われてきました。

a要素とname属性によるページ内アンカー
<a name="chapter01"></a><h2>第1章</h2>

 HTML5ではa要素のname属性が廃止になりました。そのため、アンカーをa要素を使ってマークアップすることはできません。HTML5では、id属性によってアンカーを定義します。id属性はグローバル属性の1つなので、HTML5で規定された全ての要素で利用可能です。つまり、どの要素もid属性によってアンカーとして定義できます。

HTML5でのアンカー
<h2 id="chapter01">第1章</h2>

 このアンカーは、Internet Explorer 6といった古いブラウザーでも期待通りに機能します。

 以上、用途が変更された要素について解説してきましたが、旧来からある要素も含めて、改めて理解することの重要性がお分かり頂けたら幸いです。次回は、HTML5でも注目度が高いマルチメディア関連の要素について解説します。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ここが違う!サンプルで見るHTML5連載記事一覧

もっと読む

この記事の著者

羽田野 太巳(ハタノ フトミ)

有限会社futomi 代表取締役1971年岐阜県生まれ。ホスティングサーバー(共用サーバー)でも利用できるウェブ・アプリケーションの独自開発・販売を手がける。主にPerlによるCGI制作が中心。オーダーメードのウェブ・アプリケーション制作/ウェブ・サーバー管理業務も手がける。2007年にHTML5.JPを開設し、Canvasを使ったJavaScriptライブラリの開発、HTML5の最新情報の発信、HTML5関連仕様の日本語訳を手がける。主な著書に『徹底解説HTML...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5614 2011/01/05 16:46

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング