10BC0 csswg-drafts/css21/aural.src at 491a7727f821a455a2c6fb5780b740bc13d907f8 · w3c/csswg-drafts · GitHub
Skip to content

Latest commit

 

History

History
957 lines (801 loc) · 34.4 KB

File metadata and controls

957 lines (801 loc) · 34.4 KB
<dl>
<dt><span class="index-inst" title="&lt;number&gt;"><span class="value-inst-number"><strong>&lt;number&gt;</strong></span></span>
<dd>A value between '0' and '100'. A pitch range of '0' produces
a flat, monotonic voice. A pitch range of 50 produces normal
inflection. Pitch ranges greater than 50 produce animated voices.
</dl>
<!-- #include src=properties/stress.srb -->
<p>Specifies the height of "local peaks" in the intonation contour
of a voice. For example, English is a <strong>stressed</strong>
language, and different parts of a sentence are assigned primary,
secondary, or tertiary stress. The value of <span
class="propinst-stress">'stress'</span> controls the amount of
inflection that results from these stress markers. This property is a
companion to the <span
class="propinst-pitch-range">'pitch-range'</span> property and is
provided to allow developers to exploit higher-end auditory displays.
<P>Values have the following meanings:</p>
<dl>
<dt><span class="index-inst" title="&lt;number&gt;"><span class="value-inst-number"><strong>&lt;number&gt;</strong></span></span>
<dd>A value, between '0' and '100'. The meaning of values
depends on the language being spoken. For example,
a level of '50' for a
standard, English-speaking male voice (average pitch = 122Hz), speaking
with normal intonation and emphasis would have a different
meaning than '50' for an Italian voice.
</dl>
<!-- #include src=properties/richness.srb -->
<P>Specifies the richness, or brightness, of the speaking voice. A
rich voice will "carry" in a large room, a smooth voice will not.
(The term "smooth" refers to how the wave form looks when drawn.)
<P>Values have the following meanings:</p>
<dl>
<dt><span class="index-inst" title="&lt;number&gt;"><span class="value-inst-number"><strong>&lt;number&gt;</strong></span></span>
<dd>A value between '0' and '100'.
The higher the value, the more the voice will carry.
A lower value will produce a soft, mellifluous voice.
</dl>
<H2><a name="speech-props">Speech properties</a>:
<span class="propinst-speak-punctuation">'speak-punctuation'</span>
and <span class="propinst-speak-numeral">'speak-numeral'</span>
</h2>
<p>An additional speech property, <span
class="propinst-speak-header">'speak-header'</span>, is
described below.
<!-- #include src=properties/speak-punctuation.srb -->
<P>This property specifies how punctuation is spoken. Values have the
following meanings:</p>
<dl>
<dt><strong>code</strong>
<dd>Punctuation such as semicolons,
braces, and so on are to be spoken literally.
<dt><strong>none</strong>
<dd>Punctuation is not to be spoken, but instead rendered
naturally as various pauses.
</dl>
<!-- #include src=properties/speak-numeral.srb -->
<p>This property controls how numerals are spoken. Values have the
following meanings:</P>
<dl>
<dt><strong>digits</strong>
<dd>Speak the numeral as individual digits. Thus, "237" is spoken
"Two Three Seven".
<dt><strong>continuous</strong>
<dd>Speak the numeral as a full number. Thus, "237" is spoken
"Two hundred thirty seven". Word representations are language-dependent.
</dl>
<h2><a name="aural-tables">Audio rendering of tables</a></h2>
<p>When a table is spoken by a speech generator, the relation between
the data cells and the header cells must be expressed in a different
way than by horizontal and vertical alignment. Some speech browsers
may allow a user to move around in the 2-dimensional space, thus
giving them the opportunity to map out the spatially represented
relations. When that is not possible, the style sheet must specify at
which points the headers are spoken.</p>
<h3><a name="speak-headers">Speaking headers:</a> the <span
class="propinst-speak-header">'speak-header'</span> property</h3>
<!-- #include src=properties/speak-header.srb -->
<P>This property specifies whether table headers
are spoken before every
cell, or only before a cell when that cell is associated with a
different header than the previous cell. Values have
the following meanings:</p>
<dl>
<dt><strong>once</strong>
<dd>The header is spoken one time, before a series of
cells.
<dt><strong>always</strong>
<dd>The header is spoken before every pertinent cell.
</dl>
<p>Each document language may have different mechanisms that allow
authors to specify headers. For example, in HTML 4 ([[HTML4]]),
it is possible to specify header information with three different
attributes ("headers", "scope", and "axis"), and the specification
gives an algorithm for determining header information when these
attributes have not been specified.</p>
<div class="html-example">
<div class="figure">
<P><img src="images/table1.png" alt="Image of a table created in MS
Word"><p class="caption"> Image of a table with header cells ("San
Jose" and "Seattle") that are not in the same column or row as the
data they apply to.
</div>
<p>This HTML example presents the money spent on meals, hotels and
transport in two locations (San Jose and Seattle) for successive
days. Conceptually, you can think of the table in terms of an
n-dimensional space. The headers of this space are: location, day,
category and subtotal. Some cells define marks along an axis while
others give money spent at points within this space. The markup
for this table is:</p>
<pre>
&lt;TABLE&gt;
&lt;CAPTION&gt;Travel Expense Report&lt;/CAPTION&gt;
&lt;TR&gt;
&lt;TH&gt;&lt;/TH&gt;
&lt;TH&gt;Meals&lt;/TH&gt;
&lt;TH&gt;Hotels&lt;/TH&gt;
&lt;TH&gt;Transport&lt;/TH&gt;
&lt;TH&gt;subtotal&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH id="san-jose" axis="san-jose"&gt;San Jose&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="san-jose"&gt;25-Aug-97&lt;/TH&gt;
&lt;TD&gt;37.74&lt;/TD&gt;
&lt;TD&gt;112.00&lt;/TD&gt;
&lt;TD&gt;45.00&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="san-jose"&gt;26-Aug-97&lt;/TH&gt;
&lt;TD&gt;27.28&lt;/TD&gt;
&lt;TD&gt;112.00&lt;/TD&gt;
&lt;TD&gt;45.00&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="san-jose"&gt;subtotal&lt;/TH&gt;
&lt;TD&gt;65.02&lt;/TD&gt;
&lt;TD&gt;224.00&lt;/TD&gt;
&lt;TD&gt;90.00&lt;/TD&gt;
&lt;TD&gt;379.02&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH id="seattle" axis="seattle"&gt;Seattle&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="seattle"&gt;27-Aug-97&lt;/TH&gt;
&lt;TD&gt;96.25&lt;/TD&gt;
&lt;TD&gt;109.00&lt;/TD&gt;
&lt;TD&gt;36.00&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="seattle"&gt;28-Aug-97&lt;/TH&gt;
&lt;TD&gt;35.00&lt;/TD&gt;
&lt;TD&gt;109.00&lt;/TD&gt;
&lt;TD&gt;36.00&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH headers="seattle"&gt;subtotal&lt;/TH&gt;
&lt;TD&gt;131.25&lt;/TD&gt;
&lt;TD&gt;218.00&lt;/TD&gt;
&lt;TD&gt;72.00&lt;/TD&gt;
&lt;TD&gt;421.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Totals&lt;/TH&gt;
&lt;TD&gt;196.27&lt;/TD&gt;
&lt;TD&gt;442.00&lt;/TD&gt;
&lt;TD&gt;162.00&lt;/TD&gt;
&lt;TD&gt;800.27&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;
</pre>
<p>By providing the data model in this way, authors make it
possible for speech enabled-browsers to explore the table in
rich ways, e.g., each cell could be spoken as a list, repeating the
applicable headers before each data cell:</p>
<pre>
San Jose, 25-Aug-97, Meals: 37.74
San Jose, 25-Aug-97, Hotels: 112.00
San Jose, 25-Aug-97, Transport: 45.00
...
</pre>
<p>The browser could also speak the headers only when they change:</p>
<pre>
San Jose, 25-Aug-97, Meals: 37.74
Hotels: 112.00
Transport: 45.00
26-Aug-97, Meals: 27.28
Hotels: 112.00
...
</pre>
</div>
<h2><a name="sample">Sample style sheet for HTML</a></h2>
<p>This style sheet describes a possible rendering of HTML 4:
<pre>
@media aural {
h1, h2, h3,
h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 }
h1 { pitch: x-low; pitch-range: 90 }
h2 { pitch: x-low; pitch-range: 80 }
h3 { pitch: low; pitch-range: 70 }
h4 { pitch: medium; pitch-range: 60 }
h5 { pitch: medium; pitch-range: 50 }
h6 { pitch: medium; pitch-range: 40 }
li, dt, dd { pitch: medium; richness: 60 }
dt { stress: 80 }
pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 }
em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
dfn { pitch: high; pitch-range: 60; stress: 60 }
s, strike { richness: 0 }
i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
u { richness: 0 }
a:link { voice-family: harry, male }
a:visited { voice-family: betty, female }
a:active { voice-family: betty, female; pitch-range: 80; pitch: x-high }
}
</pre>
<h2><a name="Emacspeak">Emac 47CD speak</a></h2>
<p>For information, here is the list of properties implemented by
Emacspeak, a speech subsystem for the Emacs editor.
<ul>
<li>voice-family
<li>stress (but with a different range of values)
<li>richness (but with a different range of values)
<li>pitch (but with differently named values)
<li>pitch-range (but with a different range of values)
</ul>
<p>(We thank T. V. Raman for the information about implementation
status of aural properties.)
</BODY>
</HTML>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-declaration:"~/SGML/HTML4.decl"
sgml-default-doctype-name:"html"
sgml-minimize-attributes:t
sgml-nofill-elements:("pre" "style" "br")
End:
-->
</