2 HTML 4の概説

目次

  1. World Wide Webとは何か?
    1. URIの概説
    2. 部分識別子
    3. 相対URI
  2. HTMLとは何か?
    1. HTMLの略歴
  3. HTML 4
    1. 国際化
    2. アクセス性
    3. マルチメディア文書
    4. スタイルシート
    5. スクリプト
    6. 印刷
  4. HTML 4による文書の著述
    1. 構造とプレゼンテーションの分離
    2. 広汎なWebアクセス性の考慮
    3. ユーザエージェントの逐次表示を助けること

2.1 World Wide Webとは何か?

World Wide Web (Web)は、情報資源のネットワークである。Webは、情報資源が可能な限り多くの人々に入手可能であるよう、次の3つの機構から成り立っている。

  1. URIなど、Web上の資源の所在を示す統一的な命名機構。
  2. HTTPなど、命名された資源にWebでアクセスするためのプロトコル。
  3. HTMLなど、各資源間を容易に移動できるハイパーテキスト機構。

これら3機構の結びつきについては、本仕様を通じて明らかにされる。

2.1.1 URIの概説

HTML文書、画像、ビデオクリップ、プログラム等、Webで利用できる資源はすべて住所を持っており、この住所は Universal Resource Identifier (統一的資源識別子)あるいは「URI」と呼ばれる符号化形式で表される。

典型的なURIは次の3つの部分で構成される。

  1. 資源へのアクセス機構で用いる命名体系。
  2. 資源をホストする計算機の名前。
  3. パス名として与えられる、資源それ自体の名前。

W3Cの技術文書を指し示すURIを例に考えよう。

   http://www.w3.org/TR

このURIは、次のように読める。“HTTPプロトコル([RFC2616]参照)を用いて利用できる文書が1つ、 www.w3.org という計算機に存在し、「/TR」というパスでアクセスできる。” HTML文書で見かけるであろう他の命名体系には、電子メールの「mailto」やFTPの「ftp」などがある。

次に、もう1つ別のURIを例示する。これは、あるユーザの郵便箱を指し示している。

   …テキスト…
   コメントの送付は、
   <A href="mailto:joe@someplace.com">Joe Cool</A>まで。

注意。 ほとんどの読者は「URL」という語に馴染みがあり、「URI」は聞き慣れないであろう。 URLは、より一般的なURI命名体系の部分集合を成すものである。

2.1.2 部分識別子

URIの中には、資源の内部について指し示すものがある。この種のURIは末尾に「#」と、これに続くアンカー識別子 (部分識別子と呼ぶ)がある。 例えば、次のURIは section_2 と名づけられたアンカーを指し示している。

http://somesite.com/html/top.html#section_2

2.1.3 相対URI

相対URIは、命名体系の情報をまったく含まない。このパスは一般に、現在の文書と同じ計算機に存在する資源を指し示す。 相対URIは、相対パス構成要素(例えば「..」はパスの階層で1段階上を示す)や、 部分識別子を含み得る。

相対URIは、基準URIを用いてフルURIへと解決される。 相対URI解決の例として、まず基準URI「http://www.acme.com/support/intro.html」を使うと仮定しよう。 ハイパーテキストリンクのマーク付けに含まれる次の相対URIは:

   <A href="suppliers.html">サプライ品</A>

フルURI「http://www.acme.com/support/suppliers.html」へと展開される。 また画像のマーク付けに含まれる次の相対URIは:

   <IMG src="../icons/logo.gif" alt="ロゴ">

フルURI「http://www.acme.com/icons/logo.gif」へと展開される。

HTMLでは、URIは次のように使われる。

URIについてより詳しくは、 URI形式に関する項を参照されたい。

2.2 HTMLとは何か?

地球規模での配信を目的に情報を公開するためには、全てのコンピュータが潜在的に理解可能であるような出版用母語の一種である、世界中で理解される言語が必要となる。World Wide Webで使われる出版言語は、HTML (HyperText Markup Languageの略)である。

HTMLは著者に次の手段を提供する。

2.2.1 HTMLの略歴

HTMLは初め、 Tim Berners-Lee がCERN【ヨーロッパ素粒子物理学研究所】在籍時代に開発し、NCSA【全米スーパーコンピュータ応用研究所】が開発したMosaicブラウザによって一般化した。そして1990年代に、Webの爆発的成長と共に開花した。この間、HTMLは様々な方法で拡張された。WebはWebページ著者と【ユーザエージェントの】ベンダーとが同じHTML規約を共有することで成立する。ここに、HTML仕様を共同で作成する動機がある。

