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