在了解了XHTML 2的進展之後,我們再來看看X/HTML 5 的進展。
X/HTML 5酷在什麼地方
章節元素的構想
X/HTML 5引進新的元素用來把Web頁分成若干章節。這些組成部分有助於搜尋引擎和輔助工具更好地理解頁面內容。使用這些新元素可以使標籤更具可讀性。
章節化內容的構想很酷!但是請看一下為什麼使用章節的技術不夠酷。
對話元素
對話元素用來表示一段交談。它包括一個用於定義會話者的dt元素和代表會話者講話內容的dd元素。例如:
figrue元素
在印刷發行(教科書、報紙、雜誌等)媒體物件(照片、插圖、圖表等)中經常會使用到標頭。到目前為止,Web標記語言還沒有可以產生這種效果的結構。 figrue元素有一個legend子元素可以用來指定影像的標頭。例如:
m元素
m元素代表一段文字被標記或是高亮。這在動態網頁中顯示搜尋關鍵字時候非常有用,此時頁面中的關鍵字就可以使用m元素來標出來了。例如,響應用戶搜尋的關鍵字snow時,Web頁面可以產生下面這樣一段內容:
XML/HTML程式碼
A snowman is a man-like sculpture constructed out of
snow.
input元素得到加強
input元素功能加強之後可以支援email、url、資料相關、時間相關、和數字等資料類型。這就意味著更加的驗證功能可以在客戶端完成了。
開放的進程
X/HTML的開發流程比XHTML 2開放許多。每個人都可以參與X/HTML 5創意明細。
X/HTML 5的美中不足
章節元素的使用
採用章節元素的想法是好的,但是X/HTML 5的應用中顯得有點累贅。甚至有些解釋會讓你更困惑。例如:
aside元素表示組成頁面內容的一個部分,它和aside元素前後的內容相關聯,它可以被看作是內容中獨立的部分。這些組成部分經常用於印刷技術中的側連欄。
難道擁有role屬性的div元素不加具有擴充性和更容易被理解?
另外一個被提及的章節元素是nav,用來表示頁面中連結其它頁面的連結。我們真的需要nav元素嗎? XHTML 2中的nl元素可以更好地完成這個任務。
HTML 4和XHTML 1中的不足在未來的規範中還將存在
因為X/HTML試圖提供向後支持,HTML 4和XHTML 1中的不足將還會在X/HTML 5中存在。規範不必向後當空,相反應該客戶端軟體透過支援多種規範來提供向後相容能力。
X/HTML 5沒有遵循X/HTML 5手冊
X/HTML 5旨在向後相容HTML 4和XHTML 1。現在big、acronym、u和tt都還不是這個規範中的內容,而像i和samll等其它元素有了重新定義之後的語意。例如,在HTML 4.01規範中是這樣定義i和small的:
i:使文字呈現斜體
small:以「小」字體呈現文本
在X/HTML 5中,i和small有了新的含意:
i元素用不同的方式來表現一段文字或與正文有差異的段落,如分類設計、技術術語、外來語言的習慣用語、某個想法、意見、船名或其它需要在印刷技術中呈現斜體的文字。 。
small元素呈現的是小的印刷字體(文件中具有說明法律約束作用的部分,如版權或存在的弊端)和批註等。
透過重新定義i和small的意義,這破壞了對HTML 4和XHTML 1的向後相容性。這是因為向後相容應該意味著HTML 5的使用者代理程式(user agent,瀏覽器)在呈現HTML 4的文件時應該和HTML 4的user agent保持一致。因此,如果HTML 5強調向後相容,HTML 4中意義不大的結構在HTML 5中也同樣沒有太多意義。
不會吧?還是支援font元素?
是的,如果開發者使用WYSIWYG編輯器的話, X/HTML 5依然支援font元素。這樣做有什麼合理性嗎?難道WYSIWYG編輯器就能避免使用font嗎?
WYSIWYG簽章
使用WYSIWYG編輯器產生的文件必須在head元素中包含下面的WYSIWYG簽章:
XML/HTML程式碼
或:
XML/HTML程式碼
這樣做的理由是什麼呢?某種恥辱的標記?它是不是要告訴瀏覽器做好最壞的準備,因為這個文件是用WYSIWYG編輯器產生的?那麼,如果文件中只有一部分是使用WYSIWYG工具完成的又該怎麼做呢?
支援預定義類別名稱
預定義類別名稱是X/HTML 5用戶代理程式中保留的具有語意的CSS類別名稱。下面的例子中copyright就是一個預先定義的類別名稱:
XML/HTML程式碼
而這樣的寫法才會有意義:
XML/HTML程式碼
重寫class屬性變得很難去說明結構的具體含意。例如,下面的程式碼意味著什麼呢:
XML/HTML程式碼
預先定義類別名稱也會限制開發者對類別名稱使用的自由。同樣,如果開發者現在使用了一個非預定義類名,但是之後某天這個類名變成預定義類,那又會首產生什麼狀況呢?這就改變了開發者之前內容的語意嗎?
HTML 5 v.s. XHTML 5
在試圖最終解決HTML和XHTML的爭論中,X/HTML 5規範使事情變得更難於理解。的確,X/HTML 5規範中確實說“一般說來,開發者在Web中還能直接使用XML”,即使W3C一直都在為XML未來在Web中的應用不斷努力。
開發過程過於匆忙
X/HTML 5是為了回應W3C在HTML 4和XHTML 1更新換代中的拖沓。因此,這導致X/HTML 5的開發過程有點匆忙,感覺這個規範不知道突然從什麼地方冒出來然後又快速地跟進。即使是直接參與其中的開發者也覺得規範的開發過程有點不切實際。
下一代標記語言的競爭
X/HTML 5和XHTML 2都在為能夠取代HTML 4和XHTML 1展開競爭。即時是在開發的前期,一些瀏覽器的供應商就已經聲稱他們對這兩種規範的偏好。由於審議的迫切性和封閉性,這使得Web標準組織出現了兩極化。隨著兩種規範的進展,更多的開發資源和市場資金將會投入其中的某一個中,所有的這些因素都會引起一場「標準的」戰爭。
我們每一個人都是這個標準的製定者,因為Web屬於每一個人,只有一場誠實、公開的爭論才能保證最好的標準成為贏家。
註:為閱讀方便文章中把“HTML 4.x/XHTML 1.x”簡寫為“HTML 4 and XHTML 1”
原文連結:http://www.dudo.org/article.asp?id=249