[css-speech] Rename speak: none | normal to speak: never | always · Issue #510 · w3c/csswg-drafts (original) (raw)

What about auto | yes | no?

CSS tries to use open-ended keywords rather than closed boolean values like yes/no due to clarity and future extensibility concerns.

For example, a lot of CSS Speech (especially *-before and *-after) is skewed toward linearized audio presentations (e.g. DAISY ebook reader) rather than critically brief-time-to-utterance screen reader navigation, but some uses may need to to differentiate those contexts. There could be future values that would allow authors to specify relevance when the audio is linearized (e.g. read all) or when the user was actively navigating the content (e.g. screen reader user navigates directly to this element). Similar distinctions might also be made for low-vision zoom+speech users, or for users with reading difficulties like dyslexia. Most platforms offer a "speak text on mouse hover" feature as a first- or third-party utility.

What about these other possibilities for the time being? They leave open the possibility of splitting the all or speak value into more specific contexts later.

speak: auto | all | none speak: auto | speak | none speak: default | all | none speak: default | speak | none

The speak-as property has a normal value, too. Should that also change to auto or default?

PS. Distinguishing "linear audio" from "screen reader" from "mouse hover speech" might be better implemented as media features than values, but I don't want boolean values to preclude them today.

Update 2017-02-01: @atanassov, are you interested in trying to resolve these issues CSS Speech (focused on linearized audio) so that it works for all contexts (assistive tech)? It's not a high priority for me, but I am interested in contributing if there is cross-implementation interest. IIRC, WebKit implements more of CSS-Spech than any other UA.