HTML5

(重定向自HTML 5

HTML5HTML最新的修訂版本,由万维网联盟(W3C)于2014年10月完成標準制定[2][3]。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準,以期能在網際網路應用迅速發展的時候,使網路標準達到符合當代的網路需求。廣義論及HTML5時,實際指的是包括HTML、CSSJavaScript在內的一套技術組合。它希望能夠減少網頁瀏覽器對於需要外掛程式豐富性網路應用服務(Plug-in-Based Rich Internet Application,RIA),例如:Adobe FlashMicrosoft SilverlightOracle JavaFX的需求,並且提供更多能有效加強網路應用的標準集。

HTML5
(HyperText Markup Language)
扩展名
.html, .htm
互联网媒体类型
text/html
类型代码英语Type codeTEXT
统一类型标识public.html
开发者WHATWG
首次发布2008年1月22日
(16年前)
​(2008-01-22
格式类型置标语言
标准HTML LS
自由格式

HTML5添加了许多新的语法特征,其中包括<video><audio><canvas>元素,同时整合了SVG内容。这些元素是为了更容易地在网页中添加和处理多媒体和图片内容而添加的。其它新的元素如<section><article><header><nav>则是为了丰富文档的数据内容。新的属性的添加也是为了同样的目的。同时也有一些属性和元素被移除掉了。一些元素,像<a><cite><menu>被修改,重新定义或标准化。同时APIs和DOM已经成为HTML5中的基础部分[4]。HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误[5]

发展历史

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

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

尽管HTML5已经在网络开发人员中非常知名,但它成为主流媒體的话题是在2010年的4月[14][15][16][17],当时苹果公司的CEO乔布斯发表一篇题为「对Flash的思考」的文章,指出随着HTML5的发展,观看影片或其它内容时,Adobe Flash将不再是必须的[18]。这引发了开发人员间的争论,包括HTML5虽然提供了加強的功能,但开发人员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异[19]

2014年10月28日,W3C正式发布HTML5推荐标准[20]

时间表

W3C的HTML5、5.1、5.2、5.3推薦標準时间表:

版本初稿候选推荐淘汰
HTML52007年2012年2014年2018年[21]
HTML 5.12012年2015年2016年2021年[22]
HTML 5.22015年2017年2017年2021年[23]
HTML 5.32017年不適用不適用2021年[24]

特點

標記

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

尽管和SGML在标记上的相似性,HTML5的句法并不再基于它了[29][30],而是被设计成向后兼容对老版本的HTML的解析。它有一个新的开始列看起来就像SGML的文档类型声明,<!DOCTYPE HTML>,这会触发和标准兼容的渲染模式[31]。在2009年1月5日,HTML5添加了Web Form 2.0的内容,HTML5开始发展起来[32][33]

新的API

HTML5相關APIs[34]

除了原先的DOM接口,HTML5增加了更多樣化的應用程序接口(API)[35]

以上技术尽管是WHATWG HTML说明文档的内容,但并没有全部包括在W3C HTML5的说明文档裡[47]。一些相关的技术,像下面所列的,并没有包括在这2份文档中的任何一份中。W3C给这些技术单独出版了说明文档。

  • 地理位置
  • 網頁SQL數據庫 ─ 本地SQL數據庫(不再維護)[48]
  • IndexedDB[49]
  • 文件[50] ─ 处理文件上传和操纵文件[51]
  • 目录和文件系统 ─ 这个API是为了满足客户端在没有好的数据库支持情况下存储要求[52]
  • 文件写入 ─ 从网络应用程序向文件裡写内容[53]
  • 網路音頻[54]
  • ClassList[55]
  • 網路加密[56]
  • WebRTC[57]

一个普遍的误解是HTML5能够在网页中提供动画效果,这是不对的,动画效果是需要配合JavaScriptCSS。然而靜態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代码[4]。与HTML4.01相比,HTML5给出了解析的完整规则,让不同的浏览器即使在发生语法错误时也能返回完全相同的结果[58]

普及率

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

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(用于aarea), 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年補充五大瀏覽器所取得的分數分別是:[61]

瀏覽器2018正式版本分數2018開發版本分數2022分數
Google Chrome6752868528106528
Opera5452855528??
Microsoft Edge1749218496??
Mozilla Firefox6149762497??
Apple Safari11.147111.247716.0514

注釋

参考文献

外部連結