aria-owns
和aria-expanded
。我在谷歌上搜索了一下,但没有找到足够详细的信息来完全理解它们的作用。请问有人能解释一下这些特定属性的用途吗?我对aria属性有一般的了解(我使用过
aria-labelledby
)。aria-owns
和aria-expanded
。我在谷歌上搜索了一下,但没有找到足够详细的信息来完全理解它们的作用。aria-labelledby
)。aria-labelledby
aria-labelledby
与aria-label
有相同的最终效果,即属性的值将被屏幕阅读器读取。区别在于,aria-label
的值是您想要使用的标签,而aria-labelledby
属性的值是对另一个元素的id引用。那个其他元素的文本值将作为第一个元素的标签。
aria-owns
通常,元素的父子关系由DOM的层次结构暗示。但在某些情况下,更明智的做法是将元素视为具有不同于DOM技术上的父级,并且'aria-owns'用于这些情况。
很难为aria-owns
描述一个简单的例子,但当您在代码中查看它时,请将其视为代码尝试告诉您,如果您认为指向其ID的任何元素的这个元素是父级,则给定小部件会更有意义。
aria-expanded
aria-expanded
更简单。它始终设置为true或false(如果该属性不在元素上,则假定为false)。当屏幕阅读器导航到可以扩展的元素(例如包含嵌套菜单的菜单项)时,读取'aria-expanded'标记可让用户知道连接的弹出部分是否已激活。
开发人员有责任积极管理aria-expanded标记的状态,以便用户激活和停用可展开元素。
有许多可能会令人困惑的aria状态和属性。文档非常易于导航,基础知识也不太复杂,因此请不要害怕深入研究: https://www.w3.org/TR/wai-aria/states_and_properties
aria-labelledby
(属性)
# 标识当前元素的标签元素(或多个元素)。
aria-labelledby
的目的与 aria-label
相同。它为用户提供了对象的可识别名称。对于标签,最常见的可访问性 API 映射是可访问名称属性。
如果标签文本在屏幕上可见,则作者应使用 aria-labelledby
,而不应使用 aria-label
。只有当界面无法显示标签时,才使用 aria-label
。用户代理在计算可访问名称属性时优先考虑 aria-labelledby
而非 aria-label
。
aria-labelledby
属性与使用 aria-describedby
描述对象非常相似,其中描述旨在为某些用户提供附加信息。
请参见 link