ウェブ標準とは
ウェブ標準とはウェブで標準的に利用される技術の総称です。基本的にはW3Cで勧告として公開している仕様やガイドラインを指しています。「ウェブ標準に準拠」している状態とは、仕様書に従って構造と表現を適切に分離して、文法エラーがないよう適切に作られたものをいいます(HTMLを使わずにXHTML+CSSのみでサイトを構築することを指すのではない)。
W3Cによる勧告までのプロセス
W3Cが勧告するHTML/XHTML、CSSなどの仕様に沿ったソフトが開発され、広く一般に普及させています。W3C内の仕様策定のプロセスは以下のとおりです。
- 1.草案(Working Drafts)
- 2.最終草案(Working Drafts Last Call)
- 3.勧告案(Candidate Recommendations)
- 4.勧告候補(Proposed Recommendations)
- 5.勧告(Recommendations)※ユーザのフィードバックで 2.に戻る。
ウェブ標準化推進団体について
インターネットに利用される技術の標準化をすすめる団体として以下の組織があります。
- W3C(ダブルスリーシー)
- ワールドワイドウェブコンソーシアム(World Wide Web Consortium)の略。WWWの標準化を目的とした会員制の国際コンソーシアム(非営利団体)。ウェブ全体の技術に関して、中立的な立場から仕様やガイドラインなどの策定と勧告を行っており、HTML 、XHTML 、XML 、CSS、DOM 、RDFなどの仕様を公開している。WWWの開発者、ティム・バーナーズ=リーがディレクターを務めている。
- WaSP(ワスプ)
- ウェブスタンダードプロジェクト(The Web Standards Project)の略。ブラウザ戦争を顧みてウェブ標準をサポートするようにブラウザメーカーに圧力をかけてウェブ標準のサポートを強く訴えかける目的で1998年に設立された団体。ウェブブラウザがウェブ標準に適合しているか確かめるAcidテスト(Acid2/Acid3)を運営、開発している。
- ISO(アイエスオー)
- 国際標準化機構(International Organization for Standardization)の略。アイソ、イソとも呼ばれる。言語コード、Unicode、ISO-HTML などを規定している。インターネット関連についてIEC(国際電気標準会議)と合同で行い、JISコードはISO/IEC2022、欧文コードはISO/IEC8859として標準化されている。
- IETF(アイイーティーエフ)
- インターネット技術タスクフォース(Internet Engineering Task Force)の略。TCP/IP、FTP、HTTP/1.1などの通信プロトコルや、メール、URI、UTF-8などのインターネット技術を標準化する組織。ここで策定された技術仕様はRFCとして公表される。
- ICANN(アイキャン)
- Internet Corporation for Assigned Names and Numbers の略。インターネット上で利用されるアドレス資源(IPアドレス、ドメイン名、ポート番号など)の標準化や割り当てを行う組織。IANAの後継にあたる民間の非営利法人。
- IANA(アイアナ)
- インターネット上で利用されるIPアドレス、ドメイン名、ポート番号などアドレス資源の標準化や割り当てを行った組織。1998年にICANNが設立されたため、IANAが行っていた各種資源の管理はICANNに移管され、現在では、IANAはICANNにおける資源管理・調整機能の名称として使われている。
- ECMA(エクマ)
- 情報通信システムの分野における国際的な標準化団体「Ecma International」のこと(もともとヨーロッパ電子計算機工業会:European Computer Manufacture Association の略)。JavaScript等の標準仕様であるECMAScriptの策定を行っている欧州の国際団体で、世界各地に会員企業をもつ。
- OASIS(オアシス)
- Organization for the Advancement of Structured Information Standards の略。eビジネス標準の開発、SGML、XMLツール、ウェブサービスの標準化を行っている非営利国際コンソーシアム。
- JIS(ジス)
- JISC(日本工業標準調査会:Japanese Industrial Standards)による工業標準化法に基づいて制定された国家規格。JISコード、JIS HTML(JIS X4156)、ウェブコンテンツJIS(JIS X8341-3)などの標準規格を策定している。ウェブコンテンツJISは、W3Cの勧告したWCAG2.0と整合性をとるために2010年に改正された。
DTDとは
Document Type Definition(文書型定義)の略。
HTML4.01以降、CSSが推奨されましたたが、見栄えを定義するタグを使用するなと言われてもすぐには対応できないため、W3C で Strict、Transitinal、Framesetという3種類の HTML4.01 と XHTML1.0 を使えるようにしました。
- Strict DTDとは
- 「厳格な」の意味。非推奨要素・属性を使用しない場合に使用。
HTMLでは純粋な構造のみ記述し、見栄えや書式はCSSで設定する。
- Transitional DTDとは
- 「過渡期の」の意味。非推奨要素・属性を使用する場合に使用。
基本的にはCSSを利用するが、非推奨のタグも利用できる。
- Frameset DTDとは
- フレームを扱うページに使用する。
bodyタグの代わりにframesetタグを使う。
DOCTYPE宣言とは
ブラウザの多くが複数の表示モード(レンダリングモード)を備えており、文書型宣言の書き方や文書型定義(DTD)の種類によって適用するCSSを内部的に変更しています。ブラウザを選ばないクロスブラウザレイアウトを実現するうえで重要です。主な表示モードに標準準拠モード(Standards Mode)と過去互換モード(Quirks Mode)があります。
- 標準準拠モード(Standards Mode)とは
- ウェブ標準に準拠した表示モード。クロスブラウザに適している。
HTML4.01、HTML4.0でStrictに準拠すると採用される。XHTML1.0 Strictに準拠し、XML宣言はしない。HTML4.01 Strict / xhtml をDOCTYPE宣言で指定し、完全にW3C標準仕様に則ってレンダリングされることを完全標準モード(Full Standards Mode)という。
- 過去互換モード(Quirks Mode)とは
- 古いブラウザとの後方互換性を優先した表示モード。クロスブラウザに不適切。HTML4.01、HTML4.0でTransitionalまたはFramesertに準拠すると採用される。XHTML1.0 はなし。
マークアップ言語とDTD
マークアップ言語には、HTML、XHTML、XML の3種類があります。HTMLの基盤だったSGMLがXMLとして進化したのに伴い、HTMLもXMLで再構築されXHTMLが生まれました。主に使われているバージョンは以下のとおりです。
- HTML4.01 とは
- HTML4.01の先頭(1行目)で DOCTYPE宣言 (DTDの記述)をする。
Strict、Transitional、Frameset のDTDがある。
<Strict の DTD の記述>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<Transitional の DTD の記述>
<!!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
- XHTML1.0 とは
- XHTML文書の先頭(1行目)に以下の XML宣言で示す。
<?xml version="1.0" encoding="Shift_JIS"?>
その後に DOCTYPE宣言(DTDの記述)をする。
Strict、Transitional、Frameset のDTDがある。
<Strict の DTD の記述>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<Transitional の DTD の記述>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- XHTML 1.1 とは
- モジュール化されたXHTMLであり、文書型は Strict に相当するものしか認められてない(Transitional、Framesetはなくなり、非推奨要素やフレーム機能などが排除された)厳格なマークアップ言語。
<DTD の記述(Strictは不要)>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- XML1.0 とは
- HTMLのように特定の目的をもった言語ではなく、要素とその関係を記述したDTDを用意することで新しい言語を規定することのできる基盤言語(メタ言語)です。XHTMLは、XMLアプリケーションのひとつなので、文書の一番最初で XML宣言を記述します。任意のXML文書を読み込んで構造を元に加工して出力する変換言語をXSLT といいます。
マークアップ言語の歴史
1989年にCREN(セルン:欧州素粒子物理研究所)のバーナーズ=リーによって、SGML をベースにHTMLが作成されました。当時は研究論文の整理を目的に文字を表示するだけのものでしたが、1993年に「Mosaic」という無償ブラウザが登場し画像が扱えるようになり、Netscape と IE の2大ブラウザの登場でレイアウト技術が格段に向上しました。
しかし、この2大ブラウザはシェアを拡大するために独自のタグや機能を広め、制作者はブラウザ毎にタグを書き分ける必要があり、混乱の時代が続きました(ブラウザ戦争)。また、制作者はテーブルやスペーサー等による裏技的な制作を積極的に取り入れ、より複雑なものへと変化し、アクセシビリティの低いサイトを提供し始めました。
そこで、1994年にW3Cが設立され、ウェブ全体の技術に中立的立場としてHTMLやCSSの仕様やガイドラインを策定し、1997年にHTML3.2、1998年にHTML4.0を勧告しました。HTMLはシンプル化し改善しましたがブラウザ戦争が収まらなかったため、各メーカーにウェブ標準をサポートさせるよう圧力をかける目的でWaSPが設立されました。
HTMLは1999年にHTML4.01へバージョンアップし、2001年にXHTML1.0、2002年にXHTML 1.0(2nd Ed)、XHTML 1.1 が勧告されました(XHTML 2.0は策定が中止)。
HTMLとXHTMLの違い
W3Cの勧告によるHTMLとXHTMLの相違点として、主に以下の項目があります。
- 1.非空要素には終了タグが必要(終了タグは省略不可)。
- 2.要素名と属性名は必ず小文字でなければならない。
- 3.整形式(開始タグと終了タグの順序は厳密)でなければならない。
- 4.属性値は常に引用符("または')で囲まなくてはならない。
- 5.属性の省略は不可(必ず「属性名="値"」の形式にする)。
- 6.meta、hr、img などは、空要素として書く(詳しく見る)
- 7.script要素、style要素の定義が異なる(詳しく見る)。
- 8.name属性をもつ要素はid属性を使用する。
- 9.空白文字の取扱いが異なる。
- 10.属性値に含まれる&、空白は文字参照を使用する。
- 11.applet、basefont、font などは、廃止要素とする(詳しく見る)。
- 12.h1~h6要素の「align」などは、廃止属性とする(詳しく見る)。
ウェブ標準に関連する言語とガイドライン
ウェブ標準に関連する代表的な言語やガイドラインに以下のものがあります。
<動作・操作する言語>
- ECMAScript とは
- Ecma Internationalによって策定された言語仕様。JavaScriptの標準規格。ECMA-262 として標準化され、ISO/IEC 16262 として承認された。
- DOM とは
- 文書オブジェクトモデル(Document Object Model)の略。
プラットフォームや言語に関係なく、動的に文書、構造、スタイルを変更させるスクリプト。Dynamic HTML の標準規格。
<グラフィックスを記述する言語>
- SVG とは
- スケーラブルベクターブラフィックス(Scalable Vector Graphics)の略。
XMLベースのテキストで記述する2次元ベクターグラフィックス記述言語。
<マルチメディアを統合する言語>
- SMIL とは
- 同期マルチメディア統合言語(Synchronized Multimedia Integration Language)の略。
静止画、動画、音声、文字(テキスト)などの、位置レイアウト、時間軸上でのレイアウトを、XMLによって記述するマルチメディアコンテンツを表現するためのマークアップ言語。1998年にW3C勧告された。
<数式を記述する言語>
- MathML とは
- XMLベースの数式記述言語。数式の表記と内容をマークアップし、ウェブページに表現できる。
<メタデータを記述する言語>
- RDF とは
- リソースディスクリプションフレームワーク(Resource Description Framework)の略。
メタデータを記述するための言語で、RDFデータで使えるボキャブラリを定義するRDFSからなる。RSS などが利用されている。
- OWL とは
- ウェブオントロジー言語(Web Ontology Language)の略。
オントロジー を記述するための言語。
<アクセシビリティのガイドライン>
- WCAG とは
- ウェブコンテンツ・アクセシビリティ・ガイドライン(Web Content Accessibility Guidelines)の略。
アクセシブルなウェブページを制作するためのガイドライン。W3C勧告として公表され、3段階の優先度が設定されている。
- JIS X8341-3 とは
- 別名 ウェブコンテンツJIS。正式名称は「JIS X 8341-3:2004 高齢者・障害者等配慮設計指針-通信情報における機器、ソフトウェア及びサービス-第三部:ウェブコンテンツ」。JISから公表された日本国内のアクセシビリティ基準。
バリデーションチェック
W3Cのサイトでは、HTML や CSS の構文をチェックできる Validation Service を提供しており、検証対象となるURLの指定、ファイルの参照(アップロード)、コードの直接入力で確認することができます。
HTML・XHTML Markup Validation Service(参考:外部リンク)
CSS Validation Service(日本語)(参考:外部リンク)