ARIA 状态及属性
这个页面列出了 MDN 上讨论的所有 WAI-ARIA 属性的参考页面。
ARIA 属性用于修改无障碍树中定义的元素的状态和属性。
备注: ARIA 仅用于修改无障碍树,进而改变辅助技术向用户呈现内容的方式。ARIA 不会改变元素的功能或行为。当使用非语义化的 HTML 元素来实现其他功能时,你必须使用 JavaScript 来控制元素的实际行为、焦点以及 ARIA 状态。
ARIA 特性类别
ARIA 的状态和属性(合称为“特性”)共有 4 类:
-
小部件(widget)特性
aria-autocomplete
aria-checked
aria-disabled
aria-errormessage
aria-expanded
aria-haspopup
aria-hidden
aria-invalid
aria-label
aria-level
aria-modal
aria-multiline
aria-multiselectable
aria-orientation
aria-placeholder
aria-pressed
aria-readonly
aria-required
aria-selected
aria-sort
aria-valuemax
aria-valuemin
aria-valuenow
aria-valuetext
-
活动区域特性
-
拖放特性
-
关系特性
全局 ARIA 特性
无论是否应用了 ARIA 角色,某些状态和属性始终适用于所有的 HTML 元素。它们被定义为“全局”特性。所有角色和基本标记元素都支持全局状态和属性。
上面所列出的许多特性都是全局的,这意味着除非被“特别禁止”,它们可以被包含在任意的元素中:
aria-atomic
aria-busy
aria-controls
aria-current
aria-describedby
aria-description
aria-details
aria-disabled
aria-dropeffect
aria-errormessage
aria-flowto
aria-grabbed
aria-haspopup
aria-hidden
aria-invalid
aria-keyshortcuts
aria-label
aria-labelledby
aria-live
aria-owns
aria-relevant
aria-roledescription
除了 aria-label
和 aria-labelledby
这两个被“特别禁止”的属性,其他属性是全局适用的。这两个被“特别禁止”的属性无法在具有 presentation
角色或与其同义的 none
角色的元素上使用。
MDN 上介绍的状态和属性
以下是 MDN 上介绍的 WAI-ARIA 状态和属性。
- Using the aria-labelledby attribute
aria-labelledby
属性用来表明某些元素的 id 是某一对象的标签。它被用来确定控件或控件组与它们标签之间的联系。使用诸如屏幕阅读器等辅助技术的用户通常使用 tabbing 在页面的不同区域间进行导航。如果一个输入元素、控件或控件组没有被分配一个 label 标签,那么屏幕阅读器就无法对其进行阅读。本文用来说明如何使用 aria-hidden 属性。aria-hidden 属性可以用来控制一系列可访问 API 中的非交互内容的显示或隐藏。
- 使用 aria-label 属性
aria-label 属性用来给当前元素加上的标签描述,接受字符串作为参数。是用不可视的方式给元素加 label(如果被描述元素存在真实的描述元素,可使用 aria-labelledby 属性作为来绑定描述元素和被描述元素来代替)。