質問

この質問は、この質問から少し触発されました。答えはHTML 5の機能を使用することをお勧めします。それは確かに良い方法のように思えましたが、将来の仕様全般の機能を使用することに興味を持ちました。

HTML 5には多くの素晴らしい改善があり、その多くは現在のブラウザで問題を引き起こすことなく使用できます。

いくつかの例:

// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>

// new input types,  for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>

// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>

// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23"> 
    <!-- -->
</div>
<button data-item-id="93024">Add Item</button>

これらの新しい機能の多くは、ブラウザがフォームを自動的に検証できるように設計されているだけでなく、より良い入力(日付ピッカーなど)を提供します。便利なものもあり、将来に備えるための良い方法のように思えます。

現在、現在のブラウザでは(私が知る限り)何も壊しておらず、クリーンで汎用的なクライアントサイドコードを使用できます。

ただし、これらはすべてHTML 5で有効ですが、HTML 4では無効であり、HTML 5はこの時点ではまだドラフトです。

これらの機能を早めに使用することをお勧めしますか

まだ気付いていないブラウザ実装の問題はありますか?

HTML 5ドラフト機能を使用するWebページを今すぐ開発する必要がありますか?

役に立ちましたか?

解決

考慮すべきことがいくつかあります:

  1. 最初に、HTMLページは有効ですが、オーサリングが不適切で、アクセスできないなどの理由で、検証はそれほど意味がありません。「有効なHTML」にいいえと言ってください。アイコンおよび XHTMLをtext / htmlとして有害とみなす(hobo-webを参照)別の応答で言及されたテスト)
  2. これを考えると、新しいDOCTYPEを使用することを強くお勧めします。HTML5でそれを使用する唯一の理由は、ブラウザーで標準モードをトリガーする最小のものであるためです。冗長でエラーが発生しやすい別のDOCTYPEを使用する理由はほとんどありません。
  3. フォームの機能強化については、Weston Ruterの webforms2 JSライブラリを使用して、それを非認識ブラウザに
  4. そして最後に、 data-* 属性については、a)すべてのブラウザで動作します( getAttribute()を使用している限り)、b)まだ優れています title または class 属性を悪用するよりも、c)検証はそれほど重要ではないと以前に言ったように、検証に煩わされることはありません(もちろんそうですが、妥当性エラーが意図的なものであればページが無効であることは問題ではなく、W3Cバリデーターで既にHTML5検証を使用できるので...);したがって、それらを使用しない本当の理由もありません。

他のヒント

良い質問!

要するに:それはあなたのコンテキストとリスク許容度に依存します:)

少し長い:

  • 私は考えます、技術の早期採用の限界を押し広げることは常に良いことです。これにより、商用の世界で後発企業よりも優位性が得られます。また、テクノロジーの出現に影響を与える上で、より多くのレバレッジが得られます。

  • コードを書き直したり、ソースを更新したりしたくない場合は、早期の採用はあなたには向かないかもしれません。変更する必要のない堅実で安定したコードを書きたいと思うことは完全に立派ですが、それは完全にあなた次第です(そしてあなたのビジネスコンテキスト)

ページが検索エンジンの配置に大きく依存している場合、一部のエンジンがHTMLの検証を優先することを考慮する価値があるかもしれません(出典: http://www.hobo-web.co.uk/seo-blog/index.php/official- google-prefers-valid-html-css / )。

また、新しい日付入力要素(Operaの要素など)に依存することで、開発者側の利便性が向上することを考慮する価値があります。通常、より優れたサーバーとなるより複雑なJavascriptコントロールを含めることができません。古いブラウザ(通常は単純なテキスト入力フィールドにフォールバックします)。

もちろん、いつものように、ブラウザー側のチェックに依存せず、すべての入力サーバー側を検証します。

少なくとも1つのブラウザでテストする前に、新機能を使用しないでください。たとえば、現在のフォーム機能を使用する場合は、必ずOperaでテストしてください。それ以外の場合は、有毒な遺産に貢献することで、善よりも害を及ぼす可能性があります。

ブラウザに機能が既に実装されており、それらのブラウザでテストしている場合は、新しい機能を使用してください。

以前の回答も参照してください。

堅牢性の原則を参照してください:

  

RFC 761(伝送制御   プロトコル、1980)アメリカのコンピューター   科学者ジョン・ポステルは要約した   希望の以前の通信   の相互運用性基準   インターネットプロトコル(cf. IEN 111 1 、RFC   760)次のとおり:

     

TCP実装は   堅牢性の一般原則: be   あなたがすることで保守的である   あなたが受け入れるものに寛大   その他

だから、私見、いいえ。

少なくともすべての主要なブラウザからサポートされるまで、HTMLの新機能を実装しません。

クライアントは、ページが有効かどうかは気にしません。クロスブラウザで機能する場合は、はるかに気になります。最新の標準を実装するために戦ったとしても、IE6を決して流さないクライアントや企業はまだ存在し、IE6はしばらくの間ブラウザ要件リストに載っています。

新しいフォームタイプは歓迎されますが、フォームはサーバー側でチェックする必要があります。

HTML5の既存のドキュメントに渡すには、多くの労力と適応が必要になります。それが主流になるまで少なくとも3年を期待します。

楽しさと学習のためだけにHTML 5を使用しますが、少なくとも現在では、この移行をサポートする正当な理由があるまでは、この新しい標準でプロダクションコード(既存のコード)には一切触れません。 。

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