理想的には、同じ標準と同じコードをサポートする異なるブラウザがあり、すべてのブラウザで同じ結果が得られるようにします。
それはまだ起こっていません。理由は何ですか?
gopher
ます。
理想的には、同じ標準と同じコードをサポートする異なるブラウザがあり、すべてのブラウザで同じ結果が得られるようにします。
それはまだ起こっていません。理由は何ですか?
gopher
ます。
回答:
いいえ、仕様は時々混乱し、誰もが他のものとは異なる何かを理解するため、現実的ではありません。結局のところ、私たちはただの人間です。製品の1つのバージョンを持つベンダーが1つだけの場合、真の標準は1つだけです。
ジョエルは、このテーマに関する火星のヘッドセットと呼ばれる素晴らしい記事を書いています。
ここで彼を引用すると思います。これは、さまざまなベンダーが関与している限り、これが表示されない理由の最良の説明だからです。
これらのドキュメントは非常に紛らわしいです。仕様には、「兄弟ブロックボックス(フロートせず、絶対に配置されていない)がランインボックスに続く場合、ランインボックスがブロックボックスの最初のインラインボックスになります。慣らし運転は、既に慣らし運転で始まっているブロックや、それ自体が慣らし運転であるブロックに走ることはできません。」 私はそのようなことを読むたびに、誰がどのように仕様に正しく準拠しているか疑問に思います。
また、市場には競争と進化があります。たとえば、オートコンプリートボックスをご覧ください。すべての主要なブラウザにはすでにそれらがありますが、定義された標準はありません。W3Cは遅すぎます。標準が登場する頃には、すでに5つの異なる実装があり、さまざまな動作がワイルドになっています。競争力を高めたい場合は、サポートする必要があります。この問題のもう1つの主な例は、ビデオの埋め込みです。
つまり、さまざまなブラウザーと環境をサポートする必要がある限り、調整を行う準備をしてください。
いいえ。多くの仕様のW3Cは、どこかの実装の責任をUA実装者(ブラウザ実装者)に与えているためです。私が通常W3C仕様から直接記事を書いて、これらのケースを見るからです。たとえば、W3Cは、ブラウザは(Geolocation APIを介して)自分の位置を共有することについてユーザーの同意を得るべきであると述べていますが、それをどのように求めるべきかについては述べていません。これにより、ブラウザごとに異なる種類のメッセージ(ポップアップ、スライドダウンなど)が表示される可能性があります。
一般的に、私たちはそれを言うことができます:
多元的な要件の実装がある限り、ブラウザ間の一貫性を実現するのは困難です。
W3C がブラウザの実装者に何をすべきかを命令的に指示した場合にのみ、一貫したブラウザを見ることができます。
すぐに起こることは非常にありそうにない-実際、それが起こったとき/起こった場合、それは世界が進んでいるという強い兆候であり、単にウェブブラウザをもう気にしない。
問題は非常に単純です。ブラウザーが実行できるさらにクールなもののための新しい標準を作成する際の制限のほとんどは、既存の標準への(妥当な)準拠の欠如です。それをわずかに異なる方向から見ると、ブラウザが既存の標準に適合している(あるいは適合にかなり近づいている)ことは、少なくとも少数の人々が「しかし、そして...彼らは2つのことのいずれかを行います:彼らは1つのブラウザでアイデアを実装してから、アイデアを標準化することに取り組みます(他のブラウザが実装する前にほぼ必然的に)、またはまだブラウザが実装していない場合でも、その動作の標準を作成する作業をします。
結論として、ブラウザー間での標準の実装は、準拠する新しい標準の発明にほぼ必然的に遅れることです。ブラウザがすべて追いつく唯一の方法は、人々がブラウザのために新しいことを書いたりデザインしたりするのをやめることです。
同時に、私は多かれ少なかれその逆も真実であることを指摘する義務があると感じています。これは、ブラウザがこれまで以上に密接に適合する標準のセットです。少し前まで、Acid3テストでブラウザが獲得した最高スコアは93/100でした。たまたま、IEが現在取得しているスコアとまったく同じです...