分離內(nèi)容和表現(xiàn)
HTML從來就不是表現(xiàn)的手段,但從用戶端結(jié)合元素來格式化文本,開發(fā)者從中找到操作布局的方法。CSS的強(qiáng)大,使得現(xiàn)在不再需要用HTML做任何表現(xiàn)了,而內(nèi)容也可以完全從表現(xiàn)(CSS)中分離出來。
這樣做有很多好處──通常可以壓縮文件容量,有著用一個主要樣式表就可控制整個網(wǎng)站而不是單個頁面的靈活性,也可能使頁面更易用,更具親和力。
遵循這些基本原則基本上意味著你不應(yīng)該在HTML內(nèi)使用樣式化的任何事物了。比如font的標(biāo)簽,比如bgcolor的屬性不應(yīng)該再使用。甚至在圖像標(biāo)簽img內(nèi)的邊框?qū)傩詁order在XHTML 1.1中也是非法的了。別擔(dān)心,過時的HTML可以樣式化,CSS更可以樣式化,而且可以做得更好。
不僅僅是從HTML內(nèi)剝離表現(xiàn),內(nèi)容的結(jié)構(gòu)意味著在適合的地方使用明確的HTML標(biāo)簽。比如,h1,h2等應(yīng)用在標(biāo)題上──而不僅僅是使用CSS使字體變大而已。
最佳指引就是一個可視化的瀏覽器上使用其默認(rèn)的樣式來呈現(xiàn)一個沒有樣式表(或者有樣式表,但不支援樣式表的文本瀏覽器,比如lynx——譯者注)的頁面。
表格不應(yīng)該用在布局上──表格用來表示表格式的數(shù)據(jù)(我們已經(jīng)不厭其煩地說了很多次──譯者注)。也許對于已經(jīng)習(xí)慣傳統(tǒng)結(jié)構(gòu)的HTMLer來說,完全改變有很大的技術(shù)難度。這個方法很大程度上壓縮了文件,而且,基于這些顯性代碼,它變得更易用,更具親和力。
關(guān)于更多,請閱讀CSS高級指南的布局。
在XHTML中所有的標(biāo)簽都必須小寫和關(guān)閉。沒有閉合標(biāo)簽的(如br和img)必須用英文半角正斜杠“/”在后面自關(guān)閉(如<br />)。注意在斜杠前應(yīng)該有一個英文半角空格。
標(biāo)記也必須是合式的,使元素正確嵌套(比如<strong><em>this</em></strong>,而不是<strong><em>this</strong></em>)。
所有的文檔都要有html,head,title和body元素。也必須從文檔類型聲明開始。
文檔主體應(yīng)該從 p, h1,h2, h3,h4,h5,h6,div, pre,address,ins或者del開始。
屬性
所有的屬性必須是小寫的,它們的值也要用英文半角引號括(")起來。
精簡屬性是不允許的(比如<input type="checkbox" checked />)。按慣例,精簡屬性必須給出跟屬性名稱一樣的值(如 <input type="checkbox" checked="checked" />)。
名字 name屬性不再是合法的了(除了在表單元素中),應(yīng)該使用id來代替。
目標(biāo)屬性target不是一個合法的屬性。慶幸吧,它有些癲狂。
在img里,alt屬性是必須的。
親和力
為殘障人士制做具有親和力網(wǎng)頁的理由是不證而明的。不僅是人道的,而且也對老年用戶和五官功能減退的用戶有利(想一想,有一天我們老了,視力消退,五官不靈,怎么瀏覽互聯(lián)網(wǎng)?為年老積點(diǎn)德,現(xiàn)在就考慮親和力吧!——譯者注)。親和力不僅與有嚴(yán)重殘障人士方便,也使大部分少量消退功能(特別是視覺)的用戶更為易用。
這個問題越來越牽涉法律問題了,比如美國的“508條款”的采用,試圖積極推動強(qiáng)制使用親和力;在英國,所有的政府網(wǎng)站必須有一個指定的親和力程度。什么時候才可以有像在建筑物上的親和措施的立法,以便普遍用在商業(yè)網(wǎng)站上?(中國還不知道什么時候有這種立法呢!但不等于我們就不要關(guān)注我們設(shè)計的網(wǎng)頁的合法性。——譯者注)
如果能遵循上述的建議,你的HTML應(yīng)該已經(jīng)具備了為殘障用戶服務(wù)的高度親和力。還有更多的創(chuàng)作使你的親和力更上一層樓,而且不難。見親和連接和親和表單指南。