ARIA:aria-roledescription 屬性

aria-roledescription 屬性定義了一個人類可讀的、作者本地化的元素角色的描述。

描述

某些輔助技術(Assistive Technologies,AT),例如螢幕閱讀器,會將元素的角色作為使用者體驗的一部分進行呈現。aria-roledescription 屬性提供了一種方法,可以定義一個由 AT 作為元素角色呈現的、不同的人類可讀名稱。

注意: 僅在需要闡明非互動式容器角色的用途,或為小部件提供更具體的描述時,才使用 aria-roledescription。

使用者依賴於已知角色名稱的呈現來理解元素的用途,以及(如果是小部件)如何與它進行互動。因此,僅在需要闡明 groupregion 等非互動式容器角色的用途,或為小部件提供更具體的描述時,才使用 aria-roledescription

aria-roledescription 屬性會覆蓋 AT 本地化和表達角色名稱的方式。當您覆蓋使用者理解的角色名稱時,可能會對使用者理解和與元素互動的能力產生負面影響。

避免使用 aria-roledescription 屬性。當出現一個用例特別值得擁有一個獨特的角色描述時,這些互動通常可以分解成具有相關角色的更小的部分。

當沒有與您小部件的互動模型相對應的語義或 ARIA 小部件角色時,請使用 role="application",提供一個具有人類可讀的、作者本地化的自定義角色名稱的 aria-roledescription,並使用 aria-describedby 提供使用者說明。

AT 可能會自定義和本地化 ARIA 角色的名稱。如果您使用 aria-roledescription 來改變角色名稱向用戶呈現的方式,請記住處理本地化。當頁面被本地化時,該值應被翻譯。

改變角色向用戶呈現的方式不會影響元素的 [功能]。例如,如果一個元素的角色是 regionbutton,當 AT 提供導航到下一個區域或按鈕的功能時,如果您分別將 aria-roledescription 設定為 continentescape,AT 仍然會允許這些功能導航到區域和按鈕。

再次強調,避免使用 aria-roledescription。在此示例中,escape 對使用者沒有實際意義,但帶有“escape”作為標籤的 button 卻有。

使用 aria-roledescription 時,還要確保應用它的元素具有有效的 ARIA role 或具有隱式角色語義,並且該值本身不為空,並且包含的不僅僅是空白字元。

使用 aria-brailleroledescription 時,aria-roledescription 是必需的。請注意,通常情況下,只有在 aria-roledescription 在盲文渲染時過於冗長的情況下,才應在極少數情況下使用 aria-brailleroledescription

示例

以下示例顯示了 aria-roledescription 的用法,用於指示一個非互動式容器是基於 Web 的演示應用程式中的一個“幻燈片”。

html
<div
  role="article"
  aria-roledescription="slide"
  id="slide"
  aria-labelledby="slideheading">
  <h1 id="slideheading">Quarterly Report</h1>
  <!-- remaining slide contents -->
</div>

在之前的示例中,螢幕閱讀器使用者可能會聽到“季度報告,幻燈片”,而不是不太精確的“季度報告,文章”。

<string>

一個非空字串,一個不受約束的值型別,包含的不僅僅是空白字元。

相關介面

Element.ariaRoleDescription

Element 介面的一部分 ariaRoleDescription 屬性反映了 aria-roledescription 屬性的值。

ElementInternals.ariaRoleDescription

ElementInternals 介面的一部分 ariaRoleDescription 屬性反映了 aria-roledescription 屬性的值。

相關角色

被所有角色和所有基礎標記元素支援,但 role="generic" 除外。

規範

規範
無障礙富網際網路應用程式 (WAI-ARIA)
# aria-roledescription

另見