aria-roledescription
aria-roledescription
属性定义了元素角色的人类可读、作者本地化的描述。
描述
一些辅助技术 (AT),如屏幕阅读器,会在用户体验中呈现元素的角色。aria-roledescription
属性提供了一种方法来定义一个不同的、人类可读的名称,以供 AT 作为元素的角色呈现。
注意:仅使用 aria-roledescription 来澄清非交互式容器角色的用途,并为小部件提供更具体的描述。
用户依赖于已知角色名称的呈现来理解元素的用途,以及如果是小部件,如何与之交互。因此,仅使用 aria-roledescription
来澄清非交互式容器角色(如 group
或 region
)的用途,并为小部件提供更具体的描述。
aria-roledescription
属性会覆盖 AT 如何本地化和表达角色名称的方式。当您覆盖用户理解的角色名称时,可能会对用户理解和交互元素的能力产生负面影响。
避免使用 aria-roledescription
属性。当某个用例显得特殊,值得使用唯一的 roledescription 时,交互通常可以分解成更小的部分,这些部分具有相关的角色。
当没有语义或 ARIA 小部件角色对应于您的 Widget 的交互模型时,使用 role="application"
,使用人类可读、作者本地化的定制角色名称提供 aria-roledescription
,并使用 aria-describedby
提供用户说明。
AT 可能会定制和本地化 ARIA 角色的名称。如果您使用 aria-roledescription
来更改角色名称呈现给用户的方式,请记住处理本地化。当页面被本地化时,值应该被翻译。
更改角色呈现给用户的方式不会影响元素的功能。例如,如果元素的角色是 region
或 button
,当 AT 提供用于导航到下一个区域或按钮的功能时,如果您将 aria-roledescription
设置为 continent
和 escape
,AT 仍然会允许这些功能导航到区域和按钮。
再次强调,避免使用 aria-roledescription
。在这个例子中,escape
对用户没有相关意义,但带有“escape”标签的 button
有意义。
使用 aria-roledescription
时,还要确保应用它的元素具有有效的 ARIA role
或具有隐式角色语义,并且值本身不为空且包含的字符不止是空格字符。
使用 aria-brailleroledescription
时,需要 aria-roledescription
。请注意,通常,aria-brailleroledescription
仅在 aria-roledescription
在盲文呈现时过于冗长的情况下使用。
示例
以下示例展示了使用 aria-roledescription
来指示非交互式容器是基于 Web 的演示应用程序中的“幻灯片”。
<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 |