Web標準ベースのサイト制作では、「XHTML」という新たなマークアップ言語を採用するのが一般的である。なぜHTMLではなくXHTMLを採用するのか、XHTMLのなかでどのバージョンを採用すればよいかを考えてみよう。
HTMLからXHTMLへ
現在のWebデザインでは、新規案件、リニューアル案件ともに、従来のHTMLではなくXHTMLを採用するケースが増えてきている。XHTMLは「Extensible HyperText Markup Language」の略であり、HTMLをXMLで再定義したマークアップ言語だ。
HTMLとの違いは、フルスペルからもわかるとおり、まず「Extensible(拡張可能)」な点にある。XMLのサブセットとして名前空間(namespace)が利用できるため、MathML(数式記述のためのマークアップ言語)やSVG(2次元ベクターグラフィックス記述言語)などのXMLアプリケーションを埋め込むことができ、将来登場するXMLアプリケーションを利用する場合もXHTMLの仕様自体は変更する必要がない。またこのことは、XHTMLの仕様とブラウザ独自拡張が明確に区別されることも意味し、これまでのように両者が混同されるようなことは起こりにくくなる。
また、XMLの書式を採用しているため、空要素は<br />と記述したり、タグの省略が認められていないなど、いくつか細かな違いがある。ただ、ボキャブラリ(要素・属性の種類)はHTMLからほぼすべて引き継がれており、書式の違いなどを覚えてしまえば、HTMLからの移行は決して難しくないはずだ。
現状、アクセシビリティやSEOなどのメリットは、XHTMLではなくHTMLを採用することでもおおよそ得られる。ではなぜXHTMLを採用するサイトが増えているのか。それには次の3つの理由があげられる。
1. Webテクノロジーの多くがXMLという基盤言語をもとに発展しており、その傾向がますます強まっていること
2. HTMLは1999年12月公表の4.01で終了しており、ハイパーテキストマークアップ言語の開発はXHTMLに引き継がれていること
3. XHTMLでは名前空間やスキーマが利用できるため、将来的なデータの再利用性が担保されていること
特に1.は重要であり、これまでのHTMLワールドからXMLワールドへと歩を進めるためにXHTMLを採用するという、テクノロジートレンドの「見切り」が求められているということになる。
![]() 【図1-1】XHTMLを採用することは、テクノロジートレンドの点からも重要だ |
XHTMLではどのバージョンを採用すべきか
ひとくちにXHTMLといっても、現在利用できるバージョン(W3C勧告となっているもの)には「1.0」と「1.1」の2つがある。また、1.0にはHTML 4.01と同じく、「Strict」「Transitional」「Frameset」という3つのサブバージョン(文書型)がある。
![]() 【図1-2】HTML 4.01、XHTML 1.0、XHTML 1.1の関係 |
これらの文書型のなかでどれを採用すればよいのだろうか。サイトの目的や制作方針にもよるが、まず「非推奨要素・属性を使用する(文書構造と視覚表現を厳密に分離する)かどうか」が採用基準になる。使用しない場合はXHTML 1.0 Strictを、使用する場合はXHTML1.0 Transitionalを採用することになるだろう。たとえば京都府、神奈川県はともにXHTML 1.0を採用しているが、前者はStrict、後者はTransitionalを採用している。
Strictは厳格型、Transitionalは移行型、Framesetはフレーム型と呼ばれ、この順番で利用できるボキャブラリの種類が多くなる。正しいマークアップの観点からは、基本的に文書構造に関する要素・属性のみしか認めていないXHTML 1.0 StrictまたはXHTML 1.1に準拠するのが望ましいといえる。
ただ、XHTML 1.0 Transitionalを採用した場合でも、非推奨要素・属性を使用せず、コンテンツを適切にマークアップすることによって、文書構造と視覚表現を厳密に分離することは可能である。逆に、XHTML1.0 StrictやXHTML 1.1を採用しても、マークアップの使い方によっては厳密に分離できない場合もある。
たとえば視覚系ブラウザのみを念頭に置いてblockquote要素をインデント目的で使用するのは、構文には抵触しないとしても、決して適切なマークアップとはいえない。つまり、文書構造と視覚表現の分離にとって、どの文書型を採用するか(非推奨要素・属性を使用するかどうか)も重要であるが、どのようにコンテンツをマークアップするかも非常にクリティカルな問題となる。
特に、マークアップの使い方については「テーブルレイアウトにするのかCSSレイアウトにするのか」が問題となる。表をレイアウト目的で使用するのは適切なマークアップではないが、どの文書型であっても過渡的な方法としてテーブルレイアウトを利用しているサイトがよく見受けられる。ここで「過渡的」とは、ブラウザの後方互換性の考慮や制作者側のワークフローの調整その他、CSSレイアウトの利用が時期尚早と判断する状況もありうるということである。
もしテーブルレイアウトを利用する場合でも、深い入れ子は極力避け、アクセシビリティに配慮してできるだけ線形的に情報を提供できるようにコンテンツを配置することが求められる(このようなレイアウトは「ハイブリッドレイアウト」と呼ばれる)。
最後に、文書型の採用基準についていくつか補足しておこう。
・フレームを利用するのはアクセシビリティやSEOの観点からは望ましくないため、XHTML 1.0 Framesetの採用は考慮に入れないケースが多い。
・XHTML 1.1については、ページ側でHTTPヘッダ(<meta http-equiv="" />) が指定できない、推奨MIMEタイプである「application/xhtml+xml」に適切に対応していないブラウザがある(Windows版Internet Explorer 6nなど)といった問題があるため、現状では採用しないのが一般的である。なお、XHTML 1.1を採用している例外的なサイトとして、山梨県をあげておこう。
■リンクリスト |
益子貴寛(ましこ たかひろ) |