|
引言:
一群會用table蹩腳布局的網(wǎng)頁初學者嘲笑著那些對網(wǎng)頁制作一竅不通的門外漢;而一群自認為table布局無所不能的table布局擁護者則嘲笑著那群用table蹩腳布局的網(wǎng)頁初學者;那些剛試著將幾個頁面中的table換成div的所謂的web標準設計者則嘲笑這那群死抱table布局不放的table布局設計者;而一群焦頭爛額終于在網(wǎng)站上貼上“W3C驗證通過HTML網(wǎng)站”圖標的自認高高人的web標準設計者則嘲笑這那群以為“DIV+CSS”就是web標準的web標準設計初學者;但是當我們把我們的網(wǎng)頁放在不同的瀏覽器中的時候,卻發(fā)現(xiàn)我們?nèi)慷急?ldquo;Web標準設計”嘲笑了……
正文:
標準:衡量事物的準則。例句:惟極貧無依,則械系不稍寬,為標準以警其余。——清•方苞《獄中雜記》
Standard: An acknowledged measure of comparison for quantitative or qualitative value; a criterion.
無論是中外古今的對于標準一詞的解釋都很相近。即:標準是一個準則。那么冠以“標準”前綴的詞,則必須符合此準則。如:
標準大氣壓(standard atmospheric pressure):指在緯度為45°的海平面上,溫度為0°C時的大氣壓,相當于76厘米高的水銀柱所產(chǎn)生的壓強。
標準照(official portrait):指人的正面半身免冠相片。
那么冠以“標準”前綴的web標準設計,也必須有一個衡量的準則方可。但是我們發(fā)現(xiàn)所謂的衡量web標準是否標準的準則并不存在,至少目前還沒有成型。沒有衡量準則,標準何以言之為標準?
推薦遵循標準不是嚴格意義上的標準當你試圖在網(wǎng)上查找“什么是web標準”時,找到的多數(shù)是將web標準引入中國的先驅阿捷的文章《什么是web標準》。雖然里面提到了各個組成部分的“推薦”遵循標準,但是那些也都只是W3C組織“推薦遵循”的標準。大家都知道W3C標準不是強制性標準,所以像微軟這樣喜歡“賣標準”的一流公司并不完全買W3C的帳。所以那些所謂的“推薦標準”從嚴格意義上來說并不是全面的、嚴格意義上的認證標準。
注:雖然W3C的推薦標準不是嚴格意義上的標準,但是我們絕對不可以無視。因為它們的確很有指導意義。而且我們非常欣慰的看到:雖然IE7為了向前兼容,保留了一些IE6的詭異解析方式,但是它也正在逐漸的遵循這些標準。所以這些標準現(xiàn)在是“推薦遵循標準”,但是在不久的將來極有可能成為真正的標準準則,那個時候就是“web標準大統(tǒng)一”的黃金年代。所以還沒有看過下面這些文章的朋友要抓緊時間啦。
W3C推薦遵循web標準文檔列表:
- XML方面:《Extensible Markup Language (XML) 1.0 (Second Edition)》
- XHTML方面:《XHTML 1_0 The Extensible HyperText Markup Language (Second Edition)》
- DOM方面:《W3C DOM規(guī)范》
- CSS方面:《Cascading Style Sheets, level 2 CSS2 Specification ver.12-May-1998》
- Script方面:《ECMAScriptLanguage Specification》
web標準與否不能被有效驗證即使我們暫且將那些“推薦遵循標準”視為標準,我們?nèi)匀挥泻芏鄦栴}。例如:怎么檢驗我們的頁面就是符合那些“推薦遵循標準”的呢?的確,我們有驗證工具,但是那些驗證工具的驗證結果就是正確的嗎?web標準一個重要的部分就是,根據(jù)標簽的語義來使用它們。例如table是用來呈現(xiàn)表格數(shù)據(jù)的,而不是用來分割文檔的(也就是平時說的布局)。但是一些利用table布局的頁面也能順利的通過驗證工具的驗證。所以那些驗證工具的驗證結果也只能作為一種參考。
語義是道多選題
說道標簽的語義,這也會帶出一些問題。因為當我們決定使用哪種標簽的時候,我們會發(fā)現(xiàn)我們面對的是多選題,而不是單選題。因為某些情況利用多種標簽時都是符合語義的。我們舉個最簡單的例子:
你說“Name:”應該用什么標簽包起來?label?span?其實無論使用哪個都是符合各自的語義的。正是這種“多選題”讓web標準顯得有些朦朧。
樹欲靜而風不止即使上面的問題都不再是問題了,我們?nèi)匀挥幸粋€大問題——各種瀏覽器對web標準的支持不統(tǒng)一。也正是這種標準不統(tǒng)一的大環(huán)境讓web標準顯得縹緲、遙不可及。看到論壇上天天有人在罵“垃圾FF”、“垃圾IE7”、“垃圾IE6”……縱觀世界,能生存下來的只有兩種生物——改變環(huán)境以適應自身發(fā)展的,例如人類;改變自身以適應環(huán)境發(fā)展的,例如:變色龍。當我們不能改變這個世界的時候,那么就改變自己去適應這個改變的世界吧。
有限的資源,努力的去做 Web標準不標準,至少是現(xiàn)在沒有統(tǒng)一的標準,但是網(wǎng)頁還是要做,工程還是要趕。我們能做的,只能是合理的利用手頭的有限的資源,努力的去做到最好。這句話包含了兩個方面的含義:有限的資源,努力的去做。
有限的資源:
當你躺在象牙塔里,努力的讓你的個人網(wǎng)站貼上W3C認證標簽的時候,你是無可厚非的,因為你的資源是那么的充足,時間、青春、沒有項目時間的催促,沒有客戶的最后通牒。但是當你真正的在做商業(yè)項目的時候,你會發(fā)現(xiàn)我們能利用的資源是及其有限的。人力資源,物質(zhì)資源,時間資源都是那么的捉襟見肘。當你有分配這些資源的權利的時候,你才會發(fā)現(xiàn)分配這些資源的責任。我們的項目,絕對不會為了那張W3C認證標簽而浪費寶貴的資源。
努力的去做:
但是有限的資源絕對不是粗制濫造的借口。事實上,我們項目對于質(zhì)量是及其重視的。項目經(jīng)理提出的“質(zhì)量是項目之本”的結論已經(jīng)在我們團隊達成共識。給測試部門的測試資源,我們向來都安排在整個工程的1/5以上。(分析設計過程3/5以上,代碼coding1/5以下,其余的給測試部)。
但是努力的去做,到底要做成什么樣?其實也并不是沒有參考。當你看Andy Budd的《樣式指南示例》中我們可以看到一些國際上對此問題的處理方法的端倪,他在1.4小結提到了Browser Support的概念。然后他提出了對不同瀏覽器支持的不同程度:
- Target – Most popular browsers at present. Everything must work as intended
- Supported – Old but popular browser. All content and functionality must work with minimal degradation.
- Partiallysupported – Old and buggy browsers. Not supported but not officiallyunsupported. Content and functionality must work. Degradation must begraceful and should not obscure content.
- Unsupported – Buggy and unsupported browsers. Advice current users to upgrade.
我認為這是正確的做法,選定主流的瀏覽器,然后對主流的瀏覽器進行Target支持,而對于次之的瀏覽器進行Supported支持。而對于一些老版本的瀏覽器進行PartiallySupported甚至完全不去管。這樣就能最大可能的讓網(wǎng)站被瀏覽者正常的瀏覽。當然將哪些瀏覽器,哪些版本進行Target支持,需要根據(jù)項目的使用群來決定。例如我們最近的一個日本母公司內(nèi)部使用的B/S系統(tǒng),因為我們知道他們那邊使用者的電腦軟件配置情況,所以我們進行了如下的瀏覽器支持定義:
IE7+:Target
IE6+:Supported
FF :Partially Supported
Other:Partially Supported or Unsupported
正是有了這個瀏覽器支持表單,讓我們調(diào)畫面的時候有的放矢,有所側重。而不是一味的讓所有的瀏覽器都正常支持而浪費時間(而且讓所有的瀏覽器正常支持也只能是一種理想狀態(tài))。
Web標準難不難?
沒進來的人說:很難!
剛站在門框上的人說:不過如此。
站在門里面的人則說:web標準的路還有很長一段要走……
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。