0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HTML5 における HTML4 からの変更点

Posted at
  1. はじめに

HTML は 1990 年代はじめに誕生してから今日まで発展を続けています。HTML の機能は仕様書を定義し拡張されることもあれば、ソフトウェアの独自実装により拡張されることもありました。この歴史のなか、実装と製作者の慣習は近づき、仕様書やその他の標準とも合致しました。しかし一方で相違も生まれ続けています。

HTML4 は 1997 年に W3C 勧告となりました。そしてその仕様書は今日も、HTML の機能を大まかに説明する説明書として利用されています。しかしながら、この仕様書は実装同士、また Web 上に存在する莫大な数の HTML 文書に対し、どのように相互運用性を確保するのかという、重要な情報を提供していません。

そして残念ながら、情報の欠如は HTML4 を XML でシリアライズした XHTML1 や、HTML と XHTML に JavaScript API を提供する DOM Level 2 HTML に対しても起こってしまいました。HTML5 はこれらの仕様を置き換える目的で策定されています。[DOM2HTML] [HTML4] [XHTML1]

HTML5 仕様の草案は、2004 年に始められた HTML 実装と Web 上の HTML 文書に対し行った調査結果を反映し、次の要件を掲げています。

HTML5 と呼ばれ、HTML または XML で記述するひとつの言語仕様を定義する。
詳細な処理モデルを定義し、相互運用可能な仕様の実装を手助けする。
文書のマークアップを改善する。
Web アプリケーションのような新しい表現に対しマークアップと API を提供する。
1.1. 未解決の問題

HTML5 は草稿段階の仕様です。HTML5 仕様および、この文書中の HTML5 に関する項目は、現在も HTML ワーキンググループや WHATWG メーリングリストで検討中です。未解決の問題は HTML5 仕様からリンクされています。

1.2. 後方互換性

HTML5 は、現在 Web 上に公開されている HTML 文書について、ユーザーエージェントが後方互換を取るようにと定義しています。HTML5 では、製作者のためオーサリング言語をシンプルにした結果、表象的な要素をはじめとするいくつかの要素や属性が含まれていません。CSS の使用が推奨されるこれらの要素や属性に関しては、後のセクションに詳しい説明があります。

一方で、ユーザーエージェントは古い要素や属性をサポートし続けなければなりません。このため、HTML5 仕様は製作者に対する要件と、ユーザーエージェントに対する要件を明確に分けています。たとえば、製作者は isindex や plaintext 要素を使用することはできませんが、ユーザーエージェントはこれらの要素を Web 上のコンテンツと互換性をとるかたちでサポートする必要があります。

「製作者の要件」「ユーザーエージェントの要件」という2つの適合性要件を定義したことで、要素や属性に「非推奨 (deprecated)」という扱いを行う必要はなくなりました。

1.3. 開発モデル

HTML5 仕様は、少なくとも2つの完全な実装が登場するまでは完成したとみなされません。実装が完全であるかを検証するときにはテストスイートが使われます。このアプローチは、実装される前に最終仕様が承認されていた過去の HTML とは異なります。この変更の目的は、仕様が実装可能であり、また仕様が完成した際にすでに作成者が利用できることを保証することにあります。

  1. 構文

HTML5 では、広く使われている HTML4 や XHTML 1 と互換性のある HTML 構文を採用しています。しかしこの構文は HTML4 における、処理命令 や 短縮マークアップ などの難解な SGML の機能とは互換性がありません。ほとんどのユーザーエージェントでサポートされていないからです。HTML 構文を使用する文書のほとんどは text/html メディア型で提供されています。

HTML5 はまた、エラー処理を含む詳細な構文解析規則を定義しています。これらの規則は、既にある実装と多くの部分で互換性を持つように設計されています。ユーザーエージェントは text/html メディア型を持つリソースに対し、これらの規則に従い構文解析を行う必要があります。HTML 構文に適合する文書の例は、次のようなものになります。

<!doctype html>



Example document


Example paragraph




HTML5 はまた text/html-sandboxed というメディア型を HTML 構文に対して提供しています。このメディア型は、信頼できないコンテンツをホストする際に利用されます。

HTML5 で使用できるもうひとつの構文は XML です。この構文は XHTML 1 文書および、その実装と互換性をもちます。XML 構文を使用する文書は、XML のメディア型を利用する必要があります。また、XML 仕様にて述べられた規則に基づき、要素は http://www.w3.org/1999/xhtml 名前空間に属する必要があります。 [XML]

次の例は、HTML5 文書の XML 構文に適合する文書の例です。この XML 文書は XML のメディア型、すなわち application/xhtml+xml, または application/xml で提供される必要があることに注意してください。

<?xml version="1.0" encoding="UTF-8"?>


Example document


Example paragraph




source:
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?