HTML5の現状は同じことをやりたいのにマークアップがブラウザごとに違う–ひどいね
by Erick Schonfeld on 2010年9月3日

月曜日(米国時間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))

  • http://twitter.com/sickboy sickboy

    今更何を言ってるんだ…としか思わないけど。HTML5だってまだ策定中だし。

  • http://twitter.com/sickboy sickboy

    今更何を言ってるんだ…としか思わないけど。HTML5だってまだ策定中だし。

  • http://twitter.com/debiru m.takai

    That code you showed is not HTML, but CSS. Isn’t it?

  • http://www.smart-lab.jp/?p=1082 ブラウザによって異なるHTML5のソースコード « SMART LAB

    [...] [...]

  • iwatani

    おっしゃるとおりです。ご指摘ありがとうございます。原文にも、さきほど、アップデートがありました:
    Update: As pointed out in comments, this is technically CSS3, which is not exactly the same as HTML5, but both go hand in hand

  • toku

    上の人が言ってるとおりでしょ.作りかけのものにケチつけてどうすんの

  • toku

    上の人が言ってるとおりでしょ.作りかけのものにケチつけてどうすんの

  • Anonymous

    「策定中だから」というのは結構だけど、じゃあHTML5.0が出た時にはそういう部分も含めて厳密な仕様になっており、実装の互換性も保たれるようになっているかというと、甚だ心もとないのですよ。