關於CITE標籤的想法

以下基於我在中文HTML5同樂會ML([email protected])所發表的郵件整理。

一、CITE標籤的語義

CITE標籤在HTML5中明確爲用來表示作品(意義類似書名號)。

然而社區在討論是否要擴展CITE標籤的用法,從單純的書名擴展爲可以mark人。具體的討論見:
[url]http://wiki.whatwg.org/wiki/FAQ#The_.3Ccite.3E_element_should_allow_names_of_people_to_be_marked_up[/url]
[url]http://wiki.whatwg.org/wiki/Cite_element#opinions[/url]

我堅定地反對這個動議。

反對意見如下:

1. 創制標籤的原意是標記書而不是人。儘管在HTML5的設計思路是將常見的用法給標準化下來,但是必須有一個限度。一個標籤用於兩個完全不同的語義是不妥當的。

比如<p><cite>黑貓警長</cite>很好看。</p>,我們就知道這是指《黑貓警長》這部動畫作品很好看,而不是“黑貓警長”這個角色長得很好看。即使大陸以外的人不知道這部作品,至少知道這是指一個作品而不是一個人物。當然,作品本身會有歧義,比如是指原版動畫片還是新的電影版,抑或是漫畫版。但是這種歧義比將作品誤解爲人物角色要次要得多。

2. 以我的經驗,CITE標籤本身就用得很少。社區有足夠的數據能支持“許多人都這樣用CITE”的說法嗎?如果用CITE標籤的人本來就只佔HTML作者的0.01%,其中就算有50%的人會誤用CITE去標記人,也不能構成應該鼓勵這種用法的地步。相反的反例是b/i標籤。這兩個標籤可能有99%的HTML作者都會使用,因此b/i的實踐用法才有價值被標準化下來。

3. CITE標籤的改變沒有考慮國際化。根據中文社區的經驗,CITE首先用得很少(我只看到過個位數次的使用,且屬於完全的誤用,即差不多是在Q的意義上使用),尤其沒有看到類似英文世界的用來標記人的做法。主要原因除了CITE標籤本身知名度不高,可能是中文用戶習慣使用標點符號書名號來標記書,沒有像英文用戶那樣去針對CITE做出樣式區分的需求。將CITE擴展到可以標記人,對於中文用戶來說,就更不能理解這個標籤的意義了,因爲我們從來沒有經驗是在這兩種意義上混合使用它。而且對於標記作品和標記人,在中文是完全不同的。本身英文中書名是斜體,人標爲斜體不合常規,但是至少不是很大的問題。但是對於中文來說,CITE的樣式要被用來附加書名號(無論是橫排中的《》或直排中的波浪線),用在人上就不是不好看的問題,而是完全錯誤的問題。

4. CITE同時標記書和人,引起UserAgent提供額外功能的困難。
比如考慮亞馬遜的書庫,imdb的電影庫,wikipedia的詞條庫……某種瀏覽器可以根據cite上的內容,比如<cite>黑貓警長</cite>,來提供給用戶額外的功能,比如直接引用到douban的詞條、或imdb的評分。但是允許CITE也用來標記人,就使得這樣的功能可能變得很糟糕。


二、cite標籤需要一個uri屬性

目前CITE標籤上沒有任何一個link類的屬性,而標記作品其實需要這樣的屬性,如:
<cite uri="urn:isbn:9789573327103">雷峯塔</cite>
這個URI標識了這本書是張愛玲的《雷峯塔》,皇冠文化2010年9月出版的版本。
又如
<cite uri="http://www.imdb.com/title/tt0926084/">哈利·波特—死亡聖器(上)</cite>
<cite uri="http://www.imdb.com/title/tt0926084/">哈利波特—死神的聖物(上集)</cite>
雖然寫法不同,但是因爲引用了相同的imdb鏈接,我們知道實際上說的是一部作品。

屬性名的可能候選包括:cite、href、src、uri、urn等
cite是XHTML2的做法,不過寫成<cite cite="...">實在有點難看。href和src在現在的實踐中都是指實際要獲取資源的,而cite上的uri其實首要是用來標識的。urn限定必須是urn,好像沒有什麼特別意義。因此最終我提議用uri作爲屬性名。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章