スポンサーサイト

  • トゥィッターで言及(トゥィート)
  • アメーバで共有
  • はてなブックマークに登録
  • フェイスブックで共有
  • タンブラーで共有
  • グーグルプラスで共有
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

HTML に於ける<i>要素と<b>要素

  • トゥィッターで言及(トゥィート)
  • アメーバで共有
  • はてなブックマークに登録
  • フェイスブックで共有
  • タンブラーで共有
  • グーグルプラスで共有
  • 本記事は、旧アメブロ出張所に平成27年 6月20日に投稿した記事を編集しての転載です。

HTMLで長らく表示を指定した要素とされていた<i>要素<b>要素について。



<i>要素と<b>要素は

<i>要素と<b>要素は、HTML4/XHTML1 まではそれぞれ斜体テキストと太字テキストと定義されておりました。

初の HTML 公式規格とされている HTML 2.0 (※ 1)で既に導入されておりました。

こう言った経緯があるからか、XHTML 1.1 でさえも非推奨の扱いを受ける事なく存続しておりました。

HTML5 からは、これらの表示を指定するいわゆる物理要素の扱いから、表示は規定しないいわゆる論理要素に定義を変更しました。

具体的には、

  • <i>要素は特別なスタイルを持ったテキスト(具体的なスタイルは定めない)
  • <b>要素は特別な語句(これもスタイルは定めない)

とされ、既存のフレージング内容要素(かつてのインライン要素…<cite>要素など)での定義がない場合に最終手段的に使用されるべき要素とされました。



<i>要素と<b>要素が存続した理由

<i>要素と<b>要素などのような、表示方法を特定したいわゆる物理要素は好ましくないとされながらも、特にこの二つの要素は上述のように非推奨の扱いを受けた事はありません。




物理要素が好ましくない理由

HTML の専門家気取りは、しばしば物理要素は良くないと主張します。(※ 2)

これは、物理要素と言うのは、特定の閲覧環境以外では対応のしようがないからです。

例えば音声出力には斜体文字の概念も太字の概念もありません。

こう言う環境では、対応しようがないのです。

否、視覚環境であっても、いわゆる CUI(クイ) 環境(テキストのみ扱える環境)では斜体や太字にする事が出来ない環境も少なくありません。

テキストブラウザとして有名な Lynx(リンクス)では、<i>要素と<b>要素については、いずれも本来の定義に反しているのですが、他の論理インライン要素同様に反転表示で特別な要素と分かるようにしております。

HTML4/XHTML1 まででは<i>要素及び<b>要素の定義に反した扱いなので、本来は正しくない扱いの筈ですが(※ 3)、HTML5 のように表示方法さえ縛らなければ、このような工夫で対応させる事も出来るのです。




では、<i>要素と<b>要素は何故定義された?

こうなると、表示方法を定めた<i>要素と<b>要素と言うのは、本来は定義されるべきではないと言える筈です。

ですが、実際には<i>要素と<b>要素は初の HTML 公式規格である HTML 2.0 で既に登場しております。

やはり全ての文書作成者が必要とする論理要素を一通り定義する事は不可能であると気付いていたからではないかと思われます。

例えば、文章中で定義が書かれているいわゆる定義語については<dfn>要素(※ 4)とする事が出来ますが、定義を伴わないただの専門用語については<dfn>要素とするのは適切ではありません。

それでも、英語文書等ではそう言った専門用語を斜体で印字する事がしばしばあります。

そう言った状況を想定し、既存の論理要素で対応出来ないテキストを最終手段的にマークアップ出来るようにするために、<i>要素と<b>要素が定義されたのではないのかと思われます。




HTML5 に於ける<i>要素と<b>要素の定義変更

このような経緯があったからこそ、WHATWG は HTML5 に於いて、<i>要素と<b>要素を既存のフレージング内容要素で対応出来ないテキストのための要素である事を前面に出した定義に変えたのだと思われます。

