aria-setsize
aria-setsize 屬性定義了當集合中並非所有專案都存在於 DOM 中時,當前一組 listitem 或 treeitem 中專案的數量。
描述
瀏覽器會自動計算一組專案中每個專案的集合大小和位置,例如列表中 <li> 的數量、同名組中 單選按鈕 的數量以及 <select> 中 <option> 的數量。輔助技術(如螢幕閱讀器)利用這種狀態管理向用戶報告集合大小。
當 DOM 未完整時,瀏覽器計算集合中專案數量的結果可能不正確。當只有一部分專案(例如列表專案)載入到 DOM 中時,瀏覽器僅根據存在的專案計算專案數量。應使用 aria-setsize 屬性覆蓋瀏覽器的不正確計數。它定義瞭如果整個集合都已載入,則當前一組 listitem 或 treeitem 中專案的數量。
aria-setsize 屬性設定在每個專案上,而不是任何包含元素上。每個專案的值都相同:一個整數,表示完整集合中的專案數量,或者如果集合大小未知,則為 -1。如果所有專案都存在於 DOM 中,則瀏覽器可以計算集合大小和每個專案的位置,從而使 aria-setsize 和 aria-posinset 都變得不必要。
具有 aria-setsize 的元素通常也包含 aria-posinset 屬性,以指示該專案在集合中的位置。aria-posinset 值介於 1 和 aria-setsize 的正值之間。
例如,在頁面的評論部分,當評論並非全部都存在於 DOM 中時(例如,當評論已分頁時),應使用 ARIA 設定評論的層級、評論總數以及每個評論的位置。可以使用 aria-level 指示評論的層次結構級別。組位置資訊由 aria-posinset 和 aria-setsize 指示。
當 Feed 具有靜態的文章數量時,可以將 aria-setsize 新增到每個文章元素,其值為載入的文章總數或 Feed 中的總數。選擇的值取決於哪個值對使用者最有幫助。如果文章數量非常大、不確定或經常更改,則可以設定 aria-setsize="-1" 以傳達集合大小未知。
在 listbox 中,當由於滾動時動態載入而導致 DOM 中不存在完整的可用選項集合時,可以在每個 option 上設定 aria-setsize 和 aria-posinset。
在樹形檢視中,如果由於使用者移動焦點或滾動樹時動態載入而導致 DOM 中不存在完整的可用節點集合,則每個節點都設定了 aria-level、aria-setsize 和 aria-posinset。
在選單中,aria-setsize 設定在所有 menuitem、menuitemcheckbox 或 menuitemradio 角色上,其值為選單中專案的總數,不包括任何分隔符。
示例
以下示例顯示了 16 個集合中的第 5 到第 8 個專案。
<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 |