Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSS seems to be missing "speak" #218

Open
tommai78101 opened this issue Apr 30, 2018 · 9 comments
Open

CSS seems to be missing "speak" #218

tommai78101 opened this issue Apr 30, 2018 · 9 comments
Labels
idle Issues and pull requests with no activity for three months.

Comments

@tommai78101
Copy link

Here's where the CSS standard is defined:

https://www.w3.org/TR/CSS21/aural.html#speaking-props

It's missing the following:

.foo{
  speak: none;
  speak: normal;
  speak: spell-out
}
@frenic
Copy link
Contributor

frenic commented Apr 30, 2018

This seems to be the latest revision. pause, cue, rest etc. are missing too. Not sure which browsers supports these properties though.

@tommai78101
Copy link
Author

tommai78101 commented Apr 30, 2018

Yeah, even caniuse.com couldn't help on this. I know for sure these are used for Text-to-Speech and voice readers. Maybe Microsoft Edge, since there's Cortana integration.

@frenic
Copy link
Contributor

frenic commented Apr 30, 2018

Edge and Firefox doesn't seem to know speak or any other of the CSS Speech properties. Chrome however knows speak. But some values refers to the speak-as spec, not the official speak. I've no clue why, if this comes from an early spec or if it's a bug.

image

@tommai78101
Copy link
Author

tommai78101 commented May 1, 2018

If it's from an earlier spec, I guess it's a bug, since it's not detecting the right word?

Since Chrome has it, maybe Firefox and Edge should have it?

The only thing I would wholeheartedly agree on, is to get more people to discuss, so we can all have differing ideas.

@cmxl
Copy link

cmxl commented Oct 14, 2020

Adoption seems to be pretty wide-spread:
https://caniuse.com/?search=speak

Some update on this issue?

@SebastianZ
Copy link
Contributor

SebastianZ commented Mar 19, 2021

I've dug a little into this topic.

Specifications

There are actually two different definitions for speak. In CSS 2.1 (and CSS 2.2) it is defined as

normal | none | spell-out | inherit

And in CSS Speech 1 it is

auto | never | always

CSS Speech 1 additionally defines a speak-as property which has the following values

normal | spell-out || digits || [ literal-punctuation | no-punctuation ]

Additionally, CSS 2 has this note at the top of that section:

This chapter is informative. UAs are not required to implement the properties of this chapter in order to conform to CSS 2.2.

and CSS Speech 1 says this:

The CSS Speech module is a re-work of the informative CSS2.1 Aural appendix ... it doesn't actually define the corresponding properties.

This makes CSS Speech 1 the official specification for speak and related properties.

Implementations

Chromium based browsers obviously recognize a speak property which seems to be a mixture of both speak and speak-as, and by that are not compliant with the specification.

Furthermore, none of the browsers I've tested (on a Windows desktop machine) actually supports the property natively, that means they either don't have a reader mode at all (Chrome 89, Opera 74) or their reader mode doesn't interpret the values (Edge 89).

Firefox doesn't recognize the speak property at all. What it does support, though (according to the compatibility table) is the speak-as descriptor of the @counter-style rule. I couldn't find a proper test case to verify that, though.

Also, I don't know whether Safari supports speak. Maybe someone else could test it.

So, as far as I can see it, none of the main (desktop) browsers actually supports the speak property natively at the moment. Aside from browsers themselves, external screen reader software might interpret a specified speak or speak-as property.

Conclusion

Pages for speak and the other CSS properties should probably be created as they are part of the web standards. Though they don't seem to be supported by any browsers, probably just by dedicated screen readers.

Sebastian

@SebastianZ
Copy link
Contributor

@cmxl wrote:

Adoption seems to be pretty wide-spread:
https://caniuse.com/?search=speak

Some update on this issue?

None of the entries on caniuse.com actually refers to the speak CSS property, only to the mentioned speak-as descriptor of the @counter-style rule or JavaScript APIs. And for those there are already pages on MDN web docs (to which caniuse.com even links to).

Sebastian

@OmgImAlexis
Copy link

@SebastianZ guessing currently the suggestion is to just avoid using speak until everyone settles on an implementation?

@SebastianZ
Copy link
Contributor

@OmgImAlexis Well, as I wrote earlier, screen readers might interpret it properly, though I have no experience with them. Browsers still need to fix or add their implementations related to the speak property and the speak-as descriptor.

For what it's worth, I've just created a few issues for Chromium and Firefox:

I also found a few related issues:

Happy New Year to you all!

Sebastian

@github-actions github-actions bot added the idle Issues and pull requests with no activity for three months. label Jan 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idle Issues and pull requests with no activity for three months.
5 participants