2009-07-02 23 views
3

我的網站上的聯繫-us HTML頁面表單中的默認文本的最佳方法有兩個字段什麼來顯示textbixes和文字區域

1)除

2)消息

當頁面第一次加載我希望這兩個框顯示消息,如「在此處輸入主題」和「在此處輸入消息」。

我發現,我們可以通過使用文本框的「值」屬性做到這一點,這是?? .. 做什麼選擇我要實現這一目標的最佳方式是什麼?

回答

9

哦,我真的需要完成寫這篇文章的文章。這裏是未磨光的版本:

第一個—描述什麼進入一個字段的消息是不是一個默認值。默認值是可以提交的東西(例如,基於GeoIP輸入的國家或來自客戶記錄的遞送地址)。

第二個—使用默認值作爲假標籤,然後在用戶關注它時擦除它(假定您不希望用戶必須手動刪除該消息)會導致可訪問性問題。屏幕閱讀器會讀出所關注的內容,如果您在關注內容時將其刪除,則無法獲取信息。

最好選項,在我看來,是將一個<label>旁邊的控件。網頁通常不會在空間上很短—滾動條不是邪惡的。

如果你真的希望它看起來像它是那麼控制:

  1. <label><input><div>
  2. 使用JavaScript設置上<div>類(讓你不有一個廢話的經驗是JS不可用)
  3. 應用CSS設置<div>position: relative並給它一個大小。
  4. 製作的<input>transparent和風格它background填補了DIV
  5. Position<label><input>
  6. 寫檢查,看看如果輸入的值是一個空字符串或不是一個函數。根據答案切換div上的課程。
  7. 當這個類上設置在div,設置text-indent到高的負長度(如-999em),使得文本被隱藏關閉屏幕(但仍提供給屏幕閱讀器)
+1

1。創新,清潔和可訪問的解決方案!雖然(這不是一個真正的批評,只是一個觀察),但需要開發人員付出更多的努力 – PatrikAkerstrand 2009-07-02 11:16:52

2

是的,那是最好的方法。然後,您可以使用JavaScript在元素獲得焦點時清空文本輸入/區域。請記住考慮如何處理用戶提交默認文本的情況。即,是「輸入用戶名」是否有效的用戶名?