aria-setsize

aria-setsize 屬性定義了當集合中並非所有專案都存在於 DOM 中時,當前一組 listitem 或 treeitem 中專案的數量。

描述

瀏覽器會自動計算一組專案中每個專案的集合大小和位置,例如列表中 <li> 的數量、同名組中 單選按鈕 的數量以及 <select><option> 的數量。輔助技術(如螢幕閱讀器)利用這種狀態管理向用戶報告集合大小。

當 DOM 未完整時,瀏覽器計算集合中專案數量的結果可能不正確。當只有一部分專案(例如列表專案)載入到 DOM 中時,瀏覽器僅根據存在的專案計算專案數量。應使用 aria-setsize 屬性覆蓋瀏覽器的不正確計數。它定義瞭如果整個集合都已載入,則當前一組 listitem 或 treeitem 中專案的數量。

aria-setsize 屬性設定在每個專案上,而不是任何包含元素上。每個專案的值都相同:一個整數,表示完整集合中的專案數量,或者如果集合大小未知,則為 -1。如果所有專案都存在於 DOM 中,則瀏覽器可以計算集合大小和每個專案的位置,從而使 aria-setsizearia-posinset 都變得不必要。

具有 aria-setsize 的元素通常也包含 aria-posinset 屬性,以指示該專案在集合中的位置。aria-posinset 值介於 1aria-setsize 的正值之間。

例如,在頁面的評論部分,當評論並非全部都存在於 DOM 中時(例如,當評論已分頁時),應使用 ARIA 設定評論的層級、評論總數以及每個評論的位置。可以使用 aria-level 指示評論的層次結構級別。組位置資訊由 aria-posinsetaria-setsize 指示。

當 Feed 具有靜態的文章數量時,可以將 aria-setsize 新增到每個文章元素,其值為載入的文章總數或 Feed 中的總數。選擇的值取決於哪個值對使用者最有幫助。如果文章數量非常大、不確定或經常更改,則可以設定 aria-setsize="-1" 以傳達集合大小未知。

listbox 中,當由於滾動時動態載入而導致 DOM 中不存在完整的可用選項集合時,可以在每個 option 上設定 aria-setsizearia-posinset

在樹形檢視中,如果由於使用者移動焦點或滾動樹時動態載入而導致 DOM 中不存在完整的可用節點集合,則每個節點都設定了 aria-levelaria-setsizearia-posinset

在選單中,aria-setsize 設定在所有 menuitemmenuitemcheckboxmenuitemradio 角色上,其值為選單中專案的總數,不包括任何分隔符。

示例

以下示例顯示了 16 個集合中的第 5 到第 8 個專案。

html
<h2 id="label_fruit">Available Fruit</h2>
<ul role="listbox" aria-labelledby="label_fruit">
  <li role="option" aria-setsize="16" aria-posinset="5">apples</li>
  <li role="option" aria-setsize="16" aria-posinset="6">bananas</li>
  <li role="option" aria-setsize="16" aria-posinset="7">cantaloupes</li>
  <li role="option" aria-setsize="16" aria-posinset="8">dates</li>
</ul>

為了引導使用者,輔助技術會將上面的香蕉列為“第 6 項,共 16 項”。

<integer>

完整集合中的專案數量或如果集合大小未知,則為 -1

關聯介面

Element.ariaSetSize

ariaSetSize 屬性(Element 介面的一部分)反映了 aria-setsize 屬性的值。

ElementInternals.ariaSetSize

ariaSetSize 屬性(ElementInternals 介面的一部分)反映了 aria-setsize 屬性的值。

關聯角色

規範

規範
可訪問的富網際網路應用程式 (WAI-ARIA)
# aria-setsize

另請參閱