2009-07-18 61 views
3

有一個真正的藝術來設計一個網站,爲大家工作,並逐步增強實際上是一個口頭禪,我...漸進增強技巧

所以我想知道,什麼是一些最好的技巧,你」無論瀏覽器,操作系統,JavaScript,Flash,屏幕分辨率,禁用用戶可訪問性等,用於製作網站工作的人都是大家

(我知道很多關於JavaScript和瀏覽器的技巧,但會承認自己是無能閃光燈等)

編輯:我不是真的在談論網站的1%,是該區域一體化協定沒有javascript或flash就無法運行。我不問如何在沒有js的情況下編寫Google文檔。我想知道人們爲可以做什麼很酷的事情,但實際上並不需要需要來做什麼。

我會提供幾個我自己的一個答案......

+0

任何一個網站都應該適合每個人。絕對同意。但顯然,有RIA需要使用JavaScript,我不知道如何解決這個問題。你不可能每60秒就有一個動作遊戲回到服務器。阿特拉斯將會很有趣,因爲它完全依賴於JavaScript。 – Nosredna 2009-07-18 20:54:27

+0

嗯...好吧,你可以擺脫依賴於現在的JavaScript,特別是如果你提供了一個單獨的移動網站,但即使我的100英鎊手機支持JavaScript(如果緩慢)。 – 2009-07-18 20:56:59

+0

將可訪問性考慮在內時非常棘手。例如,一個盲人可能需要一個屏幕閱讀器。但在遊戲的情況下,真的沒有什麼可讀的。我認爲您必須將瀏覽器中運行的內容分類爲網站或應用程序。訣竅在於兩者之間的灰色地帶。 – Nosredna 2009-07-18 21:00:33

回答

5

我會盡量避免咒語,除了口頭禪,世界是一個混亂的地方。

我認爲許多桌面功能將被網絡功能所取代,這將是一個棘手的過渡,最終會在瀏覽器中出現真實應用。真正的應用程序意味着JavaScript或Flash或Silverlight,或Java或C#或Objective-J編譯爲JavaScript。

對我來說,唯一的技巧就是確定那些無法有效使用應用程序並向他們提供一些替代內容的人和瀏覽器。

這包括檢測移動設備並提供適當的內容。有很多網站只是在iPhone上癱瘓,因爲它們非常笨重,並且依賴於寬屏電腦顯示器。

不要認爲這是一個網站,這是一個網站需要JavaScript,但我認爲這是可以的網絡是一個應用程序。我不要認爲可以只提供960px寬的頁面。我不要認爲只能以Flash格式提供視頻即可。

4

檢查您的統計信息(或者如果您沒有統計信息,請安裝Google Analytics)並確定您的用戶在哪裏以及他們實際在做什麼。

例如

1.)您的用戶是否經常使用搜索,因爲他們找不到東西?如果是這樣,也許你可以使搜索工作更好?

2.)您的404頁面是否提供了一些快速選項來搜索相關術語或嘗試「猜測」他們正在尋找的內容?

3.)您的網站是否有網站地圖提供快速訪問您網站的有意義的部分?

4.)如果一切都失敗了,用戶是否有一個簡單的方法來聯繫你/技術支持來幫助他們找到他們需要的東西? 5)不確定你是否在你的網站上「出售」了某些東西,但是類似於當你在任何主要的磚頭零售商處結賬時......他們問你是否找到你今天想要的東西。考慮提供一個選項,用戶可以提出建議......也許你有一個未被挖掘的市場等待被征服。

6.)關於可用性,請務必在IE瀏覽器(6,7,8),Safari等瀏覽您的網站,並確保它可以在您關心的任何地方工作。

7.)有一本很好的書叫做「Don't make me think」,它對現實的可用性來說是一個很好的資源。如果你還沒有閱讀它...去抓一個副本。

此外,確保所有其他小事情都照顧...例如,你好好使用緩存(JS,CSS,圖像)

4

