SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

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


セマンティクスが与えられたインライン要素

 i要素、b要素、small要素、s要素などは、旧来のHTMLではスタイリングを指示する要素でした。しかし、HTML5では、これらの要素は廃止されませんでした。これらの要素は、スタイリングを指示する役割の代わりに、文書上の意味、つまりセマンティクスが与えられることになりました。

 i要素、b要素は、もともとはイタリック体、太字でレンダリングすることを指示する要素でした。しかし、HTML5では、他の文章から何かしらの理由で区別されたテキストの範囲を表すことになりました。とはいえ、ただ単に目立たせたいためだけに、これらの要素を使うのではありません。i要素とb要素には、利用シーンが想定されています。

印刷慣例に基づいたi要素とb要素

 HTML5では、i要素は、印刷慣例でイタリック体で表現される単語やフレーズに使うことと規定されました。とはいえ、これではスタイリングを目的とした要素に違いがないと感じることでしょう。

 英語圏では、本や雑誌などで、特定の単語をイタリック体で表現する慣例があります。船の名前分類用語技術用語などです。また、小説などでは、登場人物が心で思ったことがイタリック体で表されることもあります。このように、印刷慣例でイタリック体で表現される単語やフレーズには、ある一定の規則があります。著者が好き勝手にイタリック体にしているわけではありません。

 印刷慣例に基づいたイタリック体の単語やフレーズは、ひとつの文書の中で、明確に他の文章と区別されることになります。このイタリック体が特定の用途に使われることによって、読者はいちいち説明を受けることなく、その意味を正確に理解できるのです。

 英語圏の印刷慣例は、英語版のウィキペディアにも詳しく書かれています。

 ここに掲載された用途のいくつかをご紹介しましょう。

例1 船の名前
The <i>Queen Mary</i> sailed last night.
例2 技術用語
An <i>even</i> number is one that is a multiple of 2.
例3 小説の登場人物の思考
<i>This can't be happening</i>, thought Mary.

 英語版のウィキペディアには、他にもイタリック体の用途が列挙されているのですが、すべてにi要素が適しているのではありませんので注意してください。例えば、強調やタイトルも印刷慣例ではイタリック体で表されます。しかし、強調の中でも重要性を表すのであればstrong要素、アクセントを強くしたいのであればem要素、タイトルであればh1h6要素が適しているのは言うまでもありません。

 一方、日本においてはイタリック体の印刷慣例はあまり見かけません。日本語に使われるひらがなや漢字はイタリック体で表現すると読みにくいという事情もあるのでしょう。もちろん日本語のページでも、英語圏の印刷慣例に合わせてi要素を使っても構いません。その場合は、無理にイタリック体で表現するのではなく、CSSを使って読みやすい字体にするのが良いでしょう。

日本語におけるi要素のマークアップ例
<p><i class="thought">こんな事あり得ないわ</i>、とメアリーは思いました。</p>
スタイルシート
i.thought {
  font-style: normal;
}
i.thought:before {
  content: '「';
}
i.thought:after {
  content: '」';
}
レンダリング結果
レンダリング結果

 この例では、小説の登場人物が心で思ったフレーズをi要素でマークアップしています。このi要素にはclass属性がセットされている点に注目してください。i要素は必ずしも同じ用途で使われるわけではありません。そのため、用途を表すクラス名をclass属性にセットし、スタイルシートでは、そのクラス名をフックにしてスタイルを定義するのが良いでしょう。

 b要素も、i要素と同様に、印刷慣例に基づいています。英語圏の文献では、その本題となるキーワードを太字にする印刷慣例がありますが、それに該当するのがb要素です。とはいえ、b要素は重要性を表すわけではありません。重要性を表したいのであれば、strong要素を使うべきです。

 このb要素の用例は、ウィキペディアの各ページで頻繁に見ることができます。

ウィキペディアの記載
ウィキペディアの記載

 これは、HyperText Markup Languageについて解説したページですが、そのキーワードとなる「HTML」がb要素でマークアップされています。とはいえ、このページに記載されているすべての「HTML」という単語がb要素でマークアップされるわけではありません。通常は、冒頭で使います。印刷慣例から逸脱してb要素を乱用するのは避けるべきです。

その他の変更された要素

 i要素やb要素の他にも、いくつか用途が変更された要素があるので、ここでまとめて紹介します。

変更された要素
要素 説明
s要素 もう正確ではない、もう関連性がなくなった、という意味を与えます。

<p>アイスティーとレモネードがお買い得!</p>
<p><s>希望小売価格: 1本 $3.99</s></p>
<p><strong>今なら1本たったの $2.99 でご奉仕!</strong></p>

この要素に削除訂正という意味はありません。削除訂正ならdel要素を使うべきです。
small要素 免責条項、著作権表記などの細目を表します。 <footer> <p><small>Copyright © 2010 Example.JP All Rights Reserved.</small></p> </footer>
em要素 アクセントを強くしたいテキストの範囲に使います。

<p><em></em>はネコが好きなのです。</p>
<p>私は<em>ネコ</em>が好きなのです。</p>

アクセントの位置が違うと、その文章のニュアンスが違う点に注目してください。
strong要素 重要性を表します。読者に強く訴えて必ず理解してもらいたいテキストの範囲に使います。

<p><strong>パスワードを変更してください。</strong></p>
hr要素 段落レベルのテーマの変わり目を表します。章や節の中で使います。章や節といったセクションの変わり目に使うのではありませんので注意してください。
cite要素 書籍、映画、テレビ番組、芸術などの作品のタイトルを表します。人の名前に使ってはいけませんので注意してください。

<p>私はiPadで<cite>Alice's Adventures in Wonderland</cite>を読みました。</p>

 s要素とdel要素は良く混同されるので、その違いを理解してください。いずれの要素も、ブラウザーのデフォルトのスタイルでは、取り消し線が引かれます。しかし、HTML5のセマンティクスは異なります。del要素は訂正を表します。つまり、del要素でマークアップされたテキストは間違いだったというニュアンスを含みます。それに対して、s要素でマークアップされたテキストは、間違いだったのではなく、変更されたというニュアンスを含みます。前述のs要素の用例のような定価と割引価格を掲載するシーンで、その定価にdel要素を使ってしまうと、以前は誤った価格を掲載していたことになってしまうため、注意してください。

 hr要素の使い方にも注意が必要です。旧来のHTMLでは、hr要素は罫線を表す要素でしたが、文書構造上の意味を含んでいませんでした。しかし、HTML5では段落レベルの区切りというセマンティクスが与えられました。section要素やarticle要素でマークアップされた章や節を区切るためにhr要素を使うことはできません。HTML5のhr要素は、section要素やarticle要素でマークアップされた章や節を、その中でさらに分離するために使うのです。

次のページ
a要素のアップデート

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

ここが違う!サンプルで見るHTML5連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5614 2011/01/05 16:46

イベント

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

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

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

メールバックナンバー