2011-06-09 60 views
3

在我的web應用程序中,我有一個用戶配置文件頁面。該頁面上有這些元素:如果我沒有提交數據,我應該使用FORM元素嗎?適當的(X)HTML標記

 
Connect with Twitter 
Connect with Facebook 
Timezone Select 
Language Select 

前兩件事彈出一個允許用戶連接的OAuth窗口。最後兩件事是用AJAX保存的。

當我做了網頁,我應該怎麼做的HTML?我認爲所有的項目都應該是'ul'元素中的元素,而不是單獨的'div'或'p'元素。

但我應該用什麼容器元素?我在討論使用'div'和使用沒有任何操作的'表單'之間的爭論。

我正在收集一些數據,這是'form'元素的參數,但表單實際上並未被使用 - 將不會有提交按鈕。所以這是反對它的論點。

什麼是這樣做的最佳做法?如果您可以提供一些支持文檔的鏈接,那也是有幫助的。

謝謝!

回答

5

最佳實踐是讓網站在沒有Javascript的情況下工作,然後逐漸增加Javascript/AJAX作爲增強。

Progressive Enhancement(維基百科)

漸進增強網頁設計,強調 可訪問性,語義HTML標記, 和外部的樣式表和腳本 技術戰略 。漸進增強 使用Web技術在分層 的方式,讓每個人都能獲得 的 的基本內容和功能的網頁,使用任何瀏覽器或 互聯網連接,同時還 提供那些具有更好的帶寬, 更先進的瀏覽器軟件或更多 體驗 頁面的增強版本。

所以,是的,你應該使用form。**

如果你關心漸進增強**。正如在這個答案的評論中所討論的那樣,在你的情況下,如果你沒有/不在乎,那沒關係。使用你最喜歡的任何元素。

+0

是的,我知道漸進式增強,我沒有問這個。一些網絡應用需要Javascript,比如Facebook。假設這是這種類型的Web應用程序。除了漸進式增強功能之外,您是否贊成不會用於提交數據的FORM? – cwd 2011-06-09 04:08:00

+1

漸進式增強仍然適用於時區和語言選擇器,所以想法是讓這些內容像表單內部的輸入選擇一樣,以便沒有Javascript的用戶仍然可以使用這些控件並提交表單。如果你堅持沒有這些非Javascript版本,那麼沒有理由使用表單元素。在這種情況下,不需要任何容器元素,但是如果你想使用'div',那很好。 – joelhardi 2011-06-09 04:20:58

+0

謝謝。爲了澄清,Web應用程序將需要Javascript的所有功能 - 不僅僅是連接到Facebook。 Facebook只是一個主流Web應用程序的例子,它在沒有Javascript的情況下根本不能運行*。最後,我的問題恰恰是你最後一句話:既然不需要特定的容器元素,我應該使用哪一個?我認爲在收集信息的地方使用FORM元素仍然比DIV(分區)在語義上更正確。 – cwd 2011-06-09 04:48:28

0

純粹從可訪問性的角度來看,如果不知道如何實現這一點,聽起來好像語言選擇和時區選擇功能需要客戶從列表中選擇。對於這些,我會設計兩個小形式。每個表單都會包含一個使用for屬性的標籤標籤。這些表單也會有一個列表輸入標​​籤。最後,他們 將有一個提交按鈕。你會給輸入標籤名稱屬性。您可以將名稱屬性的值粘貼到標籤標籤的for屬性字符串中。

我將其他兩個項目設置爲小型窗體,只需按下可觸發功能的按鈕即可。它們也可以是超級鏈接,但在可訪問性方面的最佳實踐可能會規定它們不是超鏈接,以防萬一有人使用不支持腳本的瀏覽器,或出於某種原因某人關閉了腳本。

相關問題