超文本標記語言(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 提供了什麼。
(待續)