質問

私は今サイトを構築中ですが、これまでのところすべてを強制的に準拠させてきましたが、どのブラウザーでもほぼ同じに見えます。ただし、属性の追加などを行うサードパーティ/無料の JavaScript を実装し始めています (例:順序=2)。これを回避することもできますが、面倒ですし、すべてが有効であることを確認するという原則を失い始めています。本当に、このような問題を回避する意味はあるのでしょうか?Firefox 用の HTMLValidator プラグインを入手しましたが、ほとんどの主要なサイト (このサイトや Google などを含む) を見ると、それらは有効な XHTML または HTML ではありません。

役に立ちましたか?

解決

どのブラウザでも、非標準の属性の追加によってレンダリングの問題が発生した例はまだ経験したことがありません。

これらの非標準属性を回避しようとしないでください。バリデーターは、コードに意図しない間違いがないか再チェックするツールとして便利ですが、ご存知のとおり、完全に有効な xhtml であっても、ブラウザー間で常に一貫して表示されるわけではありません。デザイン上の決定により、効果を実現するためにブラウザー固有の (および非標準の) ハックを使用することが必要になる場合がよくあります。これは、検証されていないテクノロジーを推進するサイト (Google、Yahoo など) の数からも明らかなように、Web 開発者の命です。

他のヒント

検証は、おそらく同意していると思われる基準を満たしていないことを判断するのに役立ちます。検証標準にないものを特に追加するツールを意図的に使用している場合、それは明らかに個人的な標準合意に違反しません。

すべてにゴーサインを返すべきだと信じている上司や顧客がいる場合、この議論はさらに難しくなります。なぜなら、上記のことを説明して、単にあなたが怠けているだけではないことを納得させなければならないからです。

とはいえ、単に自分が怠けているだけではないことを確認してください。バリデーターは煩わしいほど常にサードパーティ属性のすべてのインスタンスを表示するかもしれませんが、だからといってバリデーターが言及している他の検証エラーが無効になるわけではありません (笑)。多くの場合、作業を再確認する手段として、ざっと目を通す価値があります。

標準への準拠とは、テストを行っていないブラウザでもページが動作する可能性を高めることです。これには、スクリーン リーダー、テスト対象のブラウザの次の更新、テスト対象であるがユーザーによって予期しない方法で構成されたブラウザが含まれます。

検証しても何も保証されません。ページが検証されてもまだ十分に曖昧で、いつかブラウザー上で意図したとおりに動作しなくなる可能性があるためです。

ただし、ページが検証される場合は、少なくとも、ページがどのように動作するかを規定する XHTML 仕様の力が得られます。それが検証されない場合は、ブラウザー作成者間での非公式な規約が多数存在するだけになります。

一方では許可され、他方では許可されない操作を実行したい場合は、無効な XHTML を作成するよりも有効な HTML 3 を作成する方がよいでしょう。

XHTML を XML として利用することを計画している場合、ページを有効で適切な形式にすることは価値があります。それ以外の場合は、単純な古いセマンティック HTML が必要になる可能性があります。いずれにせよ、視聴者のニーズはバリデーターのニーズを上回ります。

ほとんどのブラウザでは、XHTML タグが存在しない場合と比べて、レンダリングの仕方が異なることに注意してください。DOCTYPE 属性は、ブラウザがどのモードでレンダリングするかを決定し、何が許可され、何が許可されないかを指示します。XHTML 準拠から逸脱した場合は、必ずすべてのブラウザで再テストしてください。

私個人としては、可能な限り最新の基準を遵守しますが、時間やコストとコンプライアンスを天秤にかけなければなりません。ほとんどの場合、それは個人的な好みになります。

ブラウザに関する限り、XHTML 準拠は次の点で無意味です。

  1. ブラウザには XHTML パーサーがありません。これらには、バージョンに依存しない Web 互換の HTML パーサーがあり、 http://www.w3.org/1999/xhtml 名前空間。

  2. XML パーサーを備えた一部のブラウザーは、application/xhtml+xml として提供される XHTML マークアップを XML として扱うことができます。これは XML を取得し、デフォルトの HTML スタイルと動作を要素に与えます。 http://www.w3.org/1999/xhtml 名前空間。ただし、解析に関する限り、XHTML とは何の関係もありません。一部の XHTML DTD のルールではなく、XML 解析ルールに従います。

