Is the css setting speak:none now equivalent to ar

2020-07-06 09:04发布

I'm just wondering whether I should expect browsers and assistive technilogy circa January 2015 to use speak:none in a manner equivalent to setting aria-hidden="true". I'd like to indicate that some semi-opaque text should be ignored, and am wondering whether I can do it in one operation (just adding a class that sets the opaque style and speak:none, rather than adding the class and setting the aria-hidden attribute).

2条回答
欢心
2楼-- · 2020-07-06 09:45

To answer the intent of my original question -- I was wondering if I could add a class that sets the opaque style and disables the text from screen readers, rather than add the class and also set the aria-hidden attribute.

What I ended up doing was to set only the aria-hidden attribute, then in my css use [aria-hidden] instead of a class name to set the opaque style.

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>

查看更多
冷血范
3楼-- · 2020-07-06 09:49

There does not seem to be reliable data on support to speak, but it seems to be unimplemented.

Independently of the implementation status, speak: none is not equivalent to aria-hidden="true".

According to the CSS Speech Module CR, the speak property “determines whether or not to render text aurally”, i.e. audibly.

According to the ARIA specification, aria-hidden “indicates that the element and all of its descendants are not visible or perceivable to any user as implemented by the author” (italic in the original).

Thus, aria-hidden="true" does not cause anything; it just declares that the author has hidden the element. And it relates to all kinds of rendering: audible, visible, tactile, or whatever modalities might be invented in the future.

查看更多
登录 后发表回答