1. ホーム
  2. html

[解決済み] HTML 4とHTML 5の決定的な違いは何ですか?

2022-05-05 13:09:02

質問

との主な違いは何ですか? HTML4 HTML5ドラフト ?

変更された構文や追加・削除されたhtml要素に関連する回答はそのままにしておいてください。

解決方法は?

HTML5には、HTML4と異なるいくつかの目標があります。

不正なドキュメントの処理における一貫性

主なものは 一貫性のある、定義されたエラー処理 . ご存知のように、HTMLは意図的に「タグスープ」をサポートしています。つまり、不正なコードを書いても、それを有効な文書に修正させることができるのです。 問題は、これを行うためのルールがどこにも書かれていないことです。 新しいブラウザベンダーが市場に参入しようとする場合、様々なブラウザ(特にIE)で不正な文書をテストし、そのエラー処理をリバースエンジニアリングすればよいのです。 そうしなければ、多くのページが正しく表示されません(ネット上のページの約90%は、少なくとも何らかの不正を犯していると推定されます)。

そこでHTML5では、このエラー処理を発見し、コード化することで、ブラウザ開発者全員が標準化し、一貫した表示を行うために必要な時間とコストを大幅に削減しようとしているのです。 また、HTMLが文書フォーマットとして消滅した後も、長い将来にわたって歴史学者が私たちの文書を読みたがる可能性があり、完全に定義された解析アルゴリズムがあれば、これを大いに支援できます。

Webアプリケーションの機能向上

HTML5の第二の目標は、HTML、CSS、Javascriptによって、ブラウザがアプリケーションのプラットフォームとなる能力を開発することです。 現在(HTML4では)FlashやJSベースのハックである多くの要素が、言語に直接追加されています。 <canvas> , <video> および <audio> . ローカルストレージ(jsでアクセス可能なブラウザ内蔵のキーバリューデータベースで、クッキーが保持できる範囲を超えて情報を保存します)、ブラウザが簡単なユーザーインターフェースを公開できる日付などの新しい入力タイプ(jsベースのカレンダー日付ピッカーは必要ありません)、ブラウザがサポートするフォーム検証などの便利なものは、開発者にとってウェブアプリケーションの開発をより簡単にし、ユーザーにとってもより速くします(多くのものが、javascriptでハックするのではなくネイティブでサポートされているからです)。

要素セマンティクスの改善

HTML5 では他にも多くの小さな取り組みが行われており、例えば、既存の要素 ( <strong><em> は実際には別のものを意味し、さらに <b><i> は曖昧なセマンティクスを持っていますが、レガシーなドキュメントをパースする際にはうまく機能するはずです)、そして有用なセマンティクスを持つ新しい要素を追加することです。 <article> , <section> , <header> , <aside> および <nav> の大部分を置き換える必要があります。 <div> はウェブページで使用され、あなたのページをもう少しセマンティックにしますが、より重要なことがあります。 読みやすい . もう、あのランダムな </div> が閉じている代わりに、明らかな </header> または </article> これにより、文書の構造をより直感的に理解することができます。