HTML 2.0 (1995年11月 [RFC1866]参照) は、Internet Engineering Task Force (IETF)の支援の下、1994年終盤の一般的慣行をまとめる形で開発された。 HTML+ (1993年) 及び HTML 3.0 (1995年 [HTML30]参照) は、より機能が豊富な版のHTMLを提案した草案である。標準化の議論で合意に達しなかったものの、両草案は多くの新機軸を用意していた。 World Wide Web ConsortiumのHTML作業グループによる、1996年時点の一般的慣行をまとめる作業は、 HTML 3.2 (1997年1月、[HTML32]参照)へと結実した。 HTML 3.2からHTML 4への変更点は、 附属書Aの3に要約してある。

HTML文書が、ブラウザやプラットフォームの違いを超えてうまく働くべきであるということは、多くが認めるところである。 相互運用性の達成は、コンテンツプロバイダのコストを低下させる。なぜならただ1種類の文書しか作る必要がなくなるからだ。 もし【相互運用性確保の】努力が成されなければ、Webは互換性のないフォーマット毎に分け隔てられた世界に分割され、すべての関係者にとっての商業的可能性が減少することとなるであろう、大きなリスクを負うこととなる。

どのバージョンのHTMLも、コンテンツプロバイダの投資が無駄にならないよう、また短期間で文書が読み取り不能となったりすることがないよう、産業界の幅広い賛同を反映するようにされてきた。

HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。

2.3 HTML 4

HTML 4は、HTMLを、スタイルシート、スクリプト、フレーム割り付け、埋め込みオブジェクト、右から左へのテキスト及び混在方向テキストのサポート、高度な表、フォームの拡張、障害者からのアクセス性改善、等の機能で拡張した。

HTML 4.01はHTML 4.0の改訂版であり、誤りの訂正と、前回の改定版からの変更が幾つか含まれる。

2.3.1 国際化

HTML 4は、あらゆる言語で文書を書くことができ、また世界中に搬送可能であるよう、国際化分野の専門家からの助力を得て設計された。 この目的は、HTMLの国際化を扱った [RFC2070] の成果を取り入れることで達成された。

HTMLの文書文字集合をISO/IEC:10646標準( [ISO10646]参照)へ適合させたことは、1つの重要なステップである。ISO/IEC:10646標準は、国際文字、テキスト方向、句読点、その他世界の言語に関係する問題の表現について、世界で最も広範囲をカバーする規格である。

HTMLは、ここに、1文書中に様々な異なる言語を混在させるための大きなサポートを提供することとなった。これにより、検索エンジンがより効果的な索引付けを行うことや、精度の高いタイポグラフィー、よりなめらかな音声読み上げ変換、より正しいハイフネーション等が可能となる。

2.3.2 アクセス性

Web社会が拡大し、参加者の能力や技術レベルの差異が広がったことで、各参加者の個別ニーズを満たす基盤技術の存在が重要になってきた。HTMLは、身体的な限界を持つ人々に対してWebページをよりアクセスしやすくできるよう設計されている。アクセス性の視点から見たHTML 4の開発状況は、次の点を含む。

アクセス性のことを念頭においてページの設計を行う著者は、アクセス性コミュニティの恩恵を受けるだけでなく、もう1つの利益も得ることになる。構造とプレゼンテーションを分離する、よい設計のHTML文書は、新開発技術により容易に適合できるのである。

注意。 アクセス性の高いHTML文書の設計に関するより詳しい情報は、 [WAI]を参照されたい。

2.3.3

HTMLの新しい表モデルは、 [RFC1942]に基づいている。 HTML著者は、今や、例えば列のグループ化など、構造とレイアウトを強く制御できる。著者が推奨列幅を設定できることにより、ユーザエージェントは表のデータを、全体のレンダリングをする前に、到着する箇所ごとに逐次表示できるようになった。

注意。 HTML文書作成の際に、整形目的でを用いるオーサリングツールもあるが、これはすぐにアクセス性問題に突き当たる。

2.3.4 マルチメディア文書

