跳至內容

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). 

外部連結

[編輯]