一些漂亮的技巧我用基於Ajax的網站工作的:

1)寫整個頁面,各個環節使用正常的一個標記,會在JavaScript禁用的情況下進入正確的頁面,然後根據「rel = external」等內容「hijax」。

2)添加noscript標籤與替代內容的任何地方,否則javascript會插入動態內容。

3)隱藏的JavaScript將在DOM負載控制使用JavaScript,而不是隱藏它們在樣式表,後來顯示他們用JavaScript,因爲用戶可能從來沒有看到他們,如果他們已關閉JavaScript元素。

-1

漸進式增強並不複雜。

考慮三個主要關注點:

  • 內容(HTML)
  • 表現(CSS)
  • 行爲(JS)

你開始與內容和工作方式通過關注確保每一個新的關注都不妨礙前一個關注或試圖模仿另一個關注; JavaScript不應該生成內容; CSS不應該是處理行爲; HTML不應該是處理演示文稿等。

2

通常我所做的是寫沒有任何JavaScript的整個網站。一旦這是功能性的,你可以「標記」。

這就是說,有一些很好的起跑器:

The PRG pattern通常以良好的可達性是至關重要的。

您希望確保在HTML開頭附近有一個啓用了跳轉鏈接的菜單。如果您不確定,請嘗試在鏈接或類似的文本或語音瀏覽器下運行您的網站。如果您感到煩惱,您的可訪問用戶也會受到影響。

確保僅在圖像有意義時纔將alt標籤應用於圖像。當它僅用於設計目的時,給出圖像alt =「」是合法的。同樣,設置title =「」可以滿足您的Firefox用戶對懸停工具提示的需求,而不會讓您的可訪問用戶惱火。

希望這些簡單的提示幫助!無障礙是每個人的責任!

-1

好吧,當涉及到網站類型的應用程序,最好的是,始終支持多種格式,以RESTful的方式... HTML,XML,JSON,RSS,Atom(它是有意義的)以及爲什麼不是其他人......要做到這一點,你需要一個乾淨的MVC架構在服務器上......好吧,它不需要是MVC,但我們可以說,渲染層應該像麪包一樣愚蠢,書面業務邏輯運行在...你的前端控制器應該選擇正確的格式來回應請求,並且你去...你的整個業務邏輯來檢索/更新數據,分頁等等被執行一次,並且那麼你只是把它渲染成一個HTML模板,或將其轉換成JSON,或者做任何事情......

現在一個想法是,一個視圖的實現,它將返回穩定的,語義的和純淨的HTML ...並創建一個,這將大量使用JavaScript ...使它們可以在不同的路徑下訪問,並使javascript不可繪製...將一行的javascript在主HTML模板的開頭,這將導致重定向到該網站的JavaScript版本......您可以對flash執行相同的操作......等等......然後,在「骯髒的「版本的應用程序,你可以做任何事情,你喜歡...每個HTTP加載模板,然後在JSON中的數據,並在客戶端上進行渲染,創建一個持久的有狀態客戶端JavaScript應用程序...爲什麼不?

我個人認爲,這是更好,比用漂亮和清晰的HTML開始,而不是在噸的javascript,甚至不會爲所有用戶工作餡......

格爾茨

back2dos

2

嘗試在使用可能難以訪問的插件或其他內容時提供回退內容。例如,將視頻放在頁面上。如果你去的HTML5方式:

<video> 
    <source src="video.ogv" type="video/ogg" /><!-- OGG for Mozilla/Opera --> 
    <source src="video.mp4" type="video/mp4" /><!-- h.264 for Apple/Google --> 
    <object><!-- Fall back to Flash/h.264 for older browsers --> 
      <!-- And in the event the UA can't handle any of those, all you can do is provide a link to the media --> 
      <p><a href="video.ogv">Download the video</a>.</p> 
    </object> 
</video> 

[僞代碼,但你的想法]

爲了更全面的解決方案,以特定的問題,看看克羅克卡門的Video for everybody