本页使用了标题或全文手工转换

HTML5

维基百科,自由的百科全书
跳转至: 导航搜索
HTML5
(HyperText Markup Language)
HTML5 logo and wordmark.svg

HTML5的官方标志,2011年1月18日发布
扩展名 .html
互联网媒体类型 text/html
统一类型标识 public.html[1]
開發者 万维网联盟WHATWG
最初版本 2014年10月29日
9個月前
2014-10-29[2]
格式 置标语言
延伸至 XHTML5[來源請求]
自由檔案格式
網站 whatwg.org/html
www.w3.org/TR/html5
XHTML5
扩展名 .xhtml, .html
互联网媒体类型 application/xml, application/xhtml+xml
開發者 万维网联盟WHATWG
格式 置标语言
延伸自 XML,HTML5[來源請求]
自由檔案格式
網站 www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html
HTML
HTML5 logo and wordmark.svg

HTML5是HTML最新的修訂版本,2014年10月由万维网联盟(W3C)完成標準制定。[2][3][4]目標是取代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中的基础部分了。[5]HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误。[6]

发展历史[编辑]

HTML 5草案的前身名为Web Applications 1.0,是在2004年由WHATWG提出,再于2007年获W3C接納,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。[7]WHATWG表示该规范是目前仍在进行的工作,仍須多年的努力。[8]目前Mozilla FirefoxGoogle ChromeOperaSafari(版本4以上)、Internet Explorer(版本9以上)已支持HTML5技术。

尽管HTML5已经在网络开发人员中非常出名了,但是它成为主流媒體的一个话题是在2010年的4月,[9][10][11][12]当时苹果公司的CEO乔布斯发表一篇题为“对Flash的思考”的文章,指出随着HTML5的发展,观看影片或其它内容时,Adobe Flash将不再是必须的[13]。这引发了开发人员间的争论,包括HTML5虽然提供了加強的功能,但开发人员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异。[14]2011年,Adobe宣佈放棄開發行動版本Flash,轉向HTML5[15]

2014年10月28日,W3C正式发布HTML5.0推荐标准。[16]

標準化過程[编辑]

Mozilla基金會Opera軟體公司於2004年6月向W3C提交了一份立场文件[17],這份提案主要針對該技術能向下相容舊有技術的同時,也可以增加更多新功能[18],其中包括Web Forms 2.0的初步草案。但該提案最後被W3C以8人贊成14人反對的投票結果遭否決,Mozilla、Opera和Apple便自立門戶成立了WHATWG(網頁超文本技術工作小組),同時也提出了第二份草案Web Applications 1.0[19],Web Applications 1.0和Web Forms 2.0和兩種規範合併成今天的HTML5[20]。2007年,W3C同意採納HTML5作為標準,並成立了新的HTML工作團隊[21]

2014计划[编辑]

2012年9月,W3C提出计划要在2014年底前发布一个HTML5推荐标准,并在2016年底前发布HTML5.1推荐标准。

核心HTML标准[编辑]

HTML5.0,HTML5.1和HTML5.2的合并时间表:

2012 2013 2014 2015 2016
HTML 5.0 候选版 征求评价 推荐标准
HTML 5.1 第一工作草案 最后召集 候选版 推荐标准
HTML 5.2 第一工作草案

新增的元素[编辑]

HTML 5提供了一些新的元素和屬性,反映典型的現代用法網站。其中有些是技術上類似<div><span>標籤,但有一定含義,例如<nav>(網站導航塊)和<footer>。這種標籤將有利於搜索引擎的索引整理、小螢幕裝置和視障人士使用。同時為其他瀏覽要素提供了新的功能,通過一個標準接口,如<audio><video>標記。[22]

移除的元素[编辑]

一些過時的HTML 4標記將取消,其中包括純粹用作顯示效果的標記,如<font><center>,因為它們已經被CSS取代。還有一些透過DOM的網絡行為。

修改的元素[编辑]

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

无障碍(Accessibility)[编辑]

为了使HTML5的新元素或新属性获取最大化的兼容性,开发人员需要附加一点额外补助,或者有些特性根本没有被任何浏览器实现,或者浏览器根本不支持补助技术。因此有些特殊的HTML5特性根本不能使用。更多细节可参见HTML5 Accessibility(无障碍)英文版中文版表单。

新應用程序接口(API)[编辑]

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

  • 即時二維繪圖
    • Canvas API:有關動態產出與渲染圖形、圖表、圖像和動畫的API[24]
  • 定時媒體播放[25]
    • HTML5音頻與視頻:HTML5裡新增的元素,它們為開發者提供了一套通用的、整合的、腳本式的處理音頻與視頻的API,而無需安裝任何外掛程式
  • 离线存储数据库(离线网络应用程序)[26]
  • 編輯[27]
  • 拖放[28]
  • 跨文档通信[29]
  • 通訊/網絡
    • Communication APIs:構建實時和跨源(cross-origin)通訊的兩大基礎: 跨文檔通訊(Cross Document Messaging)與XMLHttpRequest Level 2。
  • 浏览历史管理[30]
  • MIME和協議處理程序時表頭登記[31][32]
  • 微数据[33]
  • 網頁存儲[34]

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

  • Geolocation API:使用者可共享地理位置,並在Web應用的協助下享用位置感知服務(location-aware services)
  • 索引数据库API(Indexed Database API,以前为WebSimpleDB)[36]
  • 文件API:处理文件上传和操纵文件[37]
  • 目录和文件系统:这个API是为了满足客户端在没有好的数据库支持情况下存储要求[38]
  • 文件写入:从网络应用程序向文件里写内容[39]

