現今的網路領域,在使用者和web開發者的概念裡,WEB標準這個詞正在變得越來越時髦。但是,WEB標準的概念過於籠統,人們對WEB標準到底是什麼和她所包含的一些東西有著各自不同的看法。在由中國E動網贊助的「E動盃」ShopEx模板大賽論壇上,參賽者和點評者就什麼是WEB標準和模板代碼的「表現手法」發言踴躍,本文闡述了作者對於WEB標準的觀點,以便大家了解通常意義上WEB標準所指涉的概念。
並沒有所謂的“標準”,有的只是建議
首先,你應該了解實際上並不存在真正的WEB標準,真正存在的是一些推行標準化的組織,就像ISO standards,Ecma。當大多數人提到WEB標準時,他們實際上指的是W3C的某些東西。但W3C並不真正制定標準,他們僅是提供建議,以他們自己的話來說:「A W3C Recommendation is a specification or set of guidelines that, after extensive consensus-building, has received the endorsement of W3C Members and the Director . W3C recommends the wide deployment of its Recommendations.”
WEB標準的涵義
一般情況下,WEB標準是由以下幾個部分組成的,
•有效的HTML/XHTML
•程式碼語意清晰
•內容(HTML/XHTML)表現(CSS)和互動(Javascript)相分離
對某些人來說,WEB標準意味著以上所有部分,而對其他人來說,可能只是其中一點。但最重要的是這三個部分是建立一個優秀網站所不可或缺的。
有效的HTML/XHTML
讓我們從第一點開始,有效的程式碼是WEB標準的第一步。對大多數人來說,有效僅意味著HTML/XHTML程式碼,但不要忘了也有CSS的驗證。驗證你的HTML/XHTML程式碼有效性基本上就是指你網頁上的程式碼是否符合你選用的doctype。
選擇正確的doctype很重要,它決定了HTML/XHTML程式碼該如何被解釋以及在不同瀏覽器中佈局的差異。經過驗證後的程式碼能夠很好的在不同瀏覽器中顯示,而不需要考慮太多瀏覽器的兼容性。透過驗證你可能會發現潛在的影響頁面的程式碼,修正他們以使開發過程更有效率,和降低日後維護的成本。
程式碼驗證工具
• W3C Markup Validation Service
• Firefox HTML Validator add-on
• Internet Explorer Developer Toolbar
程式碼語意清晰
任何一個存在於頁面中的元素都應該有它存在的意義並能準確表意。簡單來說就是要根據上下文關係來選擇合適的元素。例子如下
這段程式碼語意不清
以下為引用的內容: <div class="page-heading">Title of the page</div> <a class="menu-item" href="/item-1">Menu item 1</a> |
同樣的表現,語意就清晰多了
以下為引用的內容: <h1>Title of the page</h1> <ul class="menu"> |
要讓程式碼語意清晰其實很簡單,用h1-h6來定義標題,用p來定義文章段落,用ul,ol等來定義列表項等等。 。 。這會方便幫助你找到程式碼中你想要的部分,並能顯著減少頁面載入時間,因為它減少了程式碼量。而且,不要忘了,這對SEO也很有幫助,清晰的語義能幫助Google和其他搜尋引擎更好的檢索你的網站。
內容(HTML/XHTML)表現(CSS)和互動(Javascript)相分離
有太多理由認定將內容(HTML/XHTML)表現(CSS)和交互(Javascript)相分離是至關重要的。他們有著各自不同的分工,如何合理的應用他們需要經過仔細斟酌。
分離的幾大原因
效能:外部檔案例如css和js會在第一次載入後儲存在使用者的快取裡,這就節省了以後的載入時間,提高了體驗。
整體:你總是能準確的找到程式碼並放置它們。
可用性:你總是可以方便的引用程式碼,並能在整個網站的範圍內重複使用它們。
維護:所有有關表現和互動的程式碼集中存放,方便維護。
如何更貼近用戶?
有人說要讓網站變得更貼近用戶需要耗費更多額外時間,但其實只要你能做到文章中提到的三點,你就已經在更加貼近用戶的道路上前進了一大步。
正確有效的程式碼,會使你更方便的發現頁面中錯誤的內容。語意清晰的程式碼能更好的支援手持設備,也能讓網站在沒有CSS修飾的情況下更好的被使用者瀏覽。而結構表現交互相分離使得網站在缺乏javascript支援的情況下仍能保持基本功能,當然你可以透過增加javascript層來增進網站的體驗,但這絕對不是一個網站賴以運作的最基本的部分。