パスワードを忘れた? アカウント作成
270341 story
インターネット

W3CによるHTML5テスト、次世代WebブラウザではIE9がもっとも好成績 55

ストーリー by hylom
切磋琢磨 部門より

あるAnonymous Coward 曰く、

W3Cが「HTML5 Test Suite Conformance Results」を発表した。これは各ブラウザがHTML5をどれだけサポートしているかを調査したもので、232のテストから構成されている。Internet Explorer 9 Platform Preview 6とChromium 9.0.571.0、Firefox 4.0b8pre、Opera 11.00 alpha、WebKit Nightly Build r70732を対象としてテストが行われ、全体としてはIE9がもっとも好成績を残す結果となった。

テスト結果を見ると、IE9はattributeやaudio、video、xhtml5といったテストを100%パスしている。いっぽう、canvasやgetElemetnsByClassNameについてはほかのブラウザよりも劣る結果となっている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2010年11月04日 16時36分 (#1853012)

    globalCompositeOperationの動作にFirefox/OperaとWebKit系で違うところがあって [hatena.ne.jp]、仕様に忠実なのはFirefox/OperaのほうなのですがWebKitが修正を拒否している [webkit.org]ので、現時点でIEは採用しかねていると思われます。IEが採用するとその仕様に事実上決まってしまうのはほとんど間違いないので、動作にある程度ベンダ間で合意が取れている状態でなくてはそりゃ採用しづらいでしょう。
    ちなみにglobalCompositeOperationはオペレータをサポートしていない場合の挙動もちゃんと規定されているので、スクリプト側でサポートされていない可能性を想定するなら、IE9判別ではなくfeature detectionをすべきです。たとえばcopyオペレータを使いたいなら

    ctx.globalCompositeOperation = 'copy';
    if (ctx.globalCompositeOperation != 'copy') {
      // copyオペレータがサポートされていない場合のフォールバック処理
    }

    みたいな。もっともcopyオペレータはまさに現時点でブラウザによって動作が異なるオペレータでサポート判定だけでは不十分な可能性があるので、例としてはあまり適切じゃないかも。

    • by Anonymous Coward

      globalCompositeOperationの動作にFirefox/OperaとWebKit系で違うところがあって、仕様に忠実なのはFirefox/OperaのほうなのですがWebKitが修正を拒否しているので、現時点でIEは採用しかねていると思われます。

      これはW3CからWebKit側にちゃんと対応するように、MSにはFirefoxやOperaに合わせる様にと口出しできないのかな?
      それが出来ないと結局は力が有るところは独自に実装しちゃうという状況は改善しないって事ですよね。

      • by Anonymous Coward on 2010年11月04日 18時37分 (#1853096)

        2010年5月下旬にMSの中の人から「globalCompositeOperationの動作がブラウザによって違うんだけどこれってどうよ? WebKitの動作のほうが合理的だと思うから仕様を更新したほうがよくね?」質問がある [w3.org]。

        「既出。リストの過去ログをググれ」と返事がある [w3.org]けど、議論はここでおしまい。

        2010年6月下旬にIE9 Platform Preview 3がcanvas 2D contextをサポートするけど、globalCompositeOperationは未サポート。

        桶屋(Adobe)が儲かる ←今ここ

        親コメント
      • Re: (スコア:0, 興味深い)

        by Anonymous Coward
        WebKitのサイトには、FirefoxやOperaの実装は間違っていると書いてあるのを読んでいないのでしょうか?
        元々WebKit側から出たアイディアですし、むしろ独自の実装をしているのは、FirefoxやOperaの方な訳で。
        • by Anonymous Coward on 2010年11月05日 10時07分 (#1853347)

          FirefoxやOperaはCanvas 2D Context [w3.org]の仕様に従っているだけで、それを独自の実装と言われても困るのですが。

          WebKitのサイトには、FirefoxやOperaの実装は間違っていると書いてある

          捏造はやめていただけませんか。

          We believe the spec is wrong in its definition of these behaviours.

          (現在の)Canvas 2D Contextの仕様は間違っていると主張しているだけです。もちろんCanvas 2D Contextはまだ草案ですから仕様が更新されるのは一向に構いませんが、実際に更新されるまでは正しいのはFirefoxやOperaの実装です。独自の実装よばわりされる筋合いはありません。
          WebKit陣営であるはずのIan Hickson氏が現行の仕様を更新するつもりがないっぽい [whatwg.org]のがどうも妙なのですが。

          元々WebKit側から出たアイディアですし、

          別ストーリーで「IE6はCSS2に対応しているとは一言も言っていないのだから、CSS2のプロパティと同名の独自拡張をサポートしているにすぎない」と主張している人がいました。CSS2のpositioningなどの仕様がIEの実装を元に作られたからと言って、IEの実装と違う点はすべてIEのほうが正しいわけではありません。
          同様の論法に従うなら、WebKitはCanvas 2D Contextと同名のプロパティを使った独自拡張をサポートしているにすぎません。

          親コメント
          • > 捏造はやめて
            もう少し穏やかな言葉を使われた方が...

            Canvas 2DのcompositはPorter-Duffの論文 [keithp.com]に基づくのは仕様で言及されている点でもあり誰もが異論のない点だとは思います。

            現在の仕様はPorter-Duffの論文で分類されているコンポジット状態をより視覚的に反映しやすい(=論文を見た人および仕様を見た人がイメージしやすい)という点で優れていると思いますし、仕様を作る側のIan Hicksonが現状の仕様をより元論文のイメージに近いように明確化しようという側に立つのも理解できる気もします。

            とはいえ、"周りをクリアする"タイプのコンポジットは最終的な可視部分の描画範囲が小さくても描画範囲全体に影響を及ぼすので、現行の仕様のまま描画領域をclipping regionとするとオプティマイズしにくいパフォーマンス劣化がおき易くなりそうですね。
            また、MSのJatinder Mannが指摘した [w3.org]ように、描画の影響が現在描こうとするものとなるのが多いCanvas2Dにおいて違和感があるというのも納得できます。

            Webkitが実装を修正するのはさほど難しくないと思われますし、Opera/Firefoxも同様なのでうまく解決をしてほしいところです。

            この件に関しては実用度が高いにもかかわらずブラウザの実装の差異によって使いにくくなっていた問題で解決されると幸せになる人が多くなると思うのですが、Ian氏・WebKit陣営に歩み寄りの気配が見られないのが気がかりです。

            こうしたテストケースの作成によってブラウザ間の実装の差異が明確化され、仮実装の修正や草案仕様の修正の必要性がより広く認識される意義は大きいと思います。

            個人的にはどちらの方向でも良いんですが、Webkit陣営が実装を修正しないならより強く仕様の修正を働きかけるべきだと思うので、現状では現草案を応援という感じです。

            親コメント
  • 互換性のために (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2010年11月04日 16時37分 (#1853014)
    テストに100%パスしないと一般向けにリリースできない or HTML5対応を名乗れない、などのペナルティが必要だと思う。
    かつてIE6が巻き起こした様々な混乱を考えれば、それくらい厳しくすべきだ。たとえ対象がマイクロソフト以外であっても。
    • と、赤枠で囲って書いてあるような気がする。
      親コメント
      • by Anonymous Coward
        サブジェクトを本文の一行目につーかーうーなーよー
        • by Anonymous Coward
          いわゆる「あのね商法」というやつです
        • by Anonymous Coward
          見にくいのはデザインのせいもあるんだけど(文字と背景の色があまり違わない)
          そもそもサブジェクトまで全部読まないといけないってプレッシャーがあって困る。
          まあ読んで欲しいのかもしれんが…
    • Re:互換性のために (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2010年11月04日 16時54分 (#1853031)

      その前にさっさとHTML5の仕様固めろよ……

      親コメント
      • Re:互換性のために (スコア:3, すばらしい洞察)

        by Anonymous Coward on 2010年11月04日 17時40分 (#1853058)
        100%仕様が確定するまでHTML5を名乗れない、などのペナルティが必要だと思う。
        親コメント
      • Re:互換性のために (スコア:2, おもしろおかしい)

        by Anonymous Coward on 2010年11月04日 17時09分 (#1853039)

        では、HTML5に対する(webアプリ開発者等を含む)ユーザー側の統一した要望を……

        親コメント
      • by Anonymous Coward
        そうそう、Working Draftの分際で準拠とかテストとか何を言ってるんだって話

        # CSS3も含めてどんどん分かりにくくなってるしぃ
      • by Anonymous Coward
        解釈の違いによる互換性の喪失を防ぐため、複数の実装で、正しく実装されていないと、正式版になれないとかいう規定があるから、進捗確認として準拠状況の確認をしているという話じゃありませんでしたっけ?
      • by Anonymous Coward

        これまでのHTMLって
        「仕様が完全に固まってからブラウザが実装を行う」
        ってやり方だったんだ。へぇー。

        • by Anonymous Coward
          これまでの手法に問題があったから、ブラウザ間の互換性の低さという症状が生じていたわけで、
          ブラウザ間の互換性を十分に高めるために、手法を変えることも必要だと思いますけどね。
        • by Anonymous Coward

          今までのやり方だとまたブラウザごとに実装が変わるだろ。学習能力無いんかいな。

        • by Anonymous Coward

          いや、固まらないと
          >テストに100%パスしないと
          の100%をどうやって判断するの?って凄く大きな問題が有る訳だが。

    • by Anonymous Coward

      >テストに100%パスしないと

      それが何か問題あるのか?
      iTunesはHTMLでコンテンツが記述されているのか?違うだろ。
      オンラインビジネスをするのにHTMLに従う必要がないことは、HTML5容認派のApple
      でさえ、かような形で否定している。オンラインビジネスをするための、専用のHTML
      もどきであるXMLを解釈するブラウザがこの世に出てなにか問題でもあるの?

      >一般向けにリリースできない or HTML5対応を名乗れない、などのペナルティが必要だと思う。

      さらに、一般向けとは何を意味するの?XMLブラウザと名乗ってきてもリリースできないの?
      浅はかな、ばかばかしい話ですね。

      • by pohsla (34117) on 2010年11月05日 1時56分 (#1853273)

        > iTunesはHTMLでコンテンツが記述されているのか?違うだろ。
        iTunesは9から描画がWebKitベースに変更されていて、特殊な機能ボタンの実現以外は通常のHTML5で実装されるようになりました。

        c.f. http://willnorris.com/2009/09/itunes-9-now-with-more-webkit [willnorris.com]
        ここのコメントの中でiTune Storeへのプロキシを作って、通常のWebブラウザからアクセスできるようにした方もいるので
        気軽にソースと結果を眺められるようになっていますよ。
        http://itunes-proxy.jgate.de/ax.itunes.apple.com/WebObjects/MZStore.wo... [jgate.de]

        親コメント
        • by Anonymous Coward

          >> iTunesはHTMLでコンテンツが記述されているのか?違うだろ。
          >iTunesは9から描画がWebKitベースに変更されていて、特殊な機能ボタンの実現以外は通常のHTML5で実装されるようになりました。

          元コメです。
          なるほど、これは知りませんでした。ありがとうございます。

          「特殊な機能ボタンの実現」の箇所で、IE6の特殊仕様や、HTMLでできないことは、
          Flashを使えばよい、といった過去の潮流を思い出させる箇所はあるのですが、ね。

      • by Anonymous Coward

        親コメは「HTML5対応ブラウザを名乗るなら、テスト100%パスを義務化しよう」と言っているだけで、
        全てのブラウザ的要素のあるソフトウェアに、100%のHTML5対応を求めているわけでは無いのでは。

        難しいと思いますが、互換で苦労したので気持ちはわかります。

  • by Anonymous Coward on 2010年11月04日 17時59分 (#1853071)
    IE9の成績がいい要素があるのは、ある意味当然かもしれません。
    Microsoftは、IE9のテスト用に作成したテストケースを、せっせとW3Cに提供している。今回のTest Suiteに採用されたテストケースにしても、Microsoftが提案したものや、その発展系が含まれている。

    Windows Internet Explorer Testing Center:
    http://samples.msdn.microsoft.com/ietestcenter/

    Canvas、WebSocks API関連について特にいえることですが、いつのDraft案に準拠したかで、互換性が損なわれるような大きな変更は、やめていただきたいものです。
    • by Anonymous Coward on 2010年11月04日 18時06分 (#1853075)

      問題はrubyだと思う。

      HTMLでルビが振れるようになるのは結構なことだが、ruby要素だけは死んで欲しい。せっかくXHTMLがうまい具合に廃れてきたのに、台無しだ。

      親コメント
      • by nipo (34616) on 2010年11月04日 18時10分 (#1853077)
        Rubyと勘違いした
        親コメント
      • by Anonymous Coward
        WebKitもrubyをサポートしてますよ。ルビの途中で折り返しが発生するとひどいことになるけど [mozilla.com]
      • by Anonymous Coward

        ルビはいいけどruby要素は駄目ってどういうこと? 気になるので詳しく

        • by Anonymous Coward on 2010年11月04日 20時51分 (#1853167)

          例えば、abbrって要素があるけど、これのマークアップは

          <abbr title="わーるどわいどうぇぶ">WWW</abbr>

          で行う。

          つまり、"WWW"と"わーるどわいどうぇぶ"の2つの文字列の関係を示すために、この要素が使われているわけ。で、表現方法として"WWW"の上にポインタを持っていくと、"わーるどわいどうぇぶ"っていうツールチップが出る。デフォルトではね。

          しかし、よく考えて欲しいんだけど、abbreviationをルビで表現したい場合もあるよね。すると、abbrとrubyを両方マークアップしなければならない、という、ちょっとおかしなシチュエーションが生まれる。これは、文章構造のマークアップという観点からは下策もいいところ。なぜ、こうなったか、そもそもルビとはなんなのか、という点に議論が尽くされていなかった。今までね。

          ぶっちゃけ、ルビってスタイルでしょ? もちろん、「読み仮名」と「漢字」の間には文章構造が成立している点は否定しないけど、それは、あんな複雑怪奇なルールでしか記述できないものじゃない。spanみたいな汎用要素でも表現可能だ。ルビの重要な点はどういう風にレンダリングされるか、なんだから、これはスタイルシートがルビに対応していれば、それでいい。

          すでに、CSSには:afterと:beforeという擬似要素がある。

          abbr:after {
            content: "(" attr(title) ")";
          }

          と書いておけば、上記の

          <abbr title="わーるどわいどうぇぶ">WWW</abbr>

          WWW(わーるどわいどうぇぶ)

          とレンダリングされる。

          もし、前後だけじゃなくて、インライン要素の両サイドに擬似要素が配置できたら、それこそが定義から考えてもルビそのものだろう。仮に:upper-side擬似要素とでも名づけておくけど(実際には縦書きのことも考えて、違う名前にすべきだけど)、CSSに

          abbr:upper-side {
            content: attr(title);
            font-size: ruby; /* とても小さい */
          }

          って書いておいた時に、

          <abbr title="わーるどわいどうぇぶ">WWW</abbr>

          わーるどわいどうぇぶ
          W   W   W

          とレンダリングされたら、みんなが幸せになれるはず。

          もちろん、abbribiationでもacronymでもなんでもなくて、ただ読み仮名なんだ、ってこともあるだろうから、<ruby title="わーるどわいどうぇぶ">WWW</ruby>っていう要素があってもいいし、その場合はいちいちスタイルシートを指定しなくても標準で上記のように表示されるべきだと思う。あるいは、<span ruby="わーるどわいどうぇぶ">WWW</span>とかでもいい。

          しかし、少なくとも、現行のruby要素のように、rbとかrtとかそういった子要素でルビを表現するのはマゾの振る舞いであって、常人の為すところじゃない。もちろん、これは対応していないブラウザである程度納得がいくようにこういったギミックが仕込まれたわけだけど、この対価は重すぎて話にならない。筋の悪い技術でも広まると宗教戦争が一層激しくなるので、やめるなら今のうち、だと思うんだけれど、どうかな?

          親コメント
          • by Anonymous Coward
            「白長須鯨」にルビ打ったときに「く」が須の上に出るようでは、話にならないのですよ。
            • by nim (10479) on 2010年11月05日 9時41分 (#1853336)

              ちょっとまって。
              じゃあ、「香具師(やし)」とか「強敵(とも)」とか、
              「小鳥遊(たかなし)」とか「一方通行(アクセラレータ)」とかは、
              どの漢字の上にどの仮名をいれればよいのですか?

              親コメント
            • >「白長須鯨」にルビ打ったときに「く」が須の上に出るようでは、話にならないのですよ。

              白と長と須と鯨に、しろ なが す くじらと独立してルビふれば?

              親コメント
              • by Anonymous Coward
                そんなことしたら、白長須鯨ではなく白 長 須 鯨になってしまう
              • >そんなことしたら、白長須鯨ではなく白 長 須 鯨になってしまう

                問題ないよ

                親コメント
              • by Anonymous Coward

                漢字はつながることで意味や読み方が変わるんだから一文字ずつじゃ駄目でしょ。
                あなたはそれでも構わんと思うかもしれないけど、日本語的には駄目。

              • >漢字はつながることで意味や読み方が変わるんだから一文字ずつじゃ駄目でしょ。

                漢 字はつながらなくても意 味や 読 み 方 が通りますよ。一 文 字 ずつでも駄 目ではありません。

                >日 本 語 的には駄 目。

                ね、 問 題 ないよ。

                親コメント
              • うーん、それもやや日本語を独自の枠に当てはめすぎているように思うのですが……。
                ルビってもっと柔軟な使われ方をしていますよ、特に当て字の場合に。

                例えば、夏目漱石氏の『吾輩ハ猫デアル』では、「金剛石」という言葉に「ダイヤモンド」という読みを振っているようです。当て字ですから、漢字一文字ずつには分割することができません。あくまで単語に対しての読みになるはずです。
                これが「正しい日本語ではない」と否定されるならそうなのかもしれませんが、実態に即していないという意味では全く実用的ではありません。

                結局日本語のルビは、愚直にその箇所の発音だけを示唆する場合もあれば、単語に対しての属性を付け加えている場合もあり、更には全く違う言葉を振って多義的な文章を作るようなお遊び(秋津透氏が好んだ(笑))さえあるという、きわめて野放図に用いられてきたものなわけです。
                以前Web上のどこかで読んだだけなのでソースは示せませんが、rbとrtの醜さも「言語学的には親字ではなくルビの方こそが主」という主張に対してのものだそうです。(記憶違いがあったらごめんなさい)
                「現状の仕様が美しくない」という点には同意ですが、元々言語なんていい加減なものですから、仕方ないんじゃないでしょうか。

                --
                余談になりますが、昔私がルビの簡易レイアウトプログラムを作った際は、「親字と振り仮名が同じ仮名のときは省略(ひらがな/カタカナ同一視)」というルールにしました。
                「取っ手」の読み仮名はあくまで「とって」、「シロナガス鯨」は「しろながすくじら」としておき、表示時に「っ」や「しろながす」を省略というイメージですね。
                機械的に判別できないケースもありそうですが、自分の必要とした範囲では支障なかったので(^^;)

                親コメント
              • 考 えているけどね。で、 反 論 になっていないよ。もうちょっと 内 容 を 考 えておくとよいだろうな。
                あ、ACだから、 無 理 かな?

                親コメント
          • by Anonymous Coward
            CSS3 Ruby Module [w3.org] ではご不満?
            • by Anonymous Coward on 2010年11月04日 23時00分 (#1853223)

              CSS Ruby Moduleでは属性と要素を互換するのは難しい。
              例えば、

              abbr {
                display: ruby;
              }
              abbr:after {
                content: attr(title);
                display: ruby-text;
              }

              とできれば、面白いとは思うけど、おそらくこれを意図どおりにレンダリングしてくれるブラウザは将来的にも現れないだろう。ruby-baseをきちんと指定できないので。

              余の部分のように、細かい制御方法の取り決めはどの道必要だけど、
              http://www.w3.org/TR/css3-ruby/#display [w3.org]
              で指定されているように*要素*とその周りの親子関係を期待するような決め方は悪手だし、そうしていまうと、この先の発展はないと思う。ただ、スクリプトを使えばなんとかなる、という点だけはかろうじて評価できる。

              > #1853173

              <ruby title="しろながす">白長須</ruby><ruby title="くじら">鯨</ruby>

              か、もしくは、
              http://www.w3.org/TR/html-markup/datatypes.html#data-token-def [w3.org]に従って、

              <span title="しろながすくじら" ruby="しろ なが す くじら">白長須鯨</ruby>

              になるかな。

              親コメント
              • by Anonymous Coward

                HTMLの問題ではなく日本語の問題でしょ。

                「白長須鯨」はそれで一つの成語じゃないの?
                だったら分割するのは間違い。
                仮に、「白長須」と「鯨」に日本語として分けられるとしたら、表現もそうするだけの話。

    • by Anonymous Coward on 2010年11月04日 18時19分 (#1853084)

      その通りでIE9はテストをどんどんW3Cに提供しており、それをアピールしてますね。
      まあ、地道に開発者のために網羅性の高いテストケースを提供しつづけているというのは、とても良い態度だと思いますけど。他のグループもテストを提供できるわけだし。

      特定の「ナントカベンチマーク1.0」とか「Acid3」みたいな華々しいものこそ、特定の団体が適当に機能を固定して作ったものであり、特定のブラウザへの有利不利が出やすいと思います。

      親コメント
    • by Anonymous Coward

      HTML5については先行実装だけ突っ走るWebKitの方がやり方えげつないなあと思う。
      先行実装が存在しないと規格に含めない方針で策定を進めているという事情があるとはいえ。

      • by Anonymous Coward
        2.0 -> 4.0 の時もそうでしたよね

        何度でもやるんだろうね
        • by Anonymous Coward

          それはIEじゃなくてHTMLのバージョンの話?
          Microsoftは昔は自身の規格をW3Cでゴリ押しな印象が強かったけど(XMLSchemaとか)、
          HTML5に関してはやりすぎでもなくやらなすぎでもなくって感じで至極妥当な対応を
          しているように思う。

  • by Anonymous Coward on 2010年11月04日 17時45分 (#1853062)
    getElemetnsByClassName → getElementsByClassName
typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...