HTML5

本页使用了标题或全文手工转换
维基百科,自由的百科全书
HTML5
(HyperText Markup Language)
扩展名
.html, .htm
互联网媒体类型
text/html
类型代码英语Type codeTEXT
统一类型标识public.html
开发者WHATWG
首次发布2008年1月22日
(16年前)
​(2008-01-22
格式类型置标语言
标准HTML LS
自由格式

HTML5[註 1]HTML最新的修訂版本,由万维网联盟(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添加了许多新的语法特征,其中包括<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推薦標準时间表:

版本 初稿 候选 推荐 淘汰
HTML5 2007年 2012年 2014年 2018年[21]
HTML 5.1 2012年 2015年 2016年 2021年[22]
HTML 5.2 2015年 2017年 2017年 2021年[23]
HTML 5.3 2017年 不適用 不適用 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 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

注釋

  1. ^ 在W3C推薦標準,名稱“HTML”和“5”之間沒有空格[1]

参考文献

  1. ^ A vocabulary and associated APIs for HTML and XHTML. 28 October 2014 [2017-05-17]. (原始内容存档于2014-10-30). 
  2. ^ HTML5 specification finalized, squabbling over specs continues. Ars Technica. 2014-10-29 [2014-10-29]. (原始内容存档于2014-10-29). 
  3. ^ HTML5 is a W3C recommendation. W3C Blog. 2014-10-28 [2014-10-28]. (原始内容存档于2014-10-28). 
  4. ^ 4.0 4.1 HTML5 differences from HTML4. W3C. 2010-10-19 [2010-12-04]. (原始内容存档于2012-06-07). 
  5. ^ 1.9.2 Syntax Errors. HTML5. 2010-11-16 [2010-12-04]. (原始内容存档于2012-06-07). 
  6. ^ HTML 4 Errata. World Wide Web Consortium. [2010-12-04]. (原始内容存档于2012-06-07). 
  7. ^ 7.0 7.1 Frequently Asked Questions (FAQ) About the Future of XHTML. World Wide Web Consortium. [2010-12-04]. (原始内容存档于2012-06-07). 
  8. ^ Position Paper for the W3C Workshop on Web Applications and Compound Documents. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2017-05-21). 
  9. ^ W3C Workshop on Web Applications and Compound Documents (Day 1) 2004-06-01. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2016-04-02). 
  10. ^ W3C Workshop on Web Applications and Compound Documents (Day 2) 2004-06-02. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2016-09-03). 
  11. ^ [whatwg] WHAT open mailing list announcement. lists.w3.org Mailing Lists. [2015-12-08]. (原始内容存档于2016-10-09). 
  12. ^ This Week in HTML 5 – Episode 5. WHATWG Blog. [2011-12-30]. (原始内容存档于2011-12-24). 
  13. ^ HTML5: A vocabulary and associated APIs for HTML and XHTML.. World Wide Web Consortium. [2009-01-28]. (原始内容存档于2012-06-07). 
  14. ^ FOX News: No Flash on the iPhone? Apple's Steve Jobs Finally Explains Why. Fox News. 2010-04-29 [2011-04-29]. (原始内容存档于2011-06-29). 
  15. ^ TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings. Time. 2010-04-29 [2011-04-29]. (原始内容存档于2011-04-26). 
  16. ^ Steve Jobs: Why Apple Banned Flash. CBS News. [2011-04-29]. (原始内容存档于2012-07-31). 
  17. ^ FastCompany: Steve Jobs: Adobe's Flash Is Old PC History, Open Web Is the Future. [2011-04-29]. (原始内容存档于2012-07-18). 
  18. ^ 'Thoughts on Flash', by Steve Jobs, CEO of Apple, Inc. Apple.com. [2014-01-08]. (原始内容存档于2017-06-26). 
  19. ^ Is HTML5 Replacing Flash?. Lyquix.com. [2014-01-08]. (原始内容存档于2012-04-25). 
  20. ^ Open Web Platform Milestone Achieved with HTML5 Recommendation. W3C. 2014-04-28 [2014-10-29]. (原始内容存档于2014-11-02). 
  21. ^ HTML5 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-05-11). 
  22. ^ HTML 5.1 2nd Edition Publication History - W3C. [2023-02-14]. (原始内容存档于2023-03-12). 
  23. ^ HTML 5.2 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-03-12). 
  24. ^ HTML 5.3 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-05-11). 
  25. ^ Introduction to HTML5 video页面存档备份,存于互联网档案馆
  26. ^ IBM Developer Works New elements in HTML5: Structure and semantics页面存档备份,存于互联网档案馆
  27. ^ ICAMD.org Finalcut Silverlight Films that Videographers share Quicktime in a Flash : Video on the Web using HTML5 and other Codecs页面存档备份,存于互联网档案馆
  28. ^ 11 Obsolete features — HTML5. W3C. [2014-03-11]. (原始内容存档于2014-03-04). 
  29. ^ HTML5 DTD页面存档备份,存于互联网档案馆): "HTML5 is not SGML-based, and there will be no official DTD for it."
  30. ^ HTML 5 Reference页面存档备份,存于互联网档案馆): "Although it is inspired by its SGML origins, in practice, it really only shares minor syntactic similarities." "As HTML5 is no longer formally based upon SGML, the DOCTYPE no longer serves this purpose, and thus no longer needs to refer to a DTD."
  31. ^ Shannon Suetos. HTML5: Worth the Hype?. instantshift.com. 26 April 2010 [2012-10-21]. (原始内容存档于2011-03-07). 
  32. ^ Web Forms 2.0. 2009-01-05 [2014-02-11]. (原始内容存档于2014-02-09).  obsolescence notice
  33. ^ HTML. whatwg.org. [2016-12-10]. (原始内容存档于2014-08-05). 
  34. ^ Sergey Mavrody "Sergey's HTML5 & CSS3 Quick Reference. 2nd Edition". Belisso Corp., 2012. ISBN 978-0-9833867-2-8
  35. ^ "HTML5 Differences from HTML4 – APIs"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  36. ^ "Get Started with HTML5 Canvas"页面存档备份,存于互联网档案馆). Syntaxxx.
  37. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23). 
  38. ^ "Offline Web Applications"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  39. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23). 
  40. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23). 
  41. ^ HTML elements, HTML5. w3.org. [2014-12-15]. (原始内容存档于2014-12-21). 
  42. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23). 
  43. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23). 
  44. ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-22). 
  45. ^ "HTML5 Web Messaging"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  46. ^ "Web Storage Specification"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  47. ^ href. 1 Introduction — HTML Standard. Whatwg.org. [2014-01-08]. (原始内容存档于2014-08-16). 
  48. ^ "Web SQL Database"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  49. ^ "Indexed Database"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  50. ^ File API. W3.org. [2014-01-08]. (原始内容存档于2017-04-21). 
  51. ^ "File API"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  52. ^ "Filesystem API"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  53. ^ "File API: Writer"页面存档备份,存于互联网档案馆). World Wide Web Consortium.
  54. ^ Web Audio API. Dvcs.w3.org. [2014-01-08]. (原始内容存档于2017-03-06). 
  55. ^ MDN. element.classList. [2016-12-11]. (原始内容存档于2015-02-11). 
  56. ^ Web Cryptography Candidate Recommendation: https://www.w3.org/TR/WebCryptoAPI/页面存档备份,存于互联网档案馆
  57. ^ WebRTC Working Draft: https://www.w3.org/TR/webrtc/页面存档备份,存于互联网档案馆
  58. ^ FAQ – WHATWG Wiki. WHATWG. [2011-08-26]. (原始内容存档于2013-05-12). 
  59. ^ Percentage of Web sites Using HTML5. binvisions. [21 October 2011]. (原始内容存档于2017-06-06). 
  60. ^ "HTML5 Popularity Among Fortune 500 Companies页面存档备份,存于互联网档案馆)". INCORE. Retrieved 5 March 2013.
  61. ^ HTML5 Test官方測試數據. [2016-08-06]. (原始内容存档于2016-08-06). 

外部連結