Firefox 19 サイト互換性情報

by 2 contributors:

Firefox 19 が にリリースされました。可能な限り互換性を維持しつつ開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる変更も含まれます。そのような変更点をまとめましたので、サイトやアプリケーションの動作検証時にご活用ください。

ここでは Web サイトの後方互換性に影響し得る変更のみ解説します。その他の新機能や変更点については以下のドキュメントをご覧ください。

CSS

flexbox の接頭辞が外れました

CSS3 フレキシブルボックス (flexbox) の接頭辞が外れました。今後、関連するプロパティやキーワードは moz 接頭辞なしで使用してください。なお Firefox 19 ではまだ flexbox が初期設定で無効化されています。この機能をテストしたい場合は about:config を開き layout.css.flexbox.enabled の値を true に変更する必要があります。

-moz-initial の接頭辞が外れました

-moz-initial キーワードの接頭辞が外れました。-moz-initial は当面 initial のエイリアスとして残されますが、いずれ削除されます ので、今後は接頭辞なしのキーワードを使用してください。

:-moz-placeholder 疑似クラスが疑似要素に置き換えられました

placeholder 属性付きのフォーム要素にマッチする :-moz-placeholder 疑似クラスが削除され、代わりに ::-moz-placeholder 疑似要素が追加されました。WebKit の実装は元々疑似要素となっており、今回の変更は標準化へ向けた作業の一環です。

!important 付きのキーフレームルール宣言は無視されるようになりました

CSS3 アニメーション の最新仕様に合わせて、!important キーワードが付いたキーフレームルール宣言は無視され、パースエラーが返るようになりました。

参考: 接頭辞付きプロパティを無効化する設定が追加されました

これはサイト互換性に影響を及ぼす変更ではありませんが、互換性を維持する取り組みの一環として開発されたもので、参考までに紹介します。いくつかの主要な接頭辞付きプロパティを無効化する設定が追加されました。layout.css.prefixes.border-imagelayout.css.prefixes.transformslayout.css.prefixes.transitionslayout.css.prefixes.animations の 4 つです。Web 開発者はこれらの設定を無効化する (値を false に変更する) ことで、接頭辞付き実装が削除された後も意図した通りにスタイルルールが反映されるかどうかをテストできます。詳しくは David Baron のブログ記事 を参照してください。

DOM

Element.getElementsBy*HTMLCollection を返すようになりました

getElementsByTagNamegetElementsByTagNameNSgetElementsByClassName の各メソッドで取得できる要素リストの種類が、DOM3 Core の仕様書で定義されている NodeList から DOM4 の仕様書ドラフトで定義されている HTMLCollection に変わりました。

hasFeature/isSupported メソッドが常に true を返すようになりました

document.implementation.hasFeatureElement.isSupported の両メソッドが常に true を返すようになりました。これらは役に立たない API とみなされ仕様が変更されました。ただし SVG 機能に関しては例外で、従来通り実際の対応状況が返ります。

createElement(null) が例外を投げなくなりました

document.createElement メソッドの引数が null だった場合、従来は例外 INVALID_CHARACTER_ERR が投げられていました。この引数は文字列として扱われるべきとして、document.createElement("null") と同等にみなし、HTMLUnknownElement オブジェクトを返すようになりました。

document.referrer の実装が最新仕様に合わせて更新されました

入れ子になったインラインフレーム (iframe) や孫ウィンドウの URL が親ウィンドウから動的に変更された場合、document.referrer プロパティの値が、直接参照元の子ウィンドウではなく、スクリプトの書かれている親ウィンドウの URL を指すようになりました。これは仕様変更によるもので、Internet Explorer や Opera と同じ挙動になり、WebKit も追従する見込みです。

ファイルの更新日が不明な場合、File.lastModifiedDate が現在の日時を返すようになりました

File API の最新仕様に合わせて、File オブジェクトの lastModifiedDate プロパティが、そのファイルの最終更新日が不明な場合は現在の日時を返すようになりました。従来そうした場合は null を返していました。

Encoding API の実装が最新仕様に合わせて更新されました

Encoding API の仕様変更に合わせて TextEncoderTextDecoder の実装が更新されました。

XForms のサポートが削除されました

XML Events の実装が削除されました。この API を使用していた Mozilla XForms 拡張機能の開発は 実質的に終了しましたXForms のアクセシビリティサポートも Firefox 19 で 削除されています

JavaScript

Map.sizeSet.size がプロパティに変わりました

Map オブジェクトに保存されているキーバリューペアの数、Set オブジェクトに保存されている値の数を返す size メソッドが読み取り専用プロパティに変更されました。

イベント処理

一部のイベント属性が body/frameset 要素専用になりました

従来、onbeforeunload 属性はどの要素に指定しても認識され、イベント発生時に指定したハンドラが呼び出されていましたが、仕様に従って、bodyframeset 以外の要素に指定した場合は無視されるようになりました。その他、onafterprintonbeforeprintonhashchangeonofflineononlineonpagehideonpageshowonpopstateonresizeonunload 属性が同様の扱いとなりました。

ファイル処理

Content-Disposition ヘッダの name パラメータは非対応となりました

ファイルダウンロード時に使用される HTTP Content-Disposition ヘッダに含まれる name パラメータは無視されるようになりました。このパラメータは非標準で、Firefox と Google Chrome しか対応していませんでした。今後は標準の filename パラメータを使用してください。

プラグイン

Carbon NPAPI 対応が廃止されました

Firefox 4 以来廃止予定となっていた Carbon イベントモデルと Quickdraw 描画モデルが利用できなくなりました。Web マスターの皆さんは、もし自社サイトのコンテンツが何か特別なプラグインを必要とする場合、それが問題なく動作するかどうか確認しておきましょう。万が一 Firefox 19 で動作しない場合は、そのプラグインベンダーに連絡を取ってください。

ドキュメントのタグと貢献者

Contributors to this page: kohei.yoshino, omasanori
最終更新者: kohei.yoshino,