IPA委託のWebブラウザ互換性調査で判明

国内60サイトに1サイトがブラウザによっては表示されない可能性

2007/09/13

 異なるWebブラウザの非互換性による問題で、国内では60サイトに1サイトの割合で、Webブラウザによってはまったく表示できないなど深刻なトラブルが起こりえることが分かった。

 調査を行ったのは、アルゴ21、三菱総合研究所、Mozilla Japan。情報処理推進機構オープンソフトウェア活用基盤整備事業の一環として2006年度の行われたもの。Yahoo! Japanカテゴリからリンクされている国内20万サイトのトップページを調べた。

 9月13、14日の2日間、日本Linux協会主催で開催中の「Japan Linux Conference 2007」で、アルゴ21の伊藤宣博氏が講演を行った。

linuxconf01.jpg 調査を行ったチームメンバーの1人、アルゴ21の伊藤宣博氏

ブラウザ独自機能が原因トップ

 調査したのは表示に問題が発生する可能性のある172種の非互換要因の有無。172種のうち、自動判別できる142個についてJavaScriptのモジュールを作成し、Firefoxの拡張機能として実装した。

 これまで非互換性に関する情報は個別の活動では存在したが、これだけ大規模な調査は前例がない。イギリスやアメリカで政府主導による同類のプロジェクトがあったが、W3Cが提供する構文チェックサービスを使ったもので、表示や挙動の違いを検証するものではなかったという。

 非互換要因を含むと判定されたサイトは全体の約3分の1に相当する約6万3000サイト。「数ドットの違いがあるという非互換もあるので、これらのすべてのサイトで表示に問題が起こるわけではない」(伊藤氏)が、まったく何も表示されなくなるなど影響度の大きなサイトも全体の1.7%あった。これは60サイトに1サイトに相当する。

 実際に非互換要因ありと判定されたうち、最も多かった原因はブラウザの独自機能によるもので非互換要因全体の60%を占めた。また、標準を無視した実装によるものが19%、未実装の機能によるものが10%と続く。逆に標準仕様の解釈の違いによる非互換は全体の3%と少ない。

 具体的な例でいちばん多かったのは、「bodyタグのtopmargin、rightmargin属性」によるもので、コンテンツ全体の表示位置が、Webブラウザによってずれるという非互換要因だ。

linuxconf02.jpg 非互換要因の分類

オーサリングツールやCMSが強く影響

 「影響度大」の分類のなかでも、特に多かったのがCSS宣言の「z-index」でプロパティにマイナス値を設定してあるケース。表示する要素の重なりの上下を指定するz-indexでは数値の大小によって重なり順を決める。この値にマイナスを使うときには、基準となる0の設定が必要だが、未設定のページが全体の0.72%存在した。こうしたページではz-indexを指定された要素がFirefoxなどInternet Explorer以外のWebブラウザで表示されなくなるという。

 さらに詳しい調査によれば、この問題はIBMのホームページビルダーなど一部のオーサリングツールが生成しているコンテンツに多く見られたという。調査した20万サイトのうち約3分の1がオーサリングツール情報が含まれるGenerator情報を記述しており、そうしたWebサイトでの非互換要因の発生率は2倍程度となっているという。

 z-indexのほか、影響度大の非互換要因はVBScriptを使用したサイト(0.34%)、リンクのURLにWindowsの区切り文字である「¥」が使われているもの(0.22%)などがあった。

 ローカルPCで動かすオーサリングツール同様に、ブログなどサーバ側のCMSも多くのコンテンツを生成している。こうした機械生成コンテンツの増加によって、むしろ非互換要因の発生が抑制されていることも、調査で明らかになった。Yahoo!の個人ページ向けスペース「Yahoo!ジオシティーズ」と、Yahoo!ブログを含む「Yahoo! Japan」のコンテンツで比較すると、非互換要因の発生率は、それぞれ0.72%、0.19%と4倍近い差がついたという。

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)