2025-04-27 07:49:33 -04:00

236 lines
9.0 KiB
HTML

<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<meta HTTP-EQUIV="Expires" CONTENT="Tue, 04 May 1999 21:29:02 GMT">
<title>Speech / SAPI / Cicero</title>
<link rel="stylesheet" href="rcml.css" type="text/css">
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:Assigned_x0020_To msdt:dt="string">MarkCarr</mso:Assigned_x0020_To>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</head>
<body>
<!-- Martian Text -->
<table border=0 cellpadding=0 cellspacing=0 height=39>
<tr>
<td><a class="logo" href="http://RCML">RCML</a>&nbsp;
<span class="logodot">.</span>&nbsp; <span class="logohead"><a href="Schema/namespaces.htm">Name
Spaces</a>
</span>
<span class="logodot">.</span>&nbsp; <span class="logohead"><a href="CICERO.htm">CICERO</a></span>
<span class="logodot">.</span>&nbsp; <span class="logohead">Control Grammars</span>
</td>
</tr>
</table>
<hr>
<!-- Site Directory -->
<p>The following is a list of&nbsp; controls and the way they can be commanded
(PLEASE PLEASE <a href="mailto:felixa@microsoft.com">send me mail </a>if you
think this is wrong, or have better suggestions!)</p>
<p>Where possible the default command is the word with the &amp; in it, e.g.
&quot;Delete <u>F</u>iles ...&quot; would be &quot;Files&quot;.</p>
<p>Below each control is described in turn. Examples of what we think users will
say is provided, along with the CFG files.</p>
<hr>
<!-- Site Directory -->
<p><span class="section">Buttons<br>
Push button</span>
<p>The user will probably say the text on the button, e.g. OK for OK buttons.
Issues are buttons which bring up more dialogs, a common one is &quot;Advanced
...&quot;. I think the same rules apply here. As for &quot;Delete files
....&quot;, it's hard to say what the user will say. PMs are encouraged to
modify the TEXT attribute to reflect desired text.</p>
<p>Synonyms are supported here. For example, the OK button on a Print dialog
could have &quot;Print&quot; as a synonym.</p>
<pre>Push OK
OK</pre>
<pre>Print</pre>
<pre>&lt;RULE ID=&quot;BUTTON&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;&lt;O&gt;Click &lt;/O&gt;{text}&lt;/P&gt;
&lt;P&gt;&lt;O&gt;Click &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;</pre>
<p><span class="section">Check Boxes</span>
<p>Generally the text for a checkbox is quite long &quot;Enable offline
folders&quot;. SAPI prefers to have long phrases to listen to, as it is more
accurate that way. However, users are lazy, and will probably want to say the
shortest thing possible. More over the control has at least 3 commands, On, Off
and Toggle (currently tri state is unclear).</p>
<p>Take the checkbox &quot;Enable <u>e</u>ncryption&quot;</p>
<pre>Do Encryption
Do not Encryption
Encryption
Enable encryption
Disable encryption
Toggle encryption</pre>
<pre>Do Encrypt
Do not encrypt</pre>
<pre>&lt;RULE ID=&quot;ON&quot; NAME=&quot;ON&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;Do {text}&lt;/P&gt;
&lt;P&gt;Do {synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;RULE&gt;
&lt;RULE ID=&quot;OFF&quot; NAME=&quot;OFF&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;Do not {text}&lt;/P&gt;
&lt;P&gt;Do not {synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;
&lt;RULE ID=&quot;TOGGLE&quot; NAME=&quot;TOGGLE&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;Toggle {text}&lt;/P&gt;
&lt;P&gt;Toggle {synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;</pre>
<p><span class="section">Radio Buttons</span>
<p>Like with checkboxes, the text is quite long. However the list of items that
the use can select from has some context;</p>
<ul>
<li>Small</li>
<li>Medium</li>
<li>Large</li>
</ul>
<p>The user may wish to move the selection up and down, using commands like
&quot;Smaller&quot; and &quot;Larger&quot;. Currently this is NOT supported.</p>
<pre>Small
Pick Small</pre>
<pre>&lt;synonym example&gt;</pre>
<pre>&lt;RULE ID=&quot;ON&quot; NAME=&quot;ON&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;|
&lt;L&gt;
&lt;P&gt;&lt;O&gt;Pick &lt;/O&gt;{text}&lt;/P&gt;
&lt;P&gt;&lt;O&gt;Pick &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;</pre>
<hr>
<p><span class="section">Lists</span>
<p>There are quite a few list type controls (listbox, listview, combobox etc.).
For the user, they are all pretty much the same. The only real differences come
with single select, multi select, check box lists, and 'extensible'. Extensible
lists are those like the editable combo in the Run dialog. What the user types
in is added to the list, unlike the font-picker lists, where the user can type,
but no addition is made - a static list.</p>
<p>Currently only item selection is supported, no multiple selection or checkbox
selection. The fear is that these controls are so complicated, that they may
require their own dedicated grammar 'space' and a 'speech focus' indicator, so
that the user puts 'speech focus' onto the control, and then commands only that
control.</p>
<p>As with radio buttons, some lists are conceptualized, e.g. a list of font
sizes, so Bigger and Smaller, make sense. Also in a single selection list, Up
and Down make sense too. Naturally though, these need prefixes when there is
more than one list on the page.</p>
<p>Take the &quot;Picture Display&quot; combo, on the Display Properties,
Background page.</p>
<pre>Center
Tile
Stretch</pre>
<pre>Center Display
Display Stretch
&lt;these are more 'prefix' / 'suffix' examples&gt;</pre>
<hr>
<p><span class="section">Sliders</span>
<p>Sliders are used for a few kinds of input. We'll only address simple sliders
(those without selection states). In IE's security tab, the slider is used to mimic
4 radio buttons, for High, Medium, Medium-Low and Low. In the &quot;Temporary
Internet Files - Settings&quot; dialog the slider is used to pick the size of
the temporary cache on your drive.</p>
<p>In the first case, with only 4 settings, we could assume that the user knows
the 4 settings, and will call each one out in turn. This is very tied to the
code.</p>
<p>In the second case, where the UI reflects both an absolute and a %age
indicator, the user may want to say &quot;200 Meg&quot; or &quot;5%&quot; etc.</p>
<p>Neither of the above two options are currently supported. Only commands like
&quot;Up/Down&quot; &quot;Left/Right&quot; and &quot;Min/Max&quot; are
supported.</p>
<p>Again, with context (or an understanding of what's being controlled) synonyms
really work well here, e.g. a page with a brightness, contrast slider, the user
may say &quot;Brighter, Darker&quot;, &quot;More contrast&quot;.</p>
<pre>Left
Min
Down</pre>
<pre>Brighter
More Contrast
Less
Brightest
Darkest
Brightness up
Brightness Max
Brightness Brightest</pre>
<pre>&lt;RULE ID=&quot;UP&quot; NAME=&quot;UP&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Up&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Right&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;
&lt;RULE ID=&quot;DOWN&quot; NAME=&quot;DOWN&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Down&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Left&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;
&lt;RULE ID=&quot;MAX&quot; NAME=&quot;MAX&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Max&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;
&lt;RULE ID=&quot;MIN&quot; NAME=&quot;MIN&quot; TOPLEVEL=&quot;ACTIVE&quot;&gt;
&lt;L&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;Min&lt;/P&gt;
&lt;P&gt;&lt;O&gt;{prefix} &lt;/O&gt;{synonym}&lt;/P&gt;
&lt;/L&gt;
&lt;/RULE&gt;
</pre>
<hr>
<p><span class="section">Edit Controls</span>
<p>These controls are more related to dictation than to commanding. There may be
commands to place focus on the control, but direct focus manipulation is not
really of benefit to our customers.</p>
<p>Knowing the type of data that the edit control is looking for is can allow a
grammar to be used, again perhaps with some prefix, e.g. &quot;Leave May
9th&quot;. 'Leave' is the prefix, and with the CONTENT=&quot;DATE&quot;
attribute on the edit control, a date grammar can be instantiated.</p>
<pre>&nbsp;</pre>
<pre>&nbsp;</pre>
<hr>
<p>
<font FACE="Arial" SIZE="2">If you have any more needs, or wish
to debate the above, <a href="mailto:rcml@microsoft.com?subject=RCML%20:%20Developer%20Requests">click
here</a><p>
&nbsp;
</body>
</html>