仲介交易 SEO診斷 淘寶客 雲主機 技術大廳
二. 什麼是網站標準
網站標準不是某一個標準,而是一系列標準的集合。 網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行為(Behavior)。 對應的標準也分三方面:結構化標準語言主要包括XHTML和XML,表現標準語言主要包括CSS,行為標準主要包括物件模型(如W3C DOM)、ECMAScript等。 這些標準大部分由W3C起草和發佈,也有一些是其他標準組織制訂的標準,比如ECMA(European Computer Manufacturers Association)的ECMAScript標準。 我們來簡單瞭解一下這些標準:
1. 結構標準語言
(1)XML
XML是The Extensible Markup Language(可擴展標識語言)的簡寫。 目前推薦遵循的是W3C于2000年10月6日發佈的XML1.0,參考(www.w3.org/TR/2000/REC-XML-20001006)。 和HTML一樣,XML同樣來源於SGML,但XML是一種能定義其他語言的語。 XML最初設計的目的是彌補HTML的不足,以強大的擴充性滿足網路資訊發佈的需要,後來逐漸用於網路資料的轉換和描述。 關於XML的好處和技術規範細節這裡就不多說了,網上有很多資料,也有很多書籍可以參考。
(2)XHTML
XHTML是The Extensible HyperText Markup Language可擴展標識語言的縮寫。 目前推薦遵循的是W3C于2000年1月26日推薦XML1.0(參考HTTP://www.w3.org/TR/xhtml1)。 XML雖然資料轉換能力強大,完全可以替代HTML,但面對成千上萬已有的網站,直接採用XML還為時過早。 因此,我們在HTML4.0的基礎上,用XML的規則對其進行擴展,得到了XHTML。 簡單的說,建立XHTML的目的就是實現HTML向XML的過渡。
2. 表現標準語言
CSS是Cascading Style Sheets層疊樣式表的縮寫。 目前推薦遵循的是W3C于1998年5月12日推薦CSS2(參考HTTP://www.w3.org/TR/CSS2/)。 W3C創建CSS標準的目的是以CSS取代HTML表格式佈局、幀和其他表現的語言。 純CSS佈局與結構式XHTML相結合能説明設計師分離外觀與結構,使網站的訪問及維護更加容易。
3.行為標準
(1)DOM
DOM是Document Object Model文件物件模型的縮寫。 根據W3C DOM規範(HTTP://www.w3.org/DOM/),DOM是一種與瀏覽器,平臺,語言的介面,使得你可以訪問頁面其他的標準元件。 簡單理解,DOM解決了Netscaped的JAVAscript和Microsoft的Jscript之間的衝突,給予web設計師和開發者一個標準的方法,讓他們來訪問他們網站中的資料、腳本和表現層對像。
(2) ECMAScript
ECMAScript是ECMA(European Computer Manufacturers Association)制定的標準指令碼語言(JAVAScript)。 目前推薦遵循的是ECMAScript 262(HTTP://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。
三. 遵循標準的網站與傳統網站的區別
傳統網站只是印刷媒體的延伸,設計目標是保證在4-6個主流瀏覽器版本中看起來一致。 通常的特徵是:
以表格為基礎的佈局。
內容與表現方式混雜在一起。 典型的例子是<font>標籤。
垃圾代碼(非標準代碼)。
不易用的代碼。
語義不正確的代碼。 比如<b>不解釋的話,你根本不明白這是字體加粗的意思。
而採用網站標準建立的網站是一個能夠接受各種使用者和各種設備的廣泛的交流溝通工具。 一般特徵是:
語義正確的標識。 即使用能夠表達含義的標籤。 保證代碼可以在文本瀏覽器、PDAs、搜尋引擎中被正確理解。
正確有效的代碼。 通過W3C代碼校驗(HTTP://validator.w3.org/)的就是正確代碼。
對人、機都易用的代碼。 能夠接受廣泛的使用者和設備的訪問,
用CSS分離表現層和內容。 使代碼更簡潔、下載速度更快,批量修改和定制表現形式更容易。
四. 採用網站標準的好處和缺點
1. 好處
對網站流覽者的好處:
檔下載與頁面顯示速度更快;
內容能被更多的使用者所訪問(包括失明、視弱、色盲等殘障人士);
內容能被更廣泛的設備所訪問(包括螢幕閱讀機、手持設備、搜索機器人、印表機、電冰箱等等)
使用者能夠通過樣式選擇定制自己的表現介面
所有頁面都能提供適於列印的版本
對網站擁有者的好處:
更少的代碼和元件,容易維護
頻寬要求降低(代碼更簡潔),成本降低。 舉個例子:當 ESPN.com 使用 CSS改版後,每天節約超過兩百萬位元組(terabytes)的頻寬。
更容易被搜尋引擎搜索到
改版方便,不需要變動頁面內容
提供列印版本而不需要複製內容
提高網站易用性。 在美國,有嚴格的法律條款(Section 508)來約束政府網站必須達到一定的易用性,其他國家也有類似的要求。
2. 缺點
需要花費更多時間來學習標準
依然需要注意瀏覽器的相容問題
用 CSS 來實現某些表現反而比表格更為麻煩
五. 怎麼改善現有網站
我們大部分的設計師依舊在採用傳統的表格佈局、表現與結構混雜在一起的方式來建立網站。 學習使用XHTML+CSS的方法需要一個過程,使現有網站符合網站標準也不可能一步到位。 最好的方法是循序漸進,分階段來逐步達到完全符合網站標準的目標。 如果你是新手,或者對代碼不是很熟悉,也可以採用遵循標準的編輯工具,例如Dreamweaver MX 2004,它是目前支援CSS標準最完善的工具。
1. 初級改善
為頁面添加正確的DOCTYPE
很多設計師和開發者都不知道什麼是DOCTYPE,DOCTYPE有什麼用。 DOCTYPE
是document type的簡寫。 主要用來說明你用的XHTML或者HTML是什麼版本。 瀏覽器根據你DOCTYPE定義的DTD(文件類型定義)來解釋頁面代碼。 所以,如果你不注意設置了錯誤的DOCTYPE,結果會讓你大吃一驚。 XHTML1.0提供了三種DOCTYPE可選擇:
過渡型(Transitional )
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"HTTP://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
嚴格型(Strict )
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"HTTP://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
框架型(Frameset )
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"HTTP://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
對於我們初級改善來說,只要選用過渡型的聲明就可以了。 它依然可以相容你的表格佈局、表現標識等,不至於讓你覺得變化太大,難以掌握。
Tip:你懶得輸入上面過渡型代碼的話,可以訪問HTTP://www.macromedia.com/網站的首頁,然後查看原始程式碼,把head區同樣的代碼拷貝粘貼就可以了。
設定一個名字空間(Namespace)
直接在DOCTYPE聲明後面添加如下代碼:
<html XMLns="HTTP://www.w3.org/1999/xhtml" >
一個namespace是收集元素類型和屬性名字的一個詳細的DTD,namespace聲明允許你通過一個線上位址指向來識別你的namespace。 只要照樣輸入代碼就可以。
聲明你的編碼語言
為了被瀏覽器正確解釋和通過標識校驗,所有的XHTML文檔都必須聲明它們所使用的編碼語言。 代碼如下:
<meta HTTP-equiv="Content-Type" content="text/html; charset=GB2312" />
這裡聲明的編碼語言是簡體中文GB2312,你如果需要製作繁體內容,可以定義為BIG5。
用小寫字母書寫所有的標籤
XML對大小寫是敏感的,所以,XHTML也是大小寫有區別的。 所有的XHTML元素和屬性的名字都必須使用小寫。 否則你的文檔將被W3C校驗認為是不正確。 例如下面的代碼是不正確的:
<TITLE>公司簡介</TITLE>
正確的寫法是:
<title>公司簡介</title>
同樣的,<P>改成<p>,<B>改成<b>等等。 這步轉換很簡單。
為圖片添加 alt 屬性
為所有圖片添加alt屬性。 alt屬性指定了當圖片不能顯示的時候就顯示供替換文本,這樣做對正常使用者可有可無,但對純文字瀏覽器和使用螢幕閱讀機的使用者來說是至關重要的。 只有添加了alt屬性,代碼才會被W3C正確性校驗通過。 注意的是我們要添加有意義的alt屬性,象下面這樣的寫法毫無意義:
<img src=」logo_unc_120x30.gif」 alt=」 logo_unc_120x30.gif」>
正確的寫法:
<img src=」logo_unc_120x30.gif」 alt=」UNC公司標誌,點擊返回首頁」>
給所有屬性值加引號
在HTML中,你可以不需要給屬性值加引號,但是在XHTML中,它們必須被加引號。
例:height=」100」,而不能是height=100。
關閉所有的標籤
在XHTML中,每一個打開的標籤都必須關閉。 就象這樣:
<p>每一個打開的標籤都必須關閉。 </p>
<b>HTML可以接受不關閉的標,XHTML就不可以。 </b>
這個規則可以避免HTML的混亂和麻煩。 舉例來說:如果你不關閉圖像標籤,在一些瀏覽器中就可能出現CSS顯示問題。 用這種方法能確保頁面和你設計的一樣顯示。 需要說明的是:空標籤也要關閉,在標籤尾部使用一個正斜杠「/」來關閉它們自己。 例如:
<br />
<img src="webstandards.gif" />
2. 中級改善
接下來我們的改善主要在結構和表現相分離上,這一步不象第一步那麼容易實現,我們需要觀念上的轉變,以及對CSS2技術的學習和運用。 但學習任何新知識都需要花點時間的,不是嗎? 訣竅在於邊做邊學。 假如你一直採用表格佈局,根本沒用過 CSS,也不必急於跟表格佈局說再見,你可以先用樣式表代替 font 標籤。 隨著你學到的越多,你能做的就越多。 好,一起來看看我們需要做哪些事:
用CSS定義元素外觀
我們在寫標識時已經養成習慣,當希望字體大點就用<h1>,希望在前面加個點符號就用<li>。 我們總是想<h1>的意思是大的,<li>的意思是圓點,<b>的意思是「加粗文本」。 而實際上, <h1>能變成你想要的任何樣子,通過CSS,<h1>能變成小的字體,<p>文本能夠變成巨大的、粗體的,<li>能夠變成一張圖片等等。 我們不能強迫用結構元素實現表現效果,我們應該使用CSS來確定那些元素的外觀。 例如,我們可以使原來預設的6級標題可以看起來大小一樣:
h1, h2, h3, h4, h5, h6{
font-family: 宋體, serif;
font-size: 12px;
}
用結構化元素代替無意義的垃圾
許多人可能從來都不知道HTML和XHTML元素設計本意是用來表達結構的。 我們很多人已經習慣用元素來控制表現,而不是結構。 例如,一段清單內容可能會使用下面這樣的標識:
句子一<br />
句子二<br />
句子三<br />
如果我們採用一個無序清單代替會更好:
<ul>
<li>句子一</li>
<li>句子二</li>
<li>句子三</li>
</ul>
你或許會說「但是<li>顯示的是一個圓點,我不想用圓點」。 事實上,CSS沒有設定元素看起來是什麼樣子,你完全可以用CSS關掉圓點。
給每個表格和表單加上id
給表格或表單賦予一個唯一的、結構的標記,例如
<table id="menu">
接下來,在書寫樣式表的時候,你就可以創建一個「menu」的選擇器,並且關聯一個CSS規則,用來告訴表格單元、文字標籤和所有其他元素怎麼去顯示。 這樣,不需要對每個<td>標籤附帶一些多餘的、佔用頻寬的表現層的高、寬、對齊和背景顏色等等屬性。 只需要一個附著的標記(標記「menu」的id標記),你就可以在一個分離的樣式表內為乾淨的、緊湊的代碼標記進行特別的表現層處理。
中級改善我們這裡先列主要的三點,但其中包含的內容和知識點非常多,需要我們逐步學習和掌握,直到最後實現完全採用CSS而不才用任何表格實現佈局。 限於本文是引導推廣之意,不展開詳述。
最後我們特別需要補充介紹的是網站的易用性(Accessibility)和交互設計改善,易用性與網站標準有著標準聯繫緊密,和網站標準一樣,都是為了使我們的網站接受更多的使用者訪問。 1990年W3C建立了Web Accessibility Initiative(WAI),給網站建造者提供實現可訪問性的方法和策略(HTTP://www.w3.org/WAI/GL/)。 提高易用性和研究交互設計(推薦VB之父Alan Cooper的About Face2.0一書)的策略能提高你的開發技術,開闊視野。 提高你作為專業網頁設計師的價值,使你更具競爭力。 這正是每個網站擁有者和每個設計師或開發者要努力達到的目標。
六. 網站標準的資源
1. 網站標準
HTTP://www.zeldman.com/
HTTP://webstandards.org/
HTTP://webstandardsgroup.org/
HTTP://www.nypl.org/styleguide/
2. 有語義代碼
HTTP://brainstormsandraves.com/articles/semantics/structure/
3. 校驗(Validation )
HTTP://validator.w3.org/
HTTP://www.htmlhelp.com/tools/validator/
HTTP://webboy.net/presentation/validation.cfm
4. 易用性(Accessibility )
HTTP://www.joeclark.org/
HTTP://www.accessify.com/
HTTP://www.juicystudio.com/
5. 樣式表CSS
HTTP://webboy.net/presentation/ict2004/01.htm
HTTP://webboy.net/presentation/ict2004/02.htm
HTTP://webboy.net/presentation/ict2004/03.htm
HTTP://westciv.com/style_master/academy/css_tutorial/
HTTP://css.maxdesign.com.au
HTTP://www.thenoodleincident.com/tutorials/css/
6. 實例網站(XHTML+CSS)
HTTP://www.macromedia.com/
HTTP://www.k10k.net
HTTP://www.fyrebase.com/
HTTP://www.onetruefit.com/
HTTP://pixeltable.com/
HTTP://www.fishmarketing.net/
附. 參考文章及網站
Jeffrey Zeldman(www.zeldman.com)著作《Design with Web Standards》,該書已經由電子工業出版社引進,即將發行中文版。
Max Design的文章:《The benefits of Web Standards to your visitors, your clients and you!》HTTP://www.maxdesign.com.au/pres entation/benefits/index.htm
Mark Pilgrim 《Dive Into Accessibility》HTTP://diveintoaccessibility.org
網站標準組織www.webstandards.org
網站標準團體www.webstandardsgroup.org