ARIA:aria-roledescription 属性
aria-roledescription 属性定义了一个人类可读的、作者本地化的元素角色的描述。
描述
某些辅助技术(Assistive Technologies,AT),例如屏幕阅读器,会将元素的角色作为用户体验的一部分进行呈现。aria-roledescription 属性提供了一种方法,可以定义一个由 AT 作为元素角色呈现的、不同的人类可读名称。
注意: 仅在需要阐明非交互式容器角色的用途,或为小部件提供更具体的描述时,才使用 aria-roledescription。
用户依赖于已知角色名称的呈现来理解元素的用途,以及(如果是小部件)如何与它进行交互。因此,仅在需要阐明 group 或 region 等非交互式容器角色的用途,或为小部件提供更具体的描述时,才使用 aria-roledescription。
aria-roledescription 属性会覆盖 AT 本地化和表达角色名称的方式。当您覆盖用户理解的角色名称时,可能会对用户理解和与元素交互的能力产生负面影响。
避免使用 aria-roledescription 属性。当出现一个用例特别值得拥有一个独特的角色描述时,这些交互通常可以分解成具有相关角色的更小的部分。
当没有与您小部件的交互模型相对应的语义或 ARIA 小部件角色时,请使用 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-roledescription 在盲文渲染时过于冗长的情况下,才应在极少数情况下使用 aria-brailleroledescription。
示例
以下示例显示了 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-
Element接口的一部分属性反映了ariaRoleDescriptionaria-roledescription属性的值。 ElementInternals.ariaRoleDescription-
ElementInternals接口的一部分属性反映了ariaRoleDescriptionaria-roledescription属性的值。
相关角色
被所有角色和所有基础标记元素支持,但 role="generic" 除外。
规范
| 规范 |
|---|
| 无障碍富互联网应用程序 (WAI-ARIA) # aria-roledescription |