HTML5

發展歷史

HTML 5草案的前身名為Web Applications 1.0,是在2004年由WHATWG提出,再於2007年獲W3C接納,並成立了新的HTML工作團隊。在2008年1月22日,第一份正式草案發行。[HATWG表示該規範是目前仍在進行的工作,仍須多年的努力。目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer(版本9以上)已支援HTML5技術。
儘管HTML5已經在網路開發人員中非常出名了,但是它成為主串流媒體的一個話題還是在2010年的4月,當時蘋果公司的CEO賈伯斯發表一篇題為「對flash的思考」的文章,指出隨著HTML5的發展,觀看視訊或其它內容時,Adobe Flash將不再是必須的。這引發了開發人員間的爭論,包括HTML5雖然提供了增強的功能,但開發人員必須考慮到不同瀏覽器對標準不同部分的支援程度的不同,以及HTML5和Flash間的功能差異。

新增的元素

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

 

移除的元素

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

 

修改的元素

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

為了使HTML5的新元素或新屬性獲取最大化的相容性,開發人員需要附加一點額外補助,或者有些特性根本沒有被任何瀏覽器實作,或者瀏覽器根本不支援補助技術。因此有些特殊的HTML5特性根本不能使用。更多細節可參見HTML5 Accessibility(無障礙)英文版中文版表單。

 

新應用程式介面(API)

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

  • 即時二維繪圖
  • Canvas API:有關動態產出與渲染圖形、圖表、圖像和動畫的API。
  • 定時媒體播放
  • HTML5音頻與視頻:HTML5裡新增的元素,它們為開發者提供了一套通用的、整合的、腳本式的處理音頻與視頻的API,而無需安裝任何外掛程式。
  • 離線儲存資料庫(離線網路應用程式)
  • 編輯
  • 拖放
  • 跨文件通訊
  • 通訊/網路
  • Communication APIs:構建實時和跨源(cross-origin)通訊的兩大基礎: 跨文檔通訊(Cross Document Messaging)與XMLHttpRequest Level 2。
  • 瀏覽歷史管理
  • MIME和協議處理程式時表頭登記
  • 微資料

以上技術儘管是WHATWG HTML說明文件的內容,但並沒有全部包括在W3C HTML5的說明文件里。一些相關的技術,像下面所列的,並沒有包括在這2份文件中的任何一份中。W3C給這些技術單獨出版了說明文件。

  • Geolocation API:使用者可共享地理位置,並在Web應用的協助下享用位置感知服務(location-aware services)。
  • 索引資料庫API(Indexed Database API,以前為WebSimpleDB)
  • 檔案API:處理檔案上傳和操縱檔案。
  • 目錄和檔案系統:這個API是為了滿足客戶端在沒有好的資料庫支援情況下儲存要求。
  • 檔案寫入:從網路應用程式向檔案里寫內容。

一個普遍的誤解是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給出了解析的完整規則,讓不同的瀏覽器即使在發生語法錯誤時也能返回完全相同的結果。
各瀏覽器的支援

 

資料來源 : http://zh.wikipedia.org/wiki/HTML5

TAGS: