我查看了一些代码,其中一个代码的属性为aria-owns
和aria-expanded
。我搜索了他们,并没有找到足够的细节来完全理解他们做了什么。
有人可以解释这些特定属性的使用吗?我对aria属性的作用有一般的了解(我使用过aria-labelledby
)?
答案 0 :(得分:2)
<强>咏叹调-labelledby 强>
aria-labelledby
与aria-label
具有相同的最终结果,即屏幕阅读器将读取该属性的值。不同之处在于aria-label
的值是您要使用的标签,aria-labelledby
属性的值是对不同元素的id引用。该另一个元素的文本值将是第一个元素的标签。
<强>咏叹调-拥有强>
通常,DOM的层次结构暗示了元素的父子关系。但在某些情况下,将元素视为具有与DOM中技术上不同的父元素更有意义,并且“咏叹调”拥有&#39;用于那些情况。
很难描述aria-owns
的一个简单示例,但是当您在代码中查看它时,请将其视为试图告诉您给定小部件的代码如果你认为这个元素是指向它所指向的ID的任何元素的父元素,那就更有意义了。
<强>咏叹调膨胀强>
aria-expanded
更简单。它始终设置为true或false(如果属性不在元素上,则假定为false)。当屏幕阅读器导航到可以展开的元素时(如包含嵌套菜单的菜单项),阅读“aria-expanded&#39;标签让用户知道连接的弹出部分是否被激活。
当用户激活和停用可扩展元素时,开发人员有责任主动管理aria扩展标记的状态。
有很多咏叹调的状态和属性可能令人困惑。文档非常容易导航,基础知识也不复杂,所以不要害怕潜入: https://www.w3.org/TR/wai-aria/states_and_properties
答案 1 :(得分:0)
aria-labelledby
(财产)
# 标识标记当前元素的元素(或元素)。
aria-labelledby
的目的与aria-label的目的相同。它为用户提供了可识别的对象名称。标签的最常见辅助功能API映射是可访问的名称属性。
如果标签文字在屏幕上可见,作者应该使用aria-labelledby
,不应该使用aria-label
。仅当界面不可能在屏幕上显示可见标签时才使用aria-label
。在计算可访问的名称属性时,用户代理优先于aria-labelledby
而不是aria-label
。
aria-labelledby
属性与描述具有aria-describedby
的对象非常相似,其中描述旨在提供某些用户可能需要的其他信息。
请参阅此link