推行 Web Standards 的困難

經歷過 Browser wars, DHTML, Flash site 的衝擊,現在再到 Web2.0,明白到作為一個 Web Developer,貫徹 Web Standards 的重要。可惜當近年 Web Standards 給人談論及推崇時,推行的進度及效果均不理想;香港的情況更見慘淡,除了一撮 Blogger 在其 blog 推行及展現 Web Standards 的好處,我從不見到一個公私營網站會在其網站套用 Web Standards 。歸根究柢,其實推行 Web Standards 有著一些致命的困難。

Web Standards 著重網頁 “Back to basic”,強調網頁的原意 ── 跨平台的資訊交換媒體。而去實現這個目的,全靠三個技術各司其職:

  • HTML : 描述網頁結構
  • CSS : 把結構呈現至 User Interface
  • ECMAScript (JavaScript) : 負責處理頁面的 Events

這類似 Software Engineering 所說的 MVC,可以透過 Specialzation 專責處理自己的工作,而且個別模組可以分別開發,增加開發的效率及彈性。

視覺主導設計忽略網頁應有特性

要實現這個架構,應先從每個網頁的資訊結構規劃,使用 Semantic Markup 編成 HTML (XHTML) ,然後再設計 CSS Layout,最後才加上 JavaScript 。不過,這個制作流程至今很少被採用,原因在於大部份制作人 (不論 Content Owner、Web Designer 或 Web Developer) 主觀認為網頁只在電腦螢幕給人瀏覽,於是只集中螢幕的視覺設計或相關特效。往往設計流程會是 “先出 Layout,後補 Content”,而且在商討 Layout 過程只會討論 “那裡字體不夠大,Menu 放在左邊” 等螢幕特定設計,更甚的是這些設計往往使用大量視覺點綴,而這些點綴多是很難轉化成 CSS-based Layout。

由於視覺主導設計,網頁結構反被視覺設計所限:一些不會呈現於螢幕的 HTML Elements 於是被忽略,而另一些為求達到視覺設計的 Elements 就名正言順加進 HTML 檔中。於是設計混合結構,令頁碼臃腫,導致維護困難,更失去 Accessibility,也不 Search Engine Optimized。當然,大部份網頁用家都是透過電腦螢幕瀏覽,設計螢幕特效亦無可厚非,但不應忽略資訊流通的考慮。

開發分工的困難

除了制作流程,要實行 Web Standards 亦存在開發的困難,最起碼分工存有問題:Semantic Markup 應由誰人負責呢? Content Owner ? Web Developer ? CSS-based Layout 又是誰的責任呢? 依我認為,Semantic Markup 應是 Content Owner / Author 決定,因為只有他們才清楚每個標題的重要性,以及每篇文章的結構。不過要先向一些不懂 HTML 的 Author 解釋 “這額外的工作”,難度十分高。就算他們明白,亦不能要求他們會做個 HTML;當中可能需要一個 Information Architect 擔任編譯 HTML 這角色。不過這個 “下欄” 工序,確實很難尋求一個專人負責,以至形成這個工序常被忽略。

至於 CSS-based Layout,這個普遍被認定為 Web Designer 的工作其實存在很大的技術門鑑。Designer 偏向使用 Photoshop、Illustrator 這類圖形軟件,建立網頁當然使用 Dreamweaver 這個 WYSIWYG 的軟件,可惜的是就算 Dreamweaver 8 已加強對 Web Standards 的支援,建構 CSS 網站時仍要大量修改原始檔(從 Macromedia Developer Center 的示範例子 可見一斑),對於習慣使用圖軟件的 Designer,確實較吃力。而且現存的 CSS 技術,很多時還要靠一堆 Browser Hack 達到某些目的,十幾行的 CSS Code 換來的可能只是一個 Element 的 Image Replacement;制作效率也比 Table-based layout 慢不知多少陪,編寫 CSS file 的工作就像一個 Coder 的工作,跟 Designer 似乎很不相關。

難以衡量化的技術優點

開發分工雖然困難,但終歸可以克服。推行 Web Standards 的最致命困難是其極難衡量化的技術優點,難以作一個客觀準則,比較套用與不套用 Web Standards 網站的優劣,很難說服別人(或自己)去實行 Web Standards 。一些諸如 “提高 Accessibility”、”Search Engine Optimized” 等不是立竿見影的成效更惹人猶疑,尤其對一般現存的網站,亦失去改動的推動力。而且這些技術優點,有多少可以帶來商機呢?在商言商的話,又何需為這個 “標準” 費時失事?沒有 Killer 的動力,Web Standards 頂多是一個空談的技術優勢,極難有效推行。

後話
在寫這篇文章期間,我終於嘗試制作了一個頗完整的 Web Standards demo site。制作 CSS-based layout 時確實沒有 Table-based layout 得心應手,制作時間亦頗長,文中提到的難題也曾令自己壞疑 Web Standards 的好處。但我仍認為應該貫切推行 Web Standards,現存的網站可能不值得改動,但新建的網站就應套用 Web Standards,尤其那些背後有 CMS 作支援的網站,建立 Template 只是 one-off ,絕對值得投資。
CT

Related Entries:


About this entry