【HTML5 Dev】Web ブラウザの表示能力を検知する方法
かつての実装方法
今日の Web ブラウザは、どれも最新仕様に則って Web ページを最適にレンダリングする、という同じ共通の目標を念頭に置いて開発されている。
【残りの画像を見る】
しかし、以前は違っていた。かつて大半の Web ブラウザは、標準化されていない仕様でも、需要が高ければ構わず実装するものだった。例えば、CSS の透過設定などは、Web ブラウザごとに独自の方法で実装していたのだ。
具体的な例を挙げよう。Internet Explorer(IE)は、バージョン8まで 以下の CSS を解釈できた。
これに対し、Firefox は独自属性を用意していた。
Safari も同様だ。
ところが、現在の CSS3 では、エレメント透過の設定方法が統一されている。
Web ブラウザが新しい仕様を早急にサポートすべく「先を急ぐ」ことは、間違いなく素晴らしい。しかし、これらの仕様が標準化されていない場合は仕様ごとに異なる実装方法を使う必要が生ずるため、開発者が必ず大変な思いをする。
同じマークアップ
Web ページがすべての Web ブラウザで最適にレンダリングされるようにするには、使用するマークアップを現行 Web ブラウザの全てでサポートされているものに限るとよい。この条件にかなり最近まで当てはまっていたのが、登場から10年経過し、仕様がかなり絞られた標準仕様の HTML 4.01 だった。
現在、すべての Web ブラウザが仕様満載の HTML5 へと収束しつつある。しかし、「HTML5」(HTML5マークアップ、DOM Levels 2/3、CSS3、SVG、EcmaScript 262を含むその API)でくくられる新仕様の多くは、今も開発が続いており、変更される可能性がある。
Web ブラウザ ベンダー各社は、引き続きサポートする HTML5 仕様を増やしているが、そのペースはベンダーごとに大きく異なる。
たいていの場合、Firefox と Opera は新しい HTML5 仕様の採用が早い。まだ開発初期だったり、変更の可能性があったり、セキュリティの問題があったりする仕様であっても、採用してくる。
開発者が新しい仕様をテストできるようになるのは、素晴らしいことだ。ただし仕様採用のペースが速いと、Web サイトの使う仕様によっては、Web ブラウザのバージョン違いで表示の乱れる Web ページが生まれることにつながる。…