我在想,是否可以期望2015年1月左右的浏览器和辅助技术使用 speak:none 的方式等效于设置 aria-hidden="true"。我想表明一些半透明文本应该被忽略,想知道我是否可以通过一个操作完成(只需添加一个设置不透明样式和 speak:none 的类,而不是添加类并设置 aria-hidden 属性)。
我在想,是否可以期望2015年1月左右的浏览器和辅助技术使用 speak:none 的方式等效于设置 aria-hidden="true"。我想表明一些半透明文本应该被忽略,想知道我是否可以通过一个操作完成(只需添加一个设置不透明样式和 speak:none 的类,而不是添加类并设置 aria-hidden 属性)。
目前似乎没有可靠的支持speak
的数据,但它似乎还未实现。
无论实现状态如何,speak:none
与aria-hidden =“true”
并不相等。
根据CSS Speech Module CR,speak
属性“确定是否将文本呈现为声音”,即可听到。
根据ARIA规范,aria-hidden
“表示作者根据其实现方式使元素及其所有后代对任何用户都不可见或可感知”(原文中的斜体)。
因此,aria-hidden=“true”
并不会导致任何事情,它只是声明了作者已隐藏了元素。它涉及所有类型的渲染:声音、可见、触觉或可能在未来发明的所有模式。
role=presentation
。 - Jukka K. Korpelarole=presentation
并不意味着文本内容是无关/无意义的;它只意味着应该忽略标签本身的语义:例如,<button role="presentation">OK</button>
将被视为纯文本“OK”或<span>OK</span>
,而不是一个按钮。 - BrendanMcKdisplay: none
,以便在任何非视觉媒体上都能实现。 - Jukka K. Korpelaaria-hidden="true"
并不能阻止键盘聚焦于元素,因此仅仅在某物上贴上aria-hidden="true"
并不能使其满足无障碍要求。当您将菜单或某些内容设置为不透明时,您还需要将隐藏元素内的所有交互元素设置为tabindex="-1"
。 - Daniel Tonon使用此组合:
speak的值
speak-as的值 与speak相关,涉及到文本的朗读方式:
p[aria-hidden="true"] {
opacity: 0.3;
pointer-events: none;
user-select: none;
cursor: default;
}
<p aria-hidden="true">Ignore this text!</p>
<p>See this text!</p>