選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP How to W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

可訪問性 標籤


為什麼

標籤對於盲人使用者、低視力使用者、行動不便使用者以及有記憶障礙的使用者都至關重要。缺少標籤將導致許多使用者無法訪問表單。


什麼

視覺標籤是位於表單控制元件附近的文字,用於描述哪些資訊屬於給定的表單欄位或一組欄位。每個標籤必須以程式設計方式與表單控制元件或控制元件組關聯。標籤不一定是 <label> 元素。


如何操作

你將學習如何使用 <label>aria-label<legend>


The <label>

<label> 標籤定義了多個元素的標籤,例如 <input><select><textarea>。 

Screenshot from Vodafone order form, showing one select and one email input.

在這個 Vodafone 的示例中,我們有一個 <select> 和一個 <input type="email">,每個都帶有一個描述性的 <label>

<label for="customerType">今天你是為誰購買?</label>
<select name="customerType" id="customerType">

請注意上面示例中 <label> 元素的使用。

<label> 元素對螢幕閱讀器使用者很有用,因為當用戶將焦點放在輸入元素上時,螢幕閱讀器會朗讀標籤。

<label> 元素還有助於那些難以點選很小區域(如單選按鈕或複選框)的使用者——因為當用戶點選 <label> 元素內的文字時,它會切換單選按鈕或複選框。

<label> 標籤的 for 屬性應等於 <input> 元素的 id 屬性,以便將它們繫結在一起

必填欄位

表單標籤通常包含“*”或“required”字樣,以指示該欄位是必填的。這兩種方法都可以。但是,如果你使用星號(*),建議將 requiredaria-required="true" 新增到表單控制元件中。

Screenshot from Optus, showing a required email field.

<label for="email">你的電子郵件地址 *</label>
<input id="email" name="email" required aria-required="true" placeholder="Email" required="">  



The aria-label

沒有視覺標籤的欄位仍然需要標籤。如果無法使用 <label>,一種選擇是使用 aria-label。 

Screenshot from a search field from Vodafone, with no label on top.

此搜尋欄位有佔位符,但沒有標籤。佔位符不是有效的可訪問名稱。你不能依賴它作為替代。一個簡單的解決方案是新增 aria-label="Enter search term"

<input placeholder="Enter search term" aria-label="Enter search term">


The <legend>

表單控制元件組,如複選框和單選按鈕,通常除了 <label> 之外,還需要更高級別的“標籤”。這個高級別的“標籤”是用 <fieldset><legend> 建立的。

Screenshot from the Optus registration form, showing date of birth with three form controls.

此登錄檔單包含三個用於提供出生日期的表單控制元件。視覺上,讓日、月、年都與“你的出生日期”相關是合理的。對於螢幕閱讀器使用者來說,這種關聯並不明顯。我們不能在這裡使用 <label>。標籤是日、月、年。解決方案是新增一個 <fieldset> 和一個 <legend>

<fieldset>
  <legend>你的出生日期</legend>
  <label for="dobDay">日</label>
  <select id="dobDay">…</select>
  <label for="dobMonth">月</label>
  <select id="dobMonth">…</select>
  <label for="dobYear">年</label>
  <input id="dobYear" type="text" placeholder="YYYY">
</fieldset>

想製作高效的表單?瞭解 autocomplete



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援