HTML5

HTML5name是HTML最新的修訂版本，由全球資訊網聯盟（W3C）於2014年10月完成標準制定。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準，以期能在網際網路應用迅速發展的時候，使網路標準達到符合當代的網路需求。廣義論及HTML5時，實際指的是包括HTML、CSS和JavaScript在內的一套技術組合。它希望能夠減少網頁瀏覽器對於需要外掛程式的豐富性網路應用服務（Plug-in-Based Rich Internet Application，RIA），例如：Adobe Flash、Microsoft Silverlight與Oracle JavaFX的需求，並且提供更多能有效加強網路應用的標準集。

HTML5添加了許多新的語法特徵，其中包括`<video>`、`<audio>`和`<canvas>`元素，同時整合了SVG內容。這些元素是為了更容易地在網頁中添加和處理多媒體和圖片內容而添加的。其它新的元素如`<section>`、`<article>`、`<header>`和`<nav>`則是為了豐富文檔的數據內容。新的屬性的添加也是為了同樣的目的。同時也有一些屬性和元素被移除掉了。一些元素，像`<a>`、`<cite>`和`<menu>`被修改，重新定義或標準化。同時APIs和DOM已經成為HTML5中的基礎部分。HTML5還定義了處理非法文檔的具體細節，使得所有瀏覽器和客戶端程序能夠一致地處理語法錯誤。

## 發展歷史

網頁超文本技術工作小組（WHATWG）於2004年開始制定新標準。當時，HTML 4.01自2000年以來從未更新，以及全球資訊網協會（W3C）正在將未來的發展重點放在XHTML 2.0。2009年，W3C允許XHTML 2.0工作組章程結束過期並且決定不再續訂。W3C與WHATWG合作共同為發展HTML5而努力。

2004年6月，Mozilla基金會和Opera軟體公司在全球資訊網協會（W3C）所主辦的研討會上提出了一份立場文件，其重點是開發與現有瀏覽器向後相容的技術，包括Web Forms 2.0最初草案規範。研討會以8票贊成，14票反對的結果否決繼續對HTML的開發工作。此舉引起一些人的不滿，因此在研討會之後，立即成立了網頁超文本技術工作小組（WHATWG），並根據該目標展開工作，同時宣佈第二個草案Web Applications 1.0。後來這兩種規範合併形成HTML5。2007年，獲得W3C接納，並成立了新的HTML工作團隊。2008年1月22日，第一份公開工作草案發布。

儘管HTML5已經在網路開發人員中非常知名，但它成為主流媒體的話題是在2010年的4月，當時蘋果公司的CEO賈伯斯發表一篇題為「對Flash的思考」的文章，指出隨著HTML5的發展，觀看影片或其它內容時，Adobe Flash將不再是必須的。這引發了開發人員間的爭論，包括HTML5雖然提供了加強的功能，但開發人員必須考慮到不同瀏覽器對標準不同部分的支持程度的不同，以及HTML5和Flash間的功能差異。

2014年10月28日，W3C正式發布HTML5推薦標準。

### 時間表

W3C的HTML5、5.1、5.2、5.3推薦標準時間表：

版本｜初稿｜候選｜推薦｜淘汰

HTML5｜2007年｜2012年｜2014年｜2018年

HTML 5.1｜2012年｜2015年｜2016年｜2021年

HTML 5.2｜2015年｜2017年｜2017年｜2021年

HTML 5.3｜2017年｜不適用｜不適用｜2021年

## 特點

### 標記

HTML5提供了一些新的元素和屬性，反映典型的現代用法網站。其中有些是技術上類似`<div>`和`<span>`標籤，但有一定含義，例如`<nav>`（網站導航塊）和`<footer>`。這種標籤將有利於搜尋引擎的索引整理、小螢幕裝置和視障人士使用。同時為其他瀏覽要素提供了新的功能，通過一個標準接口，如`<audio>`和`<video>`標記。一些過時的HTML 4.01標記將取消，其中包括純粹用作顯示效果的標記，如`<font>`和`<center>`，因為它們已經被CSS取代。還有一些透過DOM的網路行為。

儘管和SGML在標記上的相似性，HTML5的句法並不再基於它了，而是被設計成向後兼容對老版本的HTML的解析。它有一個新的開始列看起來就像SGML的文檔類型聲明，`<!DOCTYPE HTML>`，這會觸發和標準兼容的渲染模式。在2009年1月5日，HTML5添加了Web Form 2.0的內容，HTML5開始發展起來。

### 新的API

除了原先的DOM接口，HTML5增加了更多樣化的應用程序接口（API）：

- Canvas
- 定時媒體播放
- 離線
- 可編輯內容
- 拖放
- 歷史
- MIME和協議處理程序時表頭登記
- 微數據
- 網路訊息
- 網路存儲

