目次
HTML5
次世代HTML規格。アプリケーションプラットフォームとしての機能が大幅に強化されている。
仕様
狭義のHTML5は新しく追加されたマークアップ要素のことを言う。広義には次世代Webアプリケーション作成のために追加されたJavaScript APIやSVG等のブラウザの新機能を含む。一般的にHTML5と言った場合は広義のHTML5を指すようだ。
- HTML5 HTML文法とマークアップに関する仕様
- video、audioタグ
- 新しい要素 article、section等
- 新しいフォーム要素
- Application Cache API
- Drag and Drop API
- Common DOM Level 3
- Server-Sent Events サーバプッシュに関する仕様
- Web Sockets ブラウザとサーバの双方向通信に関する仕様
- Web Storage クライアント側のキーバリューストレージのインターフェース仕様
- Indexed Database クライアント側のオブジェクトストレージのインターフェース仕様
- Web SQL Database クライアント側のSQLストレージのインターフェース仕様
- Web Workers マルチスレッドプログラミングを可能にするワーカスレッドの仕様
- Geolocation API 位置情報の取得APIに関する仕様
- XMLHttpRequest Level2 XMLHttpRequestの拡張
- File API ファイルにアクセスするインターフェース
- HTML Canvas 2D Context - ビットマップを操作するインターフェース
- SVG XMLベースのベクタグラフィック仕様
- Selector API - DOMセレクタAPI
- Web Messaging ドキュメント間のメッセージング仕様
- Notifications API 通知API
- Streams API バイナリデータストリーム仕様
XML or HTML
HTML5の文書は、XHTML、HTMLいずれの文法でも記述できる。
HTML5の文書を受け取ったブラウザは、content-typeを見てXHTML(XML)として処理するか、HTMLとして処理するか決める。XHTMLの文法で書かれ、content-typeがapplication/xhtml+xmlで配信されるHTML5の文書は、ValidなXML であるか、少なくとも整形式でなければパースエラーとなるだろう。
現状、多くのブラウザは、XHTML文法で書かれtext/htmlとして配信された文書を(XHTML文書としてではなく)HTML文書として解釈する。これは仕様ではNGだが、HTML5文書もそのように処理されると思われる。
XHTML | HTML | |
---|---|---|
Content-Type | application/xhtml+xml | text/html |
Doctype | なし | <!DOCTYPE html> |
XML宣言 | <?xml version=“1.0” encoding=“utf-8” ?> | なし |
空要素 | <br/> | <br> |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML文法で書くHTML5</title> <link rel="stylesheet" href="html.css"> </head> <body> </body> </html>
XMLとして記述する場合、文法はXHTML1と同様(空要素は />で閉じる等)。
<?xml version="1.0" encoding="utf-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>XHTML文法で書くHTML5</title> <link rel="stylesheet" href="xhtml.css" /> </head> <body> </body> </html>
XHTMLで記述した場合、文書はXMLとしてパースされることが期待される。XMLとしてパースされた場合、
等の制限がある。
<script>や<link rel=stylesheet>のtype属性を省略した場合、それぞれtext/javascript, text/cssを指定したものとみなされる。これ以外のスクリプト、スタイルシート言語が使われることも処理可能な実装もほとんど無いので事実上常に省略可能とみなして良い。