- From: Daniel Weck via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 07 Jun 2011 08:22:32 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-speech In directory hutz:/tmp/cvs-serv14651 Modified Files: Overview.html Overview.src.html Log Message: fixed voice family names (now matches font-family and allows spaces) added list bullet nesting level announcement. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-speech/Overview.html,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- Overview.html 6 Jun 2011 21:51:31 -0000 1.55 +++ Overview.html 7 Jun 2011 08:22:30 -0000 1.56 @@ -90,13 +90,13 @@ <h1 id=top>CSS Speech Module</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 06 June 2011</h2> + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 07 June 2011</h2> <dl> <dt>This version: <dd> - <!--<a href="http://www.w3.org/TR/2011/WD-css3-speech-20110606">http://www.w3.org/TR/2011/ED-css3-speech-20110606/</a>--> + <!--<a href="http://www.w3.org/TR/2011/WD-css3-speech-20110607">http://www.w3.org/TR/2011/ED-css3-speech-20110607/</a>--> <a href="http://dev.w3.org/csswg/css3-speech">http://dev.w3.org/csswg/css3-speech</a> @@ -454,8 +454,7 @@ <p class="peter"> <span class="special">Can you hear me ?</span> I am Peter. -</p> - </pre> +</p></pre> </div> <h2 id=aural-model><span class=secno>2. </span>The <dfn @@ -1098,8 +1097,7 @@ <div class=example> <pre> -p { pause: none } /* pause-before: none; pause-after: none */ - </pre> +p { pause: none } /* pause-before: none; pause-after: none */</pre> </div> <h3 id=pause-props-pause><span class=secno>5.2. </span>The ‘<a @@ -1166,8 +1164,7 @@ <pre> h1 { pause: 20ms; } /* pause-before: 20ms; pause-after: 20ms */ h2 { pause: 30ms 40ms; } /* pause-before: 30ms; pause-after: 40ms */ -h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */ - </pre> +h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */</pre> </div> <h3 id=collapsing><span class=secno>5.3. </span>Collapsing pauses</h3> @@ -1608,8 +1605,7 @@ cue-after: url(../clips-2/pop.au) 6dB; } -div.caution { cue-before: url(./audio/caution.wav) +8dB; } - </pre> +div.caution { cue-before: url(./audio/caution.wav) +8dB; }</pre> </div> <h3 id=cue-props-cue><span class=secno>7.2. </span>The ‘<a @@ -1681,8 +1677,7 @@ h1 { cue: url(pop.au); -} - </pre> +}</pre> </div> <h2 id=voice-char-props><span class=secno>8. </span>Voice characteristic @@ -1702,9 +1697,9 @@ <tr> <td> <em>Value:</em> - <td> [[[<name> | [<age>? <gender>]] <non-negative - number>?],]* [[<name> | [<age>? <gender>]] - <non-negative number>?] | preserve | inherit + <td> [[<name> | [<age>? <gender> <non-negative + number>?]],]* [<name> | [<age>? <gender> + <non-negative number>?]] | preserve | inherit <tr> <td> <em>Initial:</em> @@ -1756,11 +1751,51 @@ <dd> <p>Values are specific voice instances (e.g., Mike, comedian, mary, - carlos, "valley-girl"). For compatibility with SSML, voice names do not - contain whitespace characters, and any whitespace characters before or - after the voice name are ignored. Values can be quoted, and indeed must - be quoted if any of the words that make up the name does not conform to - the syntax rules for <a href="#identifier-def">identifiers</a>.</p> + carlos2, "valley girl"). Voice names must either be given quoted as <a + href="#strings-def">strings</a>, or unquoted as a sequence of one or + more <a href="#identifier-def">identifiers</a>.</p> + + <p class=note>Note that as a result, most punctuation characters, or + digits at the start of each token, must be escaped in unquoted voice + names. For example, the following declarations are invalid:</p> + + <div class=example> + <pre> +voice-family: john/doe; /* forward slash character should be escaped */ +voice-family: john "doe"; /* identifier sequence cannot contain strings */ +voice-family: john!; /* exclamation mark should be escaped */ +voice-family: john@doe; /* "at" character should be escaped */ +voice-family: #john; /* identifier cannot start with hash character */ +voice-family: john 1st; /* identifier cannot start with digit */</pre> + </div> + + <p> If a sequence of identifiers is given as a voice name, the computed + value is the name converted to a string by joining all the identifiers + in the sequence by single spaces.</p> + + <p> Voice names that happen to be the same as the gender keywords + (‘<code class=property>male</code>’, ‘<code + class=property>female</code>’ and ‘<code + class=property>neutral</code>’) or that happen to match the + keywords ‘<code class=property>inherit</code>’ or + ‘<code class=property>preserve</code>’ must be quoted to + disambiguate with these keywords. The keywords ‘<code + class=property>initial</code>’ and ‘<code + class=property>default</code>’ are reserved for future use and + must also be quoted when used as voice names.</p> + + <p class=note> Note that to avoid mistakes in escaping, it is recommended + to quote voice names that contain white space, digits, or punctuation + characters other than hyphens. For example:</p> + + <div class=example> + <pre> +voice-family: "john doe", "Henry the-8th";</pre> + </div> + + <p class=note> Note that in <a href="#SSML" + rel=biblioentry>[SSML]<!--{{!SSML}}--></a>, voice names are + space-separated and cannot contain whitespace characters.</p> <dt> <strong><age></strong> @@ -1780,8 +1815,7 @@ <dt> <strong><non-negative number></strong> <dd> - <p>Indicates a preferred variant (e.g. "the second male child voice" or - "the third voice named ‘<code class=property>Mike</code>’"). + <p>Indicates a preferred variant (e.g. "the second male child voice"). Possible values are <a href="#non-negative-number-def">non-negative numbers</a> restricted to integers, and excluding zero (i.e. starting from 1). The value "1" refers to the first of all matching voices.</p> @@ -1829,7 +1863,7 @@ <li> If several voices are available for the language of the selected content, then the chosen voice is the one that most closely matches the - specified gender, age, and preferred voice index. The actual definition + specified gender, age, and preferred voice variant. The actual definition of "best match" is processor-dependent. <li> If no voice is available for the language of the selected content, it @@ -1870,8 +1904,7 @@ than that corresponding to the class "romeo" (which is inherited from the "p" parent element): <span style="voice-family: female;">Hello sir!</span> -</p> - </pre> +</p></pre> </div> <h3 id=voice-props-voice-rate><span class=secno>8.2. </span>The ‘<a @@ -2085,8 +2118,7 @@ h2 { voice-pitch: +30Hz relative; } h2 { voice-pitch: 30Hz relative; } /* identical to the line above */ h3 { voice-pitch: relative -2st; } /* the swapped keyword placement is a legal syntax */ -h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */ - </pre> +h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */</pre> </div> <h3 id=voice-props-voice-pitch-range><span class=secno>8.4. </span>The @@ -2314,8 +2346,7 @@ <!-- The lines below demonstrate increasing levels of emphasis: --> <p>This is a <span class="normal-emphasis">big</span> car!</p> -<p>This is a <span class="huge-emphasis">big</span> car!!!</p> - </pre> +<p>This is a <span class="huge-emphasis">big</span> car!!!</p></pre> </div> <h2 id=duration-props><span class=secno>9. </span>Voice duration property</h2> @@ -2431,7 +2462,9 @@ <p> For these list item styles, the user-agent defines (possibly based on user preferences) what equivalent phrase is spoken or what audio cue is played. List items with graphical bullets are therefore announced - appropriately in an implementation-dependent manner.</p> + appropriately in an implementation-dependent manner. For hierarchical + lists structures, it is recommended that user-agents announce the + nesting depth of list items.</p> <dt> <strong>decimal, decimal-leading-zero, lower-roman, upper-roman, georgian, armenian</strong> @@ -2545,8 +2578,7 @@ abbr { content: attr(title); } ... -<abbr title="World Wide Web Consortium">W3C</abbr> - </pre> +<abbr title="World Wide Web Consortium">W3C</abbr></pre> </div> <p>In a similar way, text strings in a document can be replaced by a @@ -2563,8 +2595,7 @@ <div class="hamlet"> To be, or not to be: that is the question: -</div> - </pre> +</div></pre> </div> <p>Furthermore, authors (or users via a user stylesheet) may add some @@ -2586,8 +2617,7 @@ <pre> ul::before { content: "Start list: "; } ul::after { content: "List end. "; } -li::before { content: "List item: "; } -</pre> +li::before { content: "List item: "; }</pre> </div> <p>Detailed information can be found in the CSS3 Generated and Replaced @@ -2823,9 +2853,9 @@ <tr> <td><a class=property href="#voice-family">voice-family</a> - <td>[[[<name> | [<age>? <gender>]] <non-negative - number>?],]* [[<name> | [<age>? <gender>]] - <non-negative number>?] | preserve | inherit + <td>[[<name> | [<age>? <gender> <non-negative + number>?]],]* [<name> | [<age>? <gender> + <non-negative number>?]] | preserve | inherit <td>implementation-dependent @@ -3001,6 +3031,11 @@ href="http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier"> identifier </a></dfn> <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> + + <li> <dfn id=strings-def> <a + href="http://www.w3.org/TR/CSS21/syndata.html#strings"> strings + </a></dfn> <a href="#CSS21" + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> </ul> <h2 class=no-num id=index>Appendix B — Index</h2> @@ -3083,6 +3118,8 @@ <li>speak-as, <a href="#speak-as" title=speak-as><strong>4.2.</strong></a> + <li>strings, <a href="#strings-def" title=strings><strong>#</strong></a> + <li>style sheet, <a href="#style-sheet" title="style sheet"><strong>#</strong></a> <ul> @@ -3375,6 +3412,10 @@ class=property>voice-family</code></a>’ selection algorithm to cater for language changes. + <li>Enabled voice-family names to contain spaces, matching ‘<code + class=property>font-family</code>’ syntax which is based on quoted + strings and concatenated identifiers. + <li>Added a new section to define the relationship of this specification with CSS2.1. Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-speech/Overview.src.html,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- Overview.src.html 6 Jun 2011 21:51:31 -0000 1.56 +++ Overview.src.html 7 Jun 2011 08:22:30 -0000 1.57 @@ -217,8 +217,7 @@ <p class="peter"> <span class="special">Can you hear me ?</span> I am Peter. -</p> - </pre> +</p></pre> </div> <h2 id="aural-model">The <dfn id="aural-box-model">aural "box" model</dfn></h2> <p>The CSS formatting model for aural media is based on a sequence of sounds and silences that @@ -800,8 +799,7 @@ styles: </p> <div class="example"> <pre> -p { pause: none } /* pause-before: none; pause-after: none */ - </pre> +p { pause: none } /* pause-before: none; pause-after: none */</pre> </div> <h3 id="pause-props-pause">The 'pause' shorthand property</h3> <table class="propdef" summary="name: syntax"> @@ -863,8 +861,7 @@ <pre> h1 { pause: 20ms; } /* pause-before: 20ms; pause-after: 20ms */ h2 { pause: 30ms 40ms; } /* pause-before: 30ms; pause-after: 40ms */ -h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */ - </pre> +h3 { pause-after: 10ms; } /* pause-before: <i>unspecified</i>; pause-after: 10ms */</pre> </div> <h3 id="collapsing">Collapsing pauses</h3> <p> The pause defines the minimum distance of the aural "box" to the aural "boxes" before and @@ -1252,8 +1249,7 @@ cue-after: url(../clips-2/pop.au) 6dB; } -div.caution { cue-before: url(./audio/caution.wav) +8dB; } - </pre> +div.caution { cue-before: url(./audio/caution.wav) +8dB; }</pre> </div> <h3 id="cue-props-cue">The 'cue' shorthand property</h3> <table class="propdef" summary="name: syntax"> @@ -1322,8 +1318,7 @@ h1 { cue: url(pop.au); -} - </pre> +}</pre> </div> <h2 id="voice-char-props">Voice characteristic properties</h2> <h3 id="voice-props-voice-family">The 'voice-family' property</h3> @@ -1339,9 +1334,9 @@ <td> <em>Value:</em> </td> - <td> [[[<name> | [<age>? <gender>]] <non-negative number>?],]* - [[<name> | [<age>? <gender>]] <non-negative number>?] | preserve - | inherit </td> + <td> [[<name> | [<age>? <gender> <non-negative number>?]],]* + [<name> | [<age>? <gender> <non-negative number>?]] | preserve | + inherit </td> </tr> <tr> <td> @@ -1392,11 +1387,36 @@ <strong><name></strong> </dt> <dd> - <p>Values are specific voice instances (e.g., Mike, comedian, mary, carlos, "valley-girl"). - For compatibility with SSML, voice names do not contain whitespace characters, and any - whitespace characters before or after the voice name are ignored. Values can be quoted, - and indeed must be quoted if any of the words that make up the name does not conform to - the syntax rules for <a href="#identifier-def">identifiers</a>. </p> + <p>Values are specific voice instances (e.g., Mike, comedian, mary, carlos2, "valley girl"). + Voice names must either be given quoted as <a href="#strings-def">strings</a>, or unquoted + as a sequence of one or more <a href="#identifier-def">identifiers</a>. </p> + <p class="note">Note that as a result, most punctuation characters, or digits at the start + of each token, must be escaped in unquoted voice names. For example, the following + declarations are invalid: </p> + <div class="example"> + <pre> +voice-family: john/doe; /* forward slash character should be escaped */ +voice-family: john "doe"; /* identifier sequence cannot contain strings */ +voice-family: john!; /* exclamation mark should be escaped */ +voice-family: john@doe; /* "at" character should be escaped */ +voice-family: #john; /* identifier cannot start with hash character */ +voice-family: john 1st; /* identifier cannot start with digit */</pre> + </div> + <p> If a sequence of identifiers is given as a voice name, the computed value is the name + converted to a string by joining all the identifiers in the sequence by single spaces. </p> + <p> Voice names that happen to be the same as the gender keywords ('male', 'female' and + 'neutral') or that happen to match the keywords 'inherit' or 'preserve' must be quoted to + disambiguate with these keywords. The keywords 'initial' and 'default' are reserved for + future use and must also be quoted when used as voice names. </p> + <p class="note"> Note that to avoid mistakes in escaping, it is recommended to quote voice + names that contain white space, digits, or punctuation characters other than hyphens. For + example: </p> + <div class="example"> + <pre> +voice-family: "john doe", "Henry the-8th";</pre> + </div> + <p class="note"> Note that in [[!SSML]], voice names are space-separated and cannot contain + whitespace characters.</p> </dd> <dt> <strong><age></strong> @@ -1416,10 +1436,10 @@ <strong><non-negative number></strong> </dt> <dd> - <p>Indicates a preferred variant (e.g. "the second male child voice" or "the third voice - named 'Mike'"). Possible values are <a href="#non-negative-number-def">non-negative - numbers</a> restricted to integers, and excluding zero (i.e. starting from 1). The value - "1" refers to the first of all matching voices. </p> + <p>Indicates a preferred variant (e.g. "the second male child voice"). Possible values are + <a href="#non-negative-number-def">non-negative numbers</a> restricted to integers, and + excluding zero (i.e. starting from 1). The value "1" refers to the first of all matching + voices. </p> </dd> <dt> <strong>preserve</strong> @@ -1449,7 +1469,7 @@ voice must be used, regardless of the specified CSS voice characteristics. </li> <li> If several voices are available for the language of the selected content, then the chosen voice is the one that most closely matches the specified gender, age, and preferred voice - index. The actual definition of "best match" is processor-dependent.</li> + variant. The actual definition of "best match" is processor-dependent.</li> <li> If no voice is available for the language of the selected content, it is recommended that user-agents let the user know about the lack of appropriate TTS voice. </li> <li>The speech synthesizer voice must be re-evaluated (i.e. the selection process must take @@ -1482,8 +1502,7 @@ than that corresponding to the class "romeo" (which is inherited from the "p" parent element): <span style="voice-family: female;">Hello sir!</span> -</p> - </pre> +</p></pre> </div> <h3 id="voice-props-voice-rate">The 'voice-rate' property</h3> <table class="propdef" summary="name: syntax"> @@ -1685,8 +1704,7 @@ h2 { voice-pitch: +30Hz relative; } h2 { voice-pitch: 30Hz relative; } /* identical to the line above */ h3 { voice-pitch: relative -2st; } /* the swapped keyword placement is a legal syntax */ -h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */ - </pre> +h4 { voice-pitch: -2st; } /* Illegal syntax ! ("relative" keyword is missing) */</pre> </div> <h3 id="voice-props-voice-pitch-range">The 'voice-pitch-range' property</h3> <table class="propdef" summary="name: syntax"> @@ -1905,8 +1923,7 @@ <!-- The lines below demonstrate increasing levels of emphasis: --> <p>This is a <span class="normal-emphasis">big</span> car!</p> -<p>This is a <span class="huge-emphasis">big</span> car!!!</p> - </pre> +<p>This is a <span class="huge-emphasis">big</span> car!!!</p></pre> </div> <h2 id="duration-props">Voice duration property</h2> <h3 id="mixing-props-voice-duration">The 'voice-duration' property</h3> @@ -2008,7 +2025,9 @@ <dd> <p> For these list item styles, the user-agent defines (possibly based on user preferences) what equivalent phrase is spoken or what audio cue is played. List items with graphical - bullets are therefore announced appropriately in an implementation-dependent manner. </p> + bullets are therefore announced appropriately in an implementation-dependent manner. For + hierarchical lists structures, it is recommended that user-agents announce the nesting + depth of list items.</p> </dd> <dt> <strong>decimal, decimal-leading-zero, lower-roman, upper-roman, georgian, armenian</strong> @@ -2094,8 +2113,7 @@ abbr { content: attr(title); } ... -<abbr title="World Wide Web Consortium">W3C</abbr> - </pre> +<abbr title="World Wide Web Consortium">W3C</abbr></pre> </div> <p>In a similar way, text strings in a document can be replaced by a previously recorded version. In the following example - assuming the format is supported, the file is available @@ -2109,8 +2127,7 @@ <div class="hamlet"> To be, or not to be: that is the question: -</div> - </pre> +</div></pre> </div> <p>Furthermore, authors (or users via a user stylesheet) may add some information to ease the understanding of structures during non-visual interaction with the document. They can do so by @@ -2124,8 +2141,7 @@ <pre> ul::before { content: "Start list: "; } ul::after { content: "List end. "; } -li::before { content: "List item: "; } -</pre> +li::before { content: "List item: "; }</pre> </div> <p>Detailed information can be found in the CSS3 Generated and Replaced Content module [[CSS3GENCON]].</p> @@ -2198,6 +2214,10 @@ <dfn id="identifier-def"> <a href="http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier"> identifier </a></dfn> [[!CSS21]] </li> + <li> + <dfn id="strings-def"> + <a href="http://www.w3.org/TR/CSS21/syndata.html#strings"> strings </a></dfn> + [[!CSS21]] </li> </ul> <h2 class="no-num" id="index">Appendix B — Index</h2> <!--index--> @@ -2377,6 +2397,8 @@ <li>Added the 'normal' value for voice-rate ("default" in SSML 1.1).</li> <li>Renamed voice-family fields to be consistent with SSML.</li> <li>Improved the 'voice-family' selection algorithm to cater for language changes.</li> + <li>Enabled voice-family names to contain spaces, matching 'font-family' syntax which is based + on quoted strings and concatenated identifiers.</li> <li>Added a new section to define the relationship of this specification with CSS2.1.</li> <li>Added the missing "Computed value" line to each property definition.</li> <li>Cleaned-up the list of module dependencies, and removed redundant "module dependencies"
Received on Tuesday, 7 June 2011 08:22:34 UTC