実際、これらの物理要素については、表示方法のみ定義されていて実際の論理的な定義がなかったにも拘らず、ある一定の法則に則った使われ方がされてきたものです。

HTML5 での定義は、その一般での使われ方を追認したに過ぎないのです。(※ 5)




私見とまとめ

かつての W3C (ウェブ技術の標準化団体)は、良く言えば理想主義、悪く言えば独善的なところがありました。

このため、かつては一方的に規格をぶち上げ、実装する側はそれに従わせると言うやり方を取っておりました。(※ 6)

このやり方は、確かに初期のまだ成熟していない時期には有用でしたが、ウェブ技術が成熟した今日ではあらゆる面で問題がありました。

現場が求めている規格を定めてくれず、自分たちの独善で欲しくもない規格を定めると言う状況に陥っていたのです。

結果的に WHATWG が新たに設立されて HTML5 の規格化がスタートしました。

WHATWG はウェブブラウザを開発する現場関係者が集まって規格化を進めました。

IETF などが行っていたように、最低二件の完璧な実装とそれ以外に於いても充分な互換性が確保出来て初めて規格に加えられると言うやり方を取る事で、勧告時には誰もが安心して使える仕様に仕立て上げました。

<i>要素と<b>要素などの定義変更も、ウェブ文書作成現場で行われている慣習を重視したからこそ成されたものと思われます。

今日では、W3C も現場との対話を重視した方針に転換しており、そのお蔭で一時期は軽視どころか無視さえされていたのが復権を遂げる事となりました。

やはり、"権威"が一方的に決めるのではなく、実勢を見ながら決めていくのが今のウェブ技術には良い事なのではないかと思われます。(※ 7)



脚注

  • 1. 本来初めての公式規格とされる筈であった HTML1 が公式規格化される前に IETF (インターネットの標準規格を策定する非営利団体)に依り、HTML2 の規格化が進められた事に依り、HTML1 は公式化される前に破棄されました。
  • 2. 専門家気取りの中には、「物理要素だからダメ」と言うような良く言えば教条的、悪く言えば本質を分かっていないからこそ真の専門家の主張を上っ面だけで鵜呑みにした主張を展開する者も少なくありません。
  • 3. 実は HTML 2.0 に於いても、<i>要素や<b>要素を斜体なり太字なりで表現する事が不可能であれば、他の表現方法で代用出来る旨が示されております。同様に HTML 3.2 に於いても代替手段を容認しておりますし、HTML4 でも、定義における表示方法は参考情報を記述するに過ぎないとのみ記述され、代替方法の可能性を示唆しております。以上より、実は従来の規格であっても<i>要素や<b>要素の Lynx での反転表示は合法と言えるのです。
  • 4. <dfn>要素が公式に定義されたのは HTML 3.2 からですが、HTML2 でも一部ウェブブラウザに於ける拡張として言及されておりました。
  • 5. <i>要素と<b>要素、或いは<small>要素に限らず、非推奨の扱いを受けて廃止候補とされていた<s>要素<u>要素が HTML5 で新たな定義を与えられて"復活"したのは、まさにこれらの要素の使われ方に一定の法則があってそれを追認したからに他なりません。
  • 6. この考え方のため、勧告前に先行実装しようとすると、仕様が変更されたりして結果的に仕様違反にされてしまうと言う事も実際にありました。マイクロソフトは、長きに亘り W3C が定めた標準規格を無視する態度を取っていたのですが、その背景にはインターネットエクスプローラ 3.0を核兵器と並ぶ人類の負の遺産と誹謗されるようにされてしまった事への怒りがあったからではないかと思われます。
  • 7. 中には、話し合って決める事を悪い事であるかのように主張する者もおります(誰とは言いませんが"野"の字が付く舊字舊假名ヲタとか)。誰も批判出来ないような圧倒的な権威が一方的に定めてそれに従わせるのが良いと言いたいのでしょうが、こう言った手合は概ね自分では何も考えず権威の威を借りて他者を叩いてきただけの専門家気取りのド素人に過ぎないのです。
関連記事
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。