9

我只是想知道我是否应该期望浏览器和辅助技术在 2015 年 1 月左右以等同于设置 aria-hidden="true" 的方式使用 speak:none。我想指出一些半透明的文本应该被忽略,我想知道我是否可以在一个操作中做到这一点(只需添加一个设置不透明样式的类和 speak:none,而不是添加类并设置aria-hidden 属性)。

4

3 回答 3

9

似乎没有关于支持的可靠数据speak,但似乎没有实现。

独立于执行状态,speak: none等同于.aria-hidden="true"

根据 CSS 语音模块 CR,该speak属性“确定是否以听觉方式呈现文本”,即听觉方式。

根据 ARIA 规范,aria-hidden“表明作者实现的任何用户都不可见或感知元素及其所有后代”(原文为斜体)。

因此,aria-hidden="true"不会导致任何事情;它只是声明作者隐藏了该元素。它涉及所有类型的渲染:可听的、可视的、触觉的,或者未来可能发明的任何形式。

于 2015-01-03T08:01:50.373 回答
2

使用这个组合:

  • 说:从不;
  • speak-as:拼写出来;

说话的价值观

  • auto:只要元素不是 display: block 并且是 visibility:visible,文本就会被听觉读取。
  • 从不:文本不会被听觉阅读
  • always:无论显示值或说话的祖先值如何,都将通过听觉方式阅读文本。

speak-as 的值与 如何阅读文本有关:

  • normal:采用浏览器的默认语音设置。
  • spell-out:指示浏览器拼写属性内容,而不是说出完整的单词。
  • 数字:一次读取一个数字,例如 69 将被读取为“六九”。好的。
  • 文字标点符号:拼出标点符号(如分号),而不是将它们视为停顿。
  • no-punctuation:完全跳过标点符号。
于 2020-11-02T12:33:17.417 回答
-1

为了回答我最初问题的意图——我想知道是否可以添加一个设置不透明样式并禁用屏幕阅读器文本的类,而不是添加类设置 aria-hidden 属性。

我最终做的是设置aria-hidden 属性,然后在我的 css 中使用 [aria-hidden] 而不是类名来设置不透明样式。

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>

于 2018-08-17T14:45:56.150 回答