ARIA: option 角色

option 角色用於 listbox 中可選擇的條目。

描述

option 角色用於識別使用者可以在 listbox 中進行的選擇。這些選項類似於 <select> 元素中的 <option> 元素,但它們可以包含影像。

所有可選擇的選項都應將 aria-selected 與其狀態匹配,選中時為 true,未選中時為 false。如果選項不可選,可以省略 aria-selected。停用的選項可以具有 aria-disabled="true"aria-selected="false",以告知使用者該選項存在,儘管被停用。

option 角色用於識別 listbox 的可選擇選項。選項必須提供可訪問的名稱。通常,選項的可訪問名稱應來自元素的後代內容。

作者也可以透過為具有 option 角色的元素指定 aria-labelaria-labelledby 來顯式提供可訪問的名稱。如果使用 aria-labelaria-labelledby,並且選項還顯示可見的文字標籤,作者必須確保他們遵守 WCAG 成功標準 2.5.3 名稱中的標籤

強烈建議在可能的情況下使用 <select> 元素或帶有 checkboxradio 型別的 <input> 元素。這些原生的 HTML 元素會自動為您提供鍵盤互動性來管理所有後代的焦點。

所有後代都是展示性的

某些使用者介面元件在平臺輔助功能 API 中表示時,只能包含文字。輔助功能 API 無法表示 option 中包含的語義元素。為了解決此限制,瀏覽器會自動將 presentation 角色應用於任何 option 元素的後代元素,因為它是一個不支援語義子級的角色。

例如,考慮以下包含標題的 option 元素。

html
<div role="option"><h3>Title of my option</h3></div>

由於 option 的後代是呈現性的,以下程式碼是等效的:

html
<div role="option"><h3 role="presentation">Title of my option</h3></div>

從輔助技術使用者的角度來看,標題不存在,因為前面的程式碼片段在輔助功能樹中等同於以下內容:

html
<div role="option">Title of my option</div>

關聯的 ARIA 角色、狀態和屬性

關聯的角色

listbox

option 必須 包含在 listbox 中或由 listbox 擁有。

狀態和屬性

aria-selected

用於描述選項的選中狀態。必需。

aria-checked

用於描述當選項用於多選時,其選中狀態。支援 truefalsemixed。可選。

aria-posinset

用於描述選項集中的位置,當它與 DOM 不匹配時,例如虛擬滾動,一次只存在部分選項。可選。

aria-setsize

aria-posinset 結合使用,宣告選項的總數。可選。

aria-disabled

用於指示選項存在但不可編輯。可選。

aria-hidden

用於將選項隱藏起來,不讓輔助功能工具訪問。它僅應用於隱藏非可見內容,或隱藏可見內容以改善輔助技術的體驗,例如冗餘內容。可選。

aria-invalid

用於指示應用程式認為選項的值無效。可選。

aria-busy

用於指示元素正在被修改,例如在載入過程中。可選。

aria-labelledby

用於指示哪個元素為選項提供了標籤。在適當的情況下,應使用選項的內容代替。可選。

aria-label

用於標記選項。如果標籤存在於 DOM 中,則應改用 aria-labelledby。可選。

規範

規範
無障礙富網際網路應用程式 (WAI-ARIA)
# option
未知規範

另見