IE.nextをめぐるMicrosoftとの対話
2007年2月4日
Aaron Gustafson著
(この記事はWeb Standards Project(WaSP)における投稿記事「Talking with Microsoft about IE.next」を翻訳したものです。当Blogは翻訳の正確性を保証いたしませんので、必要に応じ原文を参照ください。)
私たち(WaSPのDOM ScriptingおよびMicrosoftタスクフォース、ならびにJS Ninjas)がIE.nextに望む改善事項を、Internet Explorerチームのメンバーらと会って議論すべく、金曜日の日に私はRedmondにいました。
DOM ScriptingおよびMicrosoftタスクフォースはJS Ninjasと共同し、過去数カ月にわたりIE.nextにまつわる問題点、必要事項、要望などを取りまとめてきました(皆さんの多くがフィードバックを通じそのリストに貢献してくれました)。リストはJavaScriptサポートの範疇において私たちの期待することにフォーカスしていましたが(IE7はその領域においてあまりアップデートされていなかったものですから)、しかし同様の状況はほかの領域についても認められました。
リスト
先週、私たちのグループはそれぞれが優先すべきだと思うことに投票をしましたが、それは私がRedmondで渡すための最終的なリストを作るのに役立てられました。私たちがIE.nextに期待するより明らかに多くの量がそこにはありましたが、いくつかの項目は重要であると感じ、それらに真っ先にフォーカスしたいと考えました。
優先順位の第一位となったのは、任意のノードマッチングを高速に行うAPIとより優れたエラー報告でした。DOM Scriptingの領域において、ノードマッチングは鍵であり(多くのスクリプトがCSSセレクタに基づいたノードマッチングを行っている例をご覧ください)、XPathをネイティブで実装することができれば(それは一般にSelectors APIよりも好まれています)、スクリプトの実行速度を大幅に改善することになります。エラー報告については、(JS Ninjasの)Justin Palmerが次のように上手く語っています。
何がいかなる理由で壊れているのかわかれば、他の問題すべてを解決するための方法を見つけることができるでしょう。より良いエラー報告が無ければ、リストにある他の項目は自らの足を撃つためのより大きな銃を与えてくれるに過ぎません。
リストに挙げられた次の項目は、ミュータブルなDOMプロトタイプです。これはIEのJavaScriptにおけるDOMオブジェクトの実装に起因する問題に言及しており、そのCore DOMの要素が標準的なオブジェクトプロトタイプに由来していないのです。技術的には標準サポートの問題ではない一方、この要求は標準と衝突せず、JavaScript開発者にはIEチームが次のリリースでは取り組むことができないかもしれない複数の課題に対応するための能力を提供することになります。Andrew Dupont(もう一人のNinja)が述べたように、JavaScriptにおけるDOM実装がJavaScriptの一部のように振舞うことを必要とするのは、理にかなっていると私は考えます。
次の項目は大物です:IEのイベントシステムをW3Cのイベントモデルに合わせるというものです。これは多くの開発者にとって長きに渡る課題であり、2つのイベントシステムを等価にするためのコードはすべての主要JSライブラリにおいて膨大な量となっています。W3CのイベントシステムをIEに実装することは標準サポートによる真の恩恵となり、多くのライブラリでサイズを劇的に減らすことにもなるでしょう。
トップファイブの最後の項目はJSに関するものではなく、むしろCSSについてのもので、生成内容の実装です。なぜその実装が本当に素晴らしいか、その理由に私が興味を抱く必要があるかどうかは、わかりませんが。
リストには、二つの「名誉ある言及」も含まれていました。 getAttribute()
とsetAttribute()
に関する問題の修正と、JS 1.7の機能をいくつか実装し始めること(let
式を用いたブロックスコープ変数など)の二つです。
IEチームにはたやすくそっぽを向かれたくないのですが、渡した文書には言及する必要のある他の項目を複数ハイライトしており、その一部は次のようなものです。
- CSSバグの修正(隣接マージンの相殺と
z-index
を含む) - フォームコントロール周りのさまざまな修正(
button
要素、label
要素、disabled
属性の実装を含む) object
要素のサポートの修正q
要素のサポート追加(生成内容が有効になったらフリーズすべき)- 属性に関する問題の修正(
alt
属性がツールチップに使われたり、cite
属性がq
またはblockquote
要素でサポートされていなかったり、table
要素でsummary
属性がサポートされていないといった事柄)
ミーティング
Redmondで私は、MicrosoftのWeb Platform and Toolsで製品マネージャーを務めるPete LePageと、IEチームの複数のキーメンバーらと会いました。リストとその関連事項について事細かに2時間ほど、私たちは議論しました。ミーティングの詳細をすべて明らかにすることはできませんが、私の会ったグループは指摘した事柄をしっかり認識していて、またそれらを論ずることに熱心だった、とは間違いなく言えます。一人のチームメンバーは、リストにあるトップファイブを簡単に推測できるとすら言いました。
とりわけイベントモデルとgetAttribute()
/setAttribute()
に関し、彼らの抱いた心配事のひとつは、IEを標準に合わせるために加えるいかなる変更も、IE独自のイベントモデルなどを利用している多数のサイトのために「Webを壊す」べきではないということです。それはもっともな心配であるだけに、私たちはこの特別な話題に時間を割いて議論しましたし、解決に近づいていると考えていることを喜んで述べたいと思います。
IEが今後どこへ向かうかについて確かな希望を抱いてミーティングを終えましたが、今回の意見交換のようなWeb標準コミュニティ(そしてWeb開発者全体)との交流に対する彼らの積極さには本当に励まされました。2時間の対話を通じ、すべての事項で解決を得たわけではありませんが、これはIE.nextの改善に向けた最初の一歩に過ぎないと私は確信しています。IEチームはこのような対話を継続したいと考えていますし、物事が進展するにつれ、Webコミュニティ全体からのフィードバックを引き出し続けたいと考えています。