HTML5の現状は同じことをやりたいのにマークアップがブラウザごとに違う–ひどいね

次の記事

Ping.fm、Apple Pingのおかげで新記録達成

月曜日(米国時間8/30)にGoogleは、独自のビデオページArcade Fire派手にデビューさせた。それはいわばHTML5のショウウィンドウで、ビデオやアニメーション、3D表示、ゴージャスなフォント、それに’踊るウィンドウ’などを見せる。どれもWebブラウザの上で可能なものとしては最先端のものばかりだが、しかし大きな問題が一つある。HTML5をサポートしていると称するブラウザでも、正しく表示されない場合があるのだ。ビデオを立ち上げるためのスタートページを開くと、Firefox、あるいはHTML5にほぼ対応しているはずのIE9でも、「Chromeを使え」という警告が出る。Firefoxでアクセスすると、こんなメッセージだ:

このサイトはGoogle Chromeを前提として作られているので、あなたのブラウザでは正しく表示できません。楽しくご覧いただくためには、Google Chromeをダウンロードしてから出直されることをおすすめします。

でも、今のFirefox(3.5以降)は、HTML5をサポートしている“最新のブラウザ”のはずだが? HTML5の互換性をめぐっては、前にも問題が起きたことがある。HTML5は、規格そのものがまだ固まっていないので、ブラウザによって実装が違ってもしょうがないのか? しかしどのブラウザの上でも同じ効果を生むはずのマークアップ言語が、このように、ブラウザによって振る舞いが違ってもいいのか?

MicrosoftのInternet Explorer担当ゼネラルマネージャDean Hachamovitchは。”Arcade Fireは、ブラウザを特定する書かれ方をしている”、と指摘する。”特殊なJavaScriptを使ってるからね”。しかし、と彼は念を押す: “HTML5の正しい実装は、どのブラウザも完全に同一のマークアップ言語に対応してないといけないね”。彼の言い分は、正しい。Webはもともとオープンな規格だから、そうでなければ標準規格を作る意味がない。しかしまだ若いHTML5の場合は、サイトがブラウザをえり好みした1990年代の終わりごろを思い出すね。

この問題を具体的に理解するために、MicrosoftはHTML5テストページで、テキストブロックの周囲のボーダーを変える例を見せている。そのテキストブロックの中には、ボーダーをアニメさせたり、点線にしたりするためのマークアップが書かれている。Chromeで見ると、こんなテキストとボーダーだ:

ところが、Firefoxではこうなる:

Chromeでは16行、Firefoxではたったの4行のHTMLコードだ。しかも、結果が相当違う。そもそも、’点’が四角だったり丸だったりしている。おなじことが、IE9ではまた違うコードになる。”ブラウザが違っても、同じ効果はまったく同じマークアップで実現しないと困る”、Hachamovitchは当然のことを言う。”ブラウザごとに違う書き方をするなんて、まったくのナンセンスだ”。

MicrosoftもHTML5の規格策定組織に参加している。そのほかのブラウザメーカーも同様だ。しかしまだ、新しいマークアップと、それらが生み出すべき効果について、明確な定義と実例集ができていないのだ。それがたいへんな作業であることは理解できるが、まずそこに到達しないと話が始まらない。それまでの間(かん)は、今回のChromeの例のようなスタンドプレーがあちこちに登場して、HTML5の話をするときには会話の最初に必ず、「どのブラウザのどのバージョンのHTML5のこと?」という枕を置く必要があるだろう。

[原文へ]
[米TechCrunch最新記事サムネイル集]

(翻訳:iwatani(a.k.a. hiwa))