我有一个具有里程碑意义的元素(互补),需要aria-label / aria-labelledBy。该元素有几个可聚焦的子元素,其中包含需要由屏幕阅读器读取的文本。
有没有办法阻止屏幕阅读器读取父元素的aria-label,同时不阻止孩子被阅读?
编辑
对于此代码:
<div id="parent-element" role="complementary" aria-label="some text" tabindex="0">
<div id="child-element1" tabindex="0">I'm the first child</div>
<div id="child-element2" tabindex="0">I'm the second child</div>
</div>
当专注于父元素时,屏幕阅读器会读到“一些文字我是第一个孩子,我是第二个孩子”。
我正在使用IBM的“动态评估插件”来评估我的网站。
这是我得到的违规行为:comlementary role must have aria label
我不希望它读取“某些文本”,但如果我希望网站通过辅助功能评估工具,我必须使用aria-label。
具有complementary
角色的元素不需要aria-label/aria-labelledby
。
只要保留此属性,就可以预期屏幕阅读器会忽略内容并读取该属性。
编辑:没有官方规格表明有aria-label
的义务,但根据W3C你有多个补充地标you should have a unique label。请注意,“应该”非常重要,因为这不是“必须”(在实践中非常无用)
ARIA示例:多个互补地标当页面上有多个互补地标时,每个地标应具有唯一标签。
工具只是一种工具,评估工具非常不完善。