以上技術儘管是WHATWG HTML說明文檔的內容，但並沒有全部包括在W3C HTML5的說明文檔裡。一些相關的技術，像下面所列的，並沒有包括在這2份文檔中的任何一份中。W3C給這些技術單獨出版了說明文檔。

- 地理位置
- 網頁SQL資料庫 ─ 本地SQL資料庫（不再維護）
- IndexedDB
- 文件 ─ 處理文件上傳和操縱文件
- 目錄和文件系統 ─ 這個API是為了滿足客戶端在沒有好的資料庫支持情況下存儲要求
- 文件寫入 ─ 從網路應用程式向文件裡寫內容
- 網路音訊
- ClassList
- 網路加密
- WebRTC

一個普遍的誤解是HTML5能夠在網頁中提供動畫效果，這是不對的，動畫效果是需要配合JavaScript和CSS。然而靜態HTML5配合CSS可以表示出複雜的排版結構而且原生支援與影片的混合與控制（控制一般由JavaScript執行），因此簡單可以把HTML5單位時間的狀態理解為動畫的關鍵影格。

### XHTML5（XML-serialized HTML5）

XHTML5是對HTML5的XML序列化。XML文檔必須被設置為XML網際網路文件類型，像`application/xhtml+xml`或者`application/xml`。XHTML5要求像XML一樣嚴格的格式化的語法。在XHTML5中，HTML5的`<!DOCTYPE HTML>`可有可無的。

XHTML5並非XHTML的第5版，沒有自己獨立的標準規範，而是HTML5的一種序列化方式。XHTML1.x和2.0使用的名字是Extensible HyperText Markup Language，不同於XHTML5。

### 異常處理

HTML5在設計時保證舊的瀏覽器能夠安全地忽略掉新的HTML5代碼。與HTML4.01相比，HTML5給出了解析的完整規則，讓不同的瀏覽器即使在發生語法錯誤時也能返回完全相同的結果。

### 普及率

根據2011年9月30日發布的一份報告，全球排名前100的網站中有34個網站使用HTML5──主要是搜尋引擎與社群網站。2013年8月發布的另一份報告顯示，財富美國500強企業中已有多達153家採用HTML5。

### HTML 5和XHTML 1.x的差異

以下為大略的不同之處，與例子：

- 文件類型聲明（`<!DOCTYPE>`）僅有一型：`<!DOCTYPE HTML>`。
- 新的解析順序：不再基於SGML。
- 新的元素：`section`, `video`, `audio`, `bdi`, `progress`, `nav`, `meter`, `time`, `article`, `aside`, `canvas`, `command`, `datalist`, `details`, `embed`, `figcaption`, `figure`, `footer`, `header`, `hgroup`, `keygen`, `mark`, `output`, `rp`, `rt`, `ruby`, `source`, `summary`, `wbr`, `track`。
- `input`元素的新類型：`date`, `email`, `url`等等。
- 新的屬性：`ping`（用於`a`與`area`）, `charset`（用於`meta`）, `async`（用於`script`）。
- 全域屬性：`id`, `tabindex`, `repeat`。
- 新的全域屬性：`contenteditable`, `contextmenu`, `draggable`, `dropzone`, `hidden`, `spellcheck`。
- 移除元素：`acronym`, `applet`, `basefont`, `big`, `center`, `dir`, `font`, `frame`, `frameset`, `isindex`, `noframes`, `strike`, `tt`。

## 各瀏覽器的支援

HTML5 Test網站，是用以測試對瀏覽器對熱門新功能的支援。測試的滿分是555分。而當中的額外分數表示瀏覽器對一些沒有列入W3C的標準亦有支援，例如`<video>`元素並沒有指明編碼標準，HTML5支援MPEG-4、H.264、Ogg Theora及WebM 影音編碼。HTML5 Test並未測試所有新加入的功能，分數高只代表瀏覽器現時對所挑選的新網頁編碼整體上有較佳的支援，並不代表日後其表現的趨勢，因此分數只能作為參考。

2018年7月15日，以及2022年補充五大瀏覽器所取得的分數分別是：

瀏覽器｜2018正式版本｜分數｜2018開發版本｜分數｜2022｜分數

Google Chrome｜67｜528｜68｜528｜106｜528

Opera｜54｜528｜55｜528｜?｜?

Microsoft Edge｜17｜492｜18｜496｜?｜?

Mozilla Firefox｜61｜497｜62｜497｜?｜?

Apple Safari｜11.1｜471｜11.2｜477｜16.0｜514

## 基本資料

- 日語原文：HTML5、(HyperText Markup Language)
- 擴展名：`.html`, `.htm`
- mime：text/html
- 開發者：WHATWG
- 發行日期：2008年1月22日
- 標準： HTML LS
- 啟用：Yes
- type_code：TEXT
- 統一類型標識：public.html
- 類型：置標語言