First I want to share how excited I am that there's a CSS Speech module. Considering that language originates in the verbal form and that most writing systems are based on the verbal form, I think it's long-overdue that we address how content can be consumed this way. Tone and stress are significant aspects of communication and think this module will help ensure that users don't experience a loss of information.
With that consideration, I would like to suggest / request two things:
Problem: Information loss in spoken modality due to lack of stress and tone
Solution: We allow the default visual distinctions of certain phrasing elements inform some default auditory distinctions:
em : voice-stress: moderate
strong : voice-stress: strong
mark : voice-stress: strong; voice-pitch: high
small, sub, sup : voice-stress: reduced
i, q: voice-balance: leftwards; pause: weak;
i : voice-rate: slow (an unbalanced slow voice with a pause could reflect alternate thoughts and transliterations)
dfn, dt: voice-rate: slow; pause: weak;
del,s,strike: voice-range: low; voice-volume: x-soft (less range and much softer, indicating contrast to regular)
ins: voice-range: medium; voice-volume: soft `
u: voice-balance: rightwards; ¿¿speak-as: spell-out??; voice-rate: slow; (unbalance slow voice indicating it's annotated in someway. especially if spelled out)
pre, code, var, samp, data: voice-range: x-low (monotone could be similar to monospace)
kbd, data: speak-as: literal-punctuation; (guarantees that !.; are read aloud)
var, samp: voice-pitch: low
var: pause: weak
samp: voice-stress: moderate
abbr: speak-as: spell-out
Problem: We don't have a way define default and alternate voice styles
Certain elements carry semantics that communicate, "not the narrator's original words / phrasing" such as:
We recognize quoted text in narrations because the narrator has altered their voice. Whether they read the text higher, lower, more feminine or masculine, or with a different accent. The narrator alters their dictation to indicate, "this is not the narrator's voice."
While we have all of the individual parts for a "narrator voice" and "non-narrator voice", we don't have a way to point the whole collection of attributes together so that we can apply them.
Solution: A @voice-character at-rule and/or reading-style property
I could see something like how we use @keyframes and animation to define a set of attributes and apply them to an element:
@voice-character Narrator {
voice-family: young neutral;
voice-stress: normal;
voice-pitch: medium;
voice-range: medium;
}
@voice-character Excerpt {
voice-family: old neutral;
voice-stress: moderate;
voice-pitch: high;
voice-balance: leftwards;
}
@voice-character Code {
voice-family: young neutral;
voice-stress: none;
voice-range: x-low;
}
body {
reading-style: Narrator;
}
q, blockquote {
reading-style: Excerpt;
}
pre, code, var, samp, data {
reading-style: Code;
}
First I want to share how excited I am that there's a CSS Speech module. Considering that language originates in the verbal form and that most writing systems are based on the verbal form, I think it's long-overdue that we address how content can be consumed this way. Tone and stress are significant aspects of communication and think this module will help ensure that users don't experience a loss of information.
With that consideration, I would like to suggest / request two things:
Problem: Information loss in spoken modality due to lack of stress and tone
Solution: We allow the default visual distinctions of certain phrasing elements inform some default auditory distinctions:
em:voice-stress: moderatestrong:voice-stress: strongmark:voice-stress: strong; voice-pitch: highsmall, sub, sup:voice-stress: reducedi, q:voice-balance: leftwards; pause: weak;i:voice-rate: slow(an unbalanced slow voice with a pause could reflect alternate thoughts and transliterations)dfn, dt:voice-rate: slow; pause: weak;del,s,strike:voice-range: low; voice-volume: x-soft(less range and much softer, indicating contrast to regular)ins:voice-range:medium; voice-volume: soft `u:voice-balance: rightwards; ¿¿speak-as: spell-out??; voice-rate: slow;(unbalance slow voice indicating it's annotated in someway. especially if spelled out)pre, code, var, samp, data:voice-range: x-low(monotone could be similar to monospace)kbd, data:speak-as: literal-punctuation;(guarantees that !.; are read aloud)var, samp:voice-pitch: lowvar:pause: weaksamp:voice-stress: moderateabbr:speak-as: spell-outProblem: We don't have a way define default and alternate voice styles
Certain elements carry semantics that communicate, "not the narrator's original words / phrasing" such as:
qblockquotesampWe recognize quoted text in narrations because the narrator has altered their voice. Whether they read the text higher, lower, more feminine or masculine, or with a different accent. The narrator alters their dictation to indicate, "this is not the narrator's voice."
While we have all of the individual parts for a "narrator voice" and "non-narrator voice", we don't have a way to point the whole collection of attributes together so that we can apply them.
Solution: A
@voice-characterat-rule and/orreading-stylepropertyI could see something like how we use
@keyframesandanimationto define a set of attributes and apply them to an element: