2012/09/09

HTML5



HTML5是HTML下一個主要的修訂版本,現在仍處於發展階段。
目標是取代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中的基礎部分了。

[1]HTML5還定義了處理非法文件的具體細節,使得所有瀏覽器和客戶端程式能夠一致地處理語法錯誤。[2]

目錄  [隐藏]
1 發展歷史
2 新標記
3 無障礙(Accessibility)
4 新應用程式介面(API)
5 XHTML5
6 與HTML 4的不同之處
7 例外處理
8 各瀏覽器的支援
9 參考文獻
10 外部連結
10.1 各家瀏覽器支援程度
10.2 規範
10.3 HTML5演示
10.4 實驗性服務
10.5 HTML5 無障礙
10.6 學習資源
[编辑]發展歷史

HTML 5草案的前身名為Web Applications 1.0,是在2004年由WHATWG提出,再於2007年獲W3C接納,並成立了新的HTML工作團隊。在2008年1月22日,第一份正式草案發行。[3]WHATWG表示該規範是目前仍在進行的工作,仍須多年的努力。[4]目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer 9已支援HTML5技術。

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

HTML 5的標準草案目前已進入W3C制定標準5大程式的第1步。負責編纂標準格式檔案的Google員工Ian Hickson預期,可能得等到2012年才會推出建議候選版(W3C Candidate Recommendation),並在2022年才會成為 W3C 推薦標準(W3C Recommendation)。

Google公司負責開發Android的Andy Rubin在AllThingsD亞洲大會上表示html5還遠不能為不同的移動作業系統提供不同的程式。

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

儘管和SGML在標記上的相似性,HTML5的句法並不再基於它了,而是被設計成回溯相容對老版本的HTML的解析。它有一個新的開始行看起來就像SGML的文件型別宣告,<!DOCTYPE html>,這會觸發和標準相容的渲染模式。[11]在2009年1月5號,HTML5添加了Web Form 2.0的內容。html5就開始發展起來
[编辑]無障礙(Accessibility)

為了使 HTML5 的新元素或新屬性獲取最大化的相容性,開發人員需要附加一點額外補助,或者有些特性根本沒有被任何瀏覽器實作,或者瀏覽器根本不支援補助技術。

因此有些特殊的 HTML5 特性根本不能使用。更多細節可參見 HTML5 Accessibility(無障礙)英文版中文版表單。

除了原先的DOM介面,HTML5增加了更多樣化的API[1]:

即時二維繪圖
Canvas API:有關動態產出與渲染圖形、圖表、圖像和動畫的API。

定時媒體播放
HTML5 音訊與視訊:HTML5裡新增的元素,它們為開發者提供了一套通用的、整合的、腳本式的處理音訊與視訊的API,而無需安裝任何外掛程式。
離線儲存資料庫(離線網路應用程式)[12]
編輯
拖放
跨文件通訊[13]
通訊/網路
Communication APIs:構建實時和跨源(cross-origin)通訊的兩大基礎: 跨文檔通訊(Cross Document Messaging)與 XMLHttpRequest Level 2。
瀏覽歷史管理
MIME和協議處理程式時表頭登記
微資料
以上技術儘管是WHATWG HTML說明文件的內容,但並沒有全部包括在W3C HTML5的說明文件里。[14]一些相關的技術,像下面所列的,並沒有包括在這2份文件中的任何一份中。W3C給這些技術單獨出版了說明文件。
Geolocation API:使用者可共享地理位置,並在Web應用的協助下享用位置感知服務(location-aware services)。
索引資料庫API(Indexed Database API, 以前為WebSimpleDB))[15]
檔案API:處理檔案上傳和操縱檔案。[16]
目錄和檔案系統:這個API是為了滿足客戶端在沒有好的資料庫支援情況下儲存要求。[17]
檔案寫入:從網路應用程式向檔案里寫內容。[18]
一個普遍的誤解是HTML5能夠在網頁中提供動畫效果,這是不對的。動畫效果是由JavaScript和CSS達成的。
[编辑]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(用於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(text/html)瀏覽器將在錯誤語法的處理上更加靈活。HTML5在設計時保證舊的瀏覽器能夠安全地忽略掉新的HTML5代碼。與HTML4.01相比,HTML5給出了解析的完整規則,讓不同的瀏覽器即使在發生語法錯誤時也能返回完全相同的結果。

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

截止2012年9月1日,五大瀏覽器最新版本所取得的分數分別是:
瀏覽器 正式版本 分數 測試版本 分數
Internet Explorer (32 及64 位元) 9.0.8112.16421(Update Version:9.0.6) 138分 + 5 分額外分數 10.0.9200.16384 (RTM) 319分 + 6 分額外分數
Mozilla Firefox 15.0 346分 + 9 分額外分數 16.0 Alpha 1 363分 + 9 分額外分數
Opera 12.01 Build 1532 385分 + 9 分額外分數 12.50 409 分 + 9 分額外分數
Apple Safari 6.0.0 (Mac OS X) 376分 + 8 分額外分數 5.2 (Windows) 370分 + 8 分額外分數
Google Chrome 21.0.1180.89 437分 + 13 分額外分數 22.0.1215.0 442分 + 13 分額外分數
[编辑]參考文獻

^ 1.0 1.1 HTML5 differences from HTML4. W3C. 19 October 2010 [4 December 2010].
^ 1.9.2 語法錯誤. HTML5. 25 November 2011 [23 December 2011].
^ Ian Hickson; David Hyatt. HTML 5. W3C Working Draft. 2008年1月22日 [2008-01-24].
^ When will HTML 5 be finished?. WHATWG. WHATWG Wiki [2008-06-14].
^ 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/
^ 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/
^ CBS News: Steve Jobs: Why Apple Banned Flash http://www.cbsnews.com/8301-501465_162-20003744-501465.html
^ 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
^ Is HTML5 Replacing Flash? http://www.lyquix.com/blog/122-is-html5-replacing-flash
^ IBM的開發者資源:新內容在HTML5:結構和語義
^ InstantShift [1] HTML5: Worth the Hype?
^ Web Storage Specification W3.org
^ HTML5 Web Messaging W3.org
^ http://www.whatwg.org/html/#is-this-html5?
^ Indexed Database W3.org
^ File API W3.org
^ Filesystem API W3.org
^ File API: Writer W3.org
[编辑]外部連結


相關的維基共享資源:
HTML5
[编辑]各家瀏覽器支援程度
HTML5測試
caniuse.com
[编辑]規範
HTML5 相對於 HTML4 的差異
(未完成)HTML 規範翻譯
[编辑]HTML5演示
Google
Apple
Mozilla
[编辑]實驗性服務
YouTube針對HTML5提供的實驗性支援服務
[编辑]HTML5 無障礙
HTML5 Accessibility
HTML5 無障礙
[编辑]學習資源
HTML5中文網
HTML5中國
HTML5搜
GBin1專題之HTML5教程

沒有留言:

張貼留言

閱讀地圖

歷史上人為書而瘋狂, 但現實裡, 愛書的人仍有但是越來越難尋. 一切知識的傳播都是靠書, 書靠印刷術的發明的普及與傳播. 書,權勢的權力還是在讀者, 有讀者,書才會有意義..