5

我正在查看一些代码,其中一个标签具有属性aria-owns, 和aria-expanded. 我用谷歌搜索了它们,但没有找到足够的细节来完全理解它们的作用。

有人可以解释这些特定属性的用途吗?我对 aria 属性的作用有一个大致的了解(我使用过aria-labelledby)?

4

2 回答 2

3

咏叹调-labelledby

aria-labelledby与 具有相同的最终结果aria-label,即屏幕阅读器将读取属性的值。区别在于an的值aria-label是你要使用的标签,而aria-labelledby属性的值是对不同元素的id引用。该其他元素的文本值将是第一个元素的标签。

咏叹调拥有

通常,元素的父子关系是由 DOM 的层次结构隐含的。但在某些情况下,将元素视为具有不同于技术上在 DOM 中的父级更有意义,并且在这些情况下使用“aria-owns”。

很难为 描述一个简单的示例aria-owns,但是当您在代码中查看它时,将其视为代码试图告诉您,如果您将此元素视为任何元素的父级,则给定的小部件更有意义它指向谁的ID。

咏叹调扩展

aria-expanded更简单。它始终设置为 true 或 false(如果属性不在元素上,则假定为 false)。当屏幕阅读器导航到可以展开的元素(如包含嵌套菜单的菜单项)时,读取“aria-expanded”标签可让用户知道连接的弹出部分是否已激活。

开发人员有责任在用户激活和停用可扩展元素时主动管理 aria 扩展标签的状态。

有很多 aria 状态和属性可能会令人困惑。这些文档非常容易浏览,基础知识也不太复杂,所以不要害怕潜入: https ://www.w3.org/TR/wai-aria/states_and_properties

于 2016-10-03T22:09:03.947 回答
1

aria-labelledby(财产)

# 标识标记当前元素的元素(或多个元素)。

的目的与aria-labelledbyaria-label 的目的相同。它为用户提供了一个可识别的对象名称。标签最常见的可访问性 API 映射是可访问性名称属性。

如果标签文本在屏幕上可见,作者应该使用aria-labelledby并且不应该使用aria-label. aria-label仅当界面无法在屏幕上显示可见标签时使用。计算可访问名称属性时,aria-labelledby用户代理优先。aria-label

aria-labelledby属性与用 描述对象非常相似aria-describedby,其中描述旨在提供某些用户可能需要的附加信息。

看到这个链接

于 2013-11-19T05:03:19.037 回答