一个普遍的误解是HTML5能够在网页中提供动画效果,这是不对的。动画效果是由JavaScriptCSS达成的

XHTML5[编辑]

XHTML5是对HTML5的XML序列化。XML文档必须被设置为XML互联网文件类型,像application/xhtml+xml或者application/xml。XHTML5要求像XML一样严格的格式化的语法。在XHTML5中,HTML5的doctype html是可有可无的。

與HTML 4的不同之處[编辑]

以下為大略的不同之處,與例子:

  • 文件類型聲明(<!DOCTYPE>)僅有一型:<!DOCTYPE HTML>
  • 新的解析順序:不再基於SGML
  • 新的元素:section, video, progress, nav, meter, time, aside, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr
  • 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(text/html)浏览器将在错误语法的处理上更加灵活。HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01相比,HTML5给出了解析的完整规则,让不同的浏览器即使在发生语法错误时也能返回完全相同的结果。

各瀏覽器的支援[编辑]

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

截止2015年8月6日,五大瀏覽器最新版本所取得的分數分別是[40]

瀏覽器 正式版本 分數 其他版本 分數
Internet Explorer(32及64位元) Edge 402 11 336
Mozilla Firefox 39 467 37、35 449
Opera 30 525 29 519
Apple Safari 8.0 396 7.0 352
Google Chrome 44 526 42 523

参考文献[编辑]

  1. ^ Mac Developer Library: System-Declared Uniform Type Identifiers. 苹果公司. 2009-11-17. 
  2. ^ 2.0 2.1 HTML5 specification finalized, squabbling over specs continues. Ars Technica. 2014-10-29 [2014-10-29]. 
  3. ^ HTML 5 Finalized. OSNews. 2014-10-29 [2014-10-29]. 
  4. ^ 经过漫长的等待,HTML5标准终于敲定了. IT之家. 2014-10-29 [2014-10-30]. 
  5. ^ 5.0 5.1 HTML5 differences from HTML4. W3C. 19 October 2010 [4 December 2010]. 
  6. ^ 1.9.2語法錯誤. HTML5. 25 November 2011 [23 December 2011]. 
  7. ^ Ian Hickson; David Hyatt. HTML 5. W3C Working Draft. 2008年1月22日 [2008-01-24]. 
  8. ^ When will HTML 5 be finished?. WHATWG. WHATWG Wiki. [2008-06-14]. 
  9. ^ FOX News: No Flash on the iPhone? Apple's Steve Jobs Finally Explains Why http://www.foxnews.com/scitech/2010/04/29/flash-iphone-apples-steve-jobs-finally-explains/
  10. ^ TIME: Steve Jobs:‘Flash is No Longer Necessary’and Other Musings http://techland.time.com/2010/04/29/steve-jobs-flash-is-no-longer-necessary-and-other-musings/
  11. ^ CBS News: Steve Jobs: Why Apple Banned Flash http://www.cbsnews.com/8301-501465_162-20003744-501465.html
  12. ^ FastCompany: Steve Jobs: Adobe's Flash Is Old PC History, Open Web Is the Future http://www.fastcompany.com/1633336/steve-jobs-flash-adobe-apple-iphone-os-mac-software-open-standards-proprietary-open-letter
  13. ^ 'Thoughts on Flash', by Steve Jobs, CEO of Apple, Inc. Apple.com. [2014-01-08]. 
  14. ^ Is HTML5 Replacing Flash? http://www.lyquix.com/blog/122-is-html5-replacing-flash
  15. ^ Flash to Focus on PC Browsing and Mobile Apps; Adobe to More Aggressively Contribute to HTML5. adobe.com. [26 February 2012]. 
  16. ^ W3C发布HTML5正式推荐标准,开放Web平台迎来新的里程碑. W3C. 2014年10月28日 [2014-10-29]. 
  17. ^ Position Paper for the W3C Workshop on Web Applications and Compound Documents. World Wide Web Consortium. [30 December 2011]. 
  18. ^ W3C Workshop on Web Applications and Compound Documents (Day 1) Jun 1, 2004. World Wide Web Consortium. [30 December 2011]. 
  19. ^ WHAT open mailing list announcement. lists.whatwg.org Mailing Lists. [4 March 2010]. 
  20. ^ This Week in HTML 5 – Episode 5. WHATWG Blog. [30 December 2011]. 
  21. ^ Proposal to Adopt HTML5. 
  22. ^ IBM的開發者資源:新內容在HTML5:結構和語義
  23. ^ InstantShift [1] HTML5: Worth the Hype?
  24. ^ "Get Started with HTML5 Canvas". Syntaxxx.
  25. ^ https://html.spec.whatwg.org/multipage/embedded-content.html#media-elements
  26. ^ Web Storage Specification W3.org
  27. ^ https://html.spec.whatwg.org/multipage/interaction.html#editing-2
  28. ^ https://html.spec.whatwg.org/multipage/interaction.html#dnd
  29. ^ HTML5 Web Messaging W3.org
  30. ^ http://www.w3.org/TR/html-markup/elements.html#elements
  31. ^ https://html.spec.whatwg.org/multipage/embedded-content.html#mime-types
  32. ^ https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlers
  33. ^ https://html.spec.whatwg.org/multipage/microdata.html#microdata
  34. ^ "Web Storage Specification". World Wide Web Consortium.
  35. ^ http://www.whatwg.org/html/#is-this-html5?
  36. ^ Indexed Database W3.org
  37. ^ File API W3.org
  38. ^ Filesystem API W3.org
  39. ^ File API: Writer W3.org
  40. ^ HTML5 Test官方測試數據

外部連結[编辑]

瀏覽器支援測試
規範
HTML5演示