aria-roledescription

aria-roledescription 属性定义了元素角色的人类可读、作者本地化的描述。

描述

一些辅助技术 (AT),如屏幕阅读器,会在用户体验中呈现元素的角色。aria-roledescription 属性提供了一种方法来定义一个不同的、人类可读的名称,以供 AT 作为元素的角色呈现。

注意:仅使用 aria-roledescription 来澄清非交互式容器角色的用途,并为小部件提供更具体的描述。

用户依赖于已知角色名称的呈现来理解元素的用途,以及如果是小部件,如何与之交互。因此,仅使用 aria-roledescription 来澄清非交互式容器角色(如 groupregion)的用途,并为小部件提供更具体的描述。

aria-roledescription 属性会覆盖 AT 如何本地化和表达角色名称的方式。当您覆盖用户理解的角色名称时,可能会对用户理解和交互元素的能力产生负面影响。

避免使用 aria-roledescription 属性。当某个用例显得特殊,值得使用唯一的 roledescription 时,交互通常可以分解成更小的部分,这些部分具有相关的角色。

当没有语义或 ARIA 小部件角色对应于您的 Widget 的交互模型时,使用 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-brailleroledescription 仅在 aria-roledescription 在盲文呈现时过于冗长的情况下使用。

示例

以下示例展示了使用 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

ariaRoleDescription 属性是 Element 接口的一部分,它反映了 aria-roledescription 属性的值。

ElementInternals.ariaRoleDescription

ariaRoleDescription 属性是 ElementInternals 接口的一部分,它反映了 aria-roledescription 属性的值。

关联角色

所有角色和所有基本标记元素都支持,除了 role="generic"

规范

规范
可访问的富互联网应用程序 (WAI-ARIA)
# aria-roledescription

另请参阅