超文本標記語言(HTML)5 第一次向HTML 中引入新的元素。新的結構元素包括aside、figure 和section。新的內聯元素包括time、meter 和progress。新的內嵌元素有video 和audio。新的交互元素有details、datagrid 和command。
超文本標記語言(HTML)的開發到1999 年HTML 4 就停止了。萬維網聯盟(W3C)把重點轉向將HTML 的底層語法從標准通用標記語言(SGML)改為可擴展標記語言(XML),以及可縮放向量圖型(SVG)、XForms 和MathML 這些全新的標記語言。瀏覽器廠商則把精力放到選項卡和富站點摘要(RSS)閱讀器這類瀏覽器特性上。 Web 設計人員開始學習使用異步JavaScript XML(Ajax),在現有的框架下通過層疊樣式表(CSS)和JavaScript? 語言建立自己的應用程序。但是在接下來的八年中,HTML 本身沒有任何變化。
最近,它又復活了。三家重要的瀏覽器廠商― Apple、Opera 和Mozilla Foundation ― 成立了Web Hypertext Application Technology Working Group(WhatWG)來開發傳統HTML 的新版本。最近,W3C 也注重到了這些活動,也啟動了自己的新一代HTML 項目,雙方的成員有很多是相同的。這兩個項目最終很可能合併。雖然很多細節還在爭論之中,但下一版本HTML 的大體輪廓已經清楚了。
Web 開發人員從1999 年就一直期待HTML 的新版本(通常稱為HTML 5,但是也稱為Web Applications 1.0),現在它終於發布了。它保持了HTML 原來的特色:沒有名稱空間或模式。元素不必結束。瀏覽器會寬容地對待錯誤。 p 仍然是p,table 仍然是table。
假如在1999 年將一位Web 開發人員冷凍起來,現在再解凍,那麼他會碰到一些新的讓人迷惑的元素。是的,他熟悉的元素(比如div)仍然保留了;但是,HTML 現在還包含section、header、footer 和nav 等新元素。 em、code 和strong 仍然存在,但是增加了meter、time 和m。 img 和embed 仍然可用,但是還增加了video 和audio。但是,他仔細觀察一下就會發現,這些元素實際上沒什麼區別。其中許多元素可能在1999 年是開發人員需要而沒有得到的。通過與他已經把握的元素進行簡單的類比,這些新元素都很輕易理解。實際上,與Ajax 或CSS 相比,它們非常輕易把握。
最後,當他打開300MHz 的筆記本(運行的是Windows 98,也是在1999 年冷凍起來的)時,他可能對Netscape 4 和Windows? Internet Explorer? 5 中顯示的新頁面效果很吃驚。當然,這些老式瀏覽器不熟悉新元素,會完全忽略它們,但是頁面仍然會顯示,內容仍然是完整的。
這並不是什麼虛構的故事。 HTML 5 的設計原則就是在不支持它的瀏覽器中能夠平穩地退化。原因很簡單:我們都是這樣的“原始人”。瀏覽器現在有選項卡、CSS 和XmlHttpRequest,但是它們的HTML 顯示引擎仍然停留在1999 年的水平。除了用戶量大大增加之外,Web 其實在本質上沒什麼進步。 HTML 5 考慮到了這一點。它目前為Web 開發人員一些真正的好處,隨著瀏覽器的緩慢升級,頁面瀏覽者會逐漸享受到這些好處。
我們來看看HTML 5 提供了什麼。
(待續)