今回のHTMLは、一般メディアオブジェクト及びアプリケーションをHTML文書に組み込む機構を用意した。 OBJECT要素 (及び、この機能特化型の先祖である IMG要素と APPLET要素) は、1つの文書に画像、動画、音声、数式、特定アプリケーション、その他のオブジェクトを組み込むことを可能にする。 OBJECT要素は更に、特定のレンダリングをサポートしていないユーザエージェントのための階層的代替レンダリングを著者が指定することを可能にする。

2.3.5 スタイルシート

スタイルシートはHTMLのマーク付けを簡素化し、またHTMLをプレゼンテーションの負担から大きく解放する。スタイルシートは、著者とユーザに対し、フォント情報、配置、色等の文書のプレゼンテーションを制御する手段を提供する。

スタイル情報は、個々の要素にも、要素のグループに対しても指定でき、HTML文書で指定するか外部スタイルシートで指定する。

文書とスタイルシートを結びつける仕組みは、スタイルシート言語から独立している。

スタイルシートが現れるまで、HTML著者がレンダリングを制御することに限界があった。HTML 3.2は、配置、フォントサイズ、テキスト色への制御能力を提供する多くの属性や要素を含んでいた。著者はまた、表や画像を、ページレイアウトのための道具に流用していた。 利用中のブラウザをユーザがアップグレードするのに比較的長い時間がかかるということは、スタイルシートに拠らないレンダリング制御手法がしばらく使いつづけられるであろうことを意味する。 しかしながら、より強力なプレゼンテーション機構をスタイルシートが提供するため、World Wide Web Consortium は、HTMLのプレゼンテーション関連要素・属性を、段階的に縮小させていくこととする。 本仕様において、【将来削除される】危険のある要素及び属性については、 「推奨しない」と記してある。 推奨しない要素や属性の記述には、他の要素やスタイルシートで同じ効果をあげる方法を、併せて例示してある。

2.3.6 スクリプト

スクリプトによって、著者は、ユーザの記入に反応する「賢いフォーム」など、動的なWebページを作成でき、またHTMLをネットワークアプリケーション構築の手段として用いることもできる。

HTML文書にスクリプトを組み込む機構は、スクリプト言語から独立している。

2.3.7 印刷

著者は、現在の文書を超える範囲の印刷をユーザが容易に行えるようにしたいと願う場合もあろう。ある文書が大きい作品の一部を成している場合、文書群の関係は、HTMLの LINK要素か、W3Cの Resource Description Framework (RDF) ([RDF10]参照)を用いて記述できる。

2.4 HTML 4による文書の著述

本仕様は、HTML 4で作業を行う著者並びに実装者に対し、次の一般原則に従うよう推奨する。

2.4.1 構造とプレゼンテーションの分離

HTMLは、常に構造的マーク付けを規定するところのSGMLをルーツに持っている。HTMLの性質上、プレゼンテーションに関する要素や属性は、次々と他の機構、とりわけスタイルシートに置換えられていく。 また、文書の構造をプレゼンテーションと切り離すことで広汎なプラットフォームや多様なメディアでの文書提供コストを低下でき、文書の改訂も容易になるということが、経験的に知られている。

2.4.2 広汎なWebアクセス性の考慮

誰にとっても、特に障害者にとってもWebをよりアクセスしやすくするため、著者は、自分の文書が音声出力ブラウザや点字出力等、様々なプラットフォームでどのようにレンダリングされるかを考慮する必要がある。 本仕様は、著者の創造性を制限しようというのではなく、設計時に代替的レンダリングのことを考慮するよう推奨するものである。 HTMLは、アクセス性方面に関して、例えば alt属性や accesskey属性など、数多くの機構を提供している。

更にまた、著者は、自分の文書が、異なる設定の計算機を利用する遠く離れた読み手にも届けられ得るということを心に留める必要がある。文書が正しく解釈されるよう、著者は文書に、何語の文書かということや、テキスト方向、文書の符号化方法、その他国際化に関わる情報を含めておかねばならない。

2.4.3 ユーザエージェントの逐次表示を助けること

注意深く表を設計し、HTML 4にある新しい機能を用いることで、著者はユーザエージェントがより素早く文書をレンダリングすることを助けることができる。 著者は、TABLE要素の項目を参照し、逐次表示のためにはどのように表を設計すればいいのかを学べる。 実装者は、逐次表示のアルゴリズムについて、附属書の 表に関する注意 を参照せよ。


訳者代表: 内田明 (UCHIDA Akira)
email: uchida@happy.email.ne.jp