漸進增強與優雅降級(轉)

優雅降級(graceful degradation):一開始就構建站點的完整功能,然後針對瀏覽器測試和修復。

漸進增強(progressive enhancement):一開始只構建站點的最少特性,然後不斷針對各瀏覽器追加功能。

優雅降級:

使用優雅降級方案,Web站點在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工作。由於IE獨特的盒模型佈局問題,絕大多數Web設計師和開發者都通過專門的樣式表或針對不同版本的IE的hack實踐過優雅降級了;
使用優雅降級技術時,你必須首先完整的實現了網站,其中包括所有的功能和效果。然後再爲那些無法支持所有功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級體驗卻不至於完全失效。

漸進增強:

從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能。漸進增強是值得所有開發者採用的做法。漸進增強方案並不假定所有用戶都支持javascript,而總是提供一種候補方法,確保用戶可以訪問(主要的)內容。
使用漸進增強時,無需爲了一個已成型的網站在舊式瀏覽器下正常工作而做逆向工程。首先,只需要爲所有的設備和瀏覽器準備好清晰且語義化的HTML以及完善的內容,然後再以無侵入(unobtrusive)的方式向頁面增加無害於基礎瀏覽器的額外樣式和功能。當瀏覽器升級時,它們會自動地呈現出來並發揮作用。

想讓網站在任何環境下看起來都保持一致是不可能的,不管爲此付出多少努力,結局依舊會令你失望。與其試圖讓IE看起來堪比年輕它十歲的瀏覽器,不如努力改善網站的可訪問性,或是進行更多的可用性測試,而不僅僅是讓頁面看起來“更靚一點”。
某些CSS3特性在不支持它的瀏覽器中簡直是“無法模擬實現”的,但若使用漸進增強,就無需爲了能讓你的網站適合所有人而放棄這些技術。僅僅因爲部分人不願或不能升級瀏覽器,卻讓使用新型瀏覽器的用戶無法享受CSS3所提供的偉大技術,這是毫無道理可言的。

我們應該先讓網站能夠正常工作於儘可能舊的瀏覽器上,然後不斷爲它在新型瀏覽器上實現更多的增強和改進。隨着時間的推移,當越來越多的人開始升級瀏覽器而瀏覽器本身的支持度也不斷提升時,就會有越來越多的人體驗到這些增強和改進,它持續有效的使網站越來越好,卻如需你刻意做什麼。只需要一次實現,它就讓網站的體驗與時俱進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章