したがって、XHTML マークアップを使用すると、ブラウザに異質なものを与えて、それが意図したとおりに動作するかどうかを確認することになります。重要なのは、これはどのマークアップでも実行できるということです。意図したとおりにレンダリングされ、正しい DOM が生成されれば、かなりうまくいっていると言えます。DOCTYPE の切り替えを常に念頭に置き、ブラウザのバグに依存していないことを確認する必要があります (バグのないブラウザで問題が発生しないようにするため)。

XHTML 準拠が役立つのは、マークアップが正しく形成されているかどうかを確認する (検証による) 構文チェックです。これは解析バグを回避するのに役立ちます。もちろん、これは HTML でも実行できるため、この場合 XHTML に関して特別なことは何もありません。いずれにせよ、やはりブラウザでテストする必要があり、ブラウザ ベンダーがあらゆる種類のがらくたを受け入れることができる素晴らしい HTML パーサーを作成してくれることを願っています。

無意味ではないのは、ブラウザが期待するものに従おうとすることです。HTML5 はこの大きな問題に役立ちます。そして、HTML5 に関して言えば、カスタム属性を自由に定義できます。<p data-order="This is a valid, Custom Attribute.">test</p> のように、接頭辞として data- を付けるだけです。

通常、HTML が有効であることは、ユーザーとブラウザのレンダリング エンジンの両方にとって役立ちます。ブラウザーが対処しなければならない問題が少なくなればなるほど、ブラウザーは新しい機能の追加に集中できるようになります。厳格であればあるほど、なぜこのクソ独自のタグが他のブラウザでは機能しないのかを考える時間が減ります。

一方、XHTML は、XML ドキュメント内に統合する予定がある場合を除いて、私の意見では、さらに無意味です。IE はまだ認識しないので、このままにしておくのはかなり無駄です。

ルールに従って模範を示すという理由だけで、「有効なコード」を書くことが重要だと思います。すべての開発者が Fx、Safari、Opera 用のコードを書いていたとしたら、IE はバージョン 8 よりも早く「ルールに従い始める」必要があったと思います。

私は、ほとんどの場合、時間やコストと、1 つを除くすべてのケースで視聴者のニーズを比較検討しながら、準拠したコードを書こうとしています。コードを 503 に準拠する必要がある場合、準拠したコードを作成することがあなたにとっても視聴者の利益にもなります。コードが少しでも間違っていると、爆発してしまうスクリーン リーダーをたくさん見つけてきました。

大多数の投稿者が言っているように、実際には視聴者が何を必要としているかがすべてです。

決して無意味ではありませんが、それを破るには十分な理由があります。CSS 開発の初期段階では、マークアップが有効であればブラウザの問題を診断するのに非常に役立ちます。さらに、何かをしたい場合、最も適切な方法が検証を破ることだと思われる場合は、通常は問題ありません。

カスタム属性を使用する代わりに、「rel」属性を使用することもできます。例については、を参照してください。 ライトボックス (そしてその親類)。

もちろん、少なくとも機能することを確認しながら、いつでも好きなように記述できます。もちろん、私たちはすでにこの考え方に苦しんでおり、その結果を目の当たりにしていますが、 Internet Explorer 6.

私は大ファンです 標準指向開発に対する Mike Davidson のアプローチ.

コードを検証できるからといって、他の人よりも優れているというわけではありません。へー、それは必ずしも他の人よりも優れたコードを書くという意味ではありません。銀行アプリケーションを完全に Flash で作成できる人は、あなたよりも優れたプログラマーです。サードパーティのコードを複雑なパブリッシング環境に統合できる人は、あなたよりも優れたプログラマーです。検証はピクチャーパーフェクト文法を使用するものと考えてください。それは自分のアイデアを伝えるのに役立ち、良い教育を受けていることの証ですが、自分が考えてその後に伝えるアイデアやコンセプトほど重要ではありません。私がこれまで一緒に働いた中で最もカリスマ的で、おそらく最も賢い人は南部出身で、「ain't」という言葉を頻繁に使っていました。それは彼の賢さを少しも損なうことはなく、実際、それは彼をより記憶に残るものにしました。つまり、私が言いたいのは、人を判断する基準はたくさんあるということです…検証はその 1 つですが、確かに最も重要ではありません。

多くの人がこの投稿を、標準に準拠してコーディングするべきではないという意味だと誤解しています。もちろんそうすべきですが、それは実際に考えるべきことではありません。の 検証軍 検証しないものは常に非難されますが、検証は有効なコード以上の意味を持ちます。

したがって、原則を失わないでください。ただし、基準に従えば、将来問題の深刻な問題に陥る可能性が大幅に低くなるということを覚えておいてください。提供しようとしているコンテンツは、それがどのように表示されるかよりもはるかに重要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top