.  Name Spaces .  CICERO .  Control Grammars

The following is a list of  controls and the way they can be commanded (PLEASE PLEASE send me mail if you think this is wrong, or have better suggestions!)

Where possible the default command is the word with the & in it, e.g. "Delete Files ..." would be "Files".

Below each control is described in turn. Examples of what we think users will say is provided, along with the CFG files.


Buttons
Push button

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 "Advanced ...". I think the same rules apply here. As for "Delete files ....", it's hard to say what the user will say. PMs are encouraged to modify the TEXT attribute to reflect desired text.

Synonyms are supported here. For example, the OK button on a Print dialog could have "Print" as a synonym.

Push OK
OK
Print
<RULE ID="BUTTON" TOPLEVEL="ACTIVE">
<L>
	<P><O>Click </O>{text}</P>
	<P><O>Click </O>{synonym}</P>
</L>
</RULE>

Check Boxes

Generally the text for a checkbox is quite long "Enable offline folders". 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).

Take the checkbox "Enable encryption"

Do Encryption
Do not Encryption
Encryption
Enable encryption
Disable encryption
Toggle encryption
Do Encrypt
Do not encrypt
<RULE ID="ON" NAME="ON" TOPLEVEL="ACTIVE">
    <L>
        <P>Do {text}</P>
        <P>Do {synonym}</P>
     </L>
<RULE>

<RULE ID="OFF" NAME="OFF" TOPLEVEL="ACTIVE">
    <L>
        <P>Do not {text}</P>
        <P>Do not {synonym}</P>
     </L>
</RULE>

<RULE ID="TOGGLE" NAME="TOGGLE" TOPLEVEL="ACTIVE">
    <L>
        <P>Toggle {text}</P>
        <P>Toggle {synonym}</P>
     </L>
</RULE>

Radio Buttons

Like with checkboxes, the text is quite long. However the list of items that the use can select from has some context;

The user may wish to move the selection up and down, using commands like "Smaller" and "Larger". Currently this is NOT supported.

Small
Pick Small
<synonym example>
<RULE ID="ON" NAME="ON" TOPLEVEL="ACTIVE">|
    <L>
        <P><O>Pick </O>{text}</P>
        <P><O>Pick </O>{synonym}</P>
    </L>
</RULE>

Lists

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.

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.

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.

Take the "Picture Display" combo, on the Display Properties, Background page.

Center
Tile
Stretch
Center Display
Display Stretch
<these are more 'prefix' / 'suffix' examples>

Sliders

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 "Temporary Internet Files - Settings" dialog the slider is used to pick the size of the temporary cache on your drive.

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.

In the second case, where the UI reflects both an absolute and a %age indicator, the user may want to say "200 Meg" or "5%" etc.

Neither of the above two options are currently supported. Only commands like "Up/Down" "Left/Right" and "Min/Max" are supported.

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 "Brighter, Darker", "More contrast".

Left
Min
Down
Brighter
More Contrast
Less
Brightest
Darkest
Brightness up
Brightness Max
Brightness Brightest
<RULE ID="UP" NAME="UP" TOPLEVEL="ACTIVE">
    <L>
        <P><O>{prefix} </O>Up</P>
        <P><O>{prefix} </O>Right</P>
        <P><O>{prefix} </O>{synonym}</P>
     </L>
</RULE>

<RULE ID="DOWN" NAME="DOWN" TOPLEVEL="ACTIVE">
    <L>
        <P><O>{prefix} </O>Down</P>
        <P><O>{prefix} </O>Left</P>
        <P><O>{prefix} </O>{synonym}</P>
     </L>
</RULE>

<RULE ID="MAX" NAME="MAX" TOPLEVEL="ACTIVE">
    <L>
        <P><O>{prefix} </O>Max</P>
        <P><O>{prefix} </O>{synonym}</P>
     </L>
</RULE>

<RULE ID="MIN" NAME="MIN" TOPLEVEL="ACTIVE">
    <L>
        <P><O>{prefix} </O>Min</P>
        <P><O>{prefix} </O>{synonym}</P>
     </L>
</RULE>

Edit Controls

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.

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. "Leave May 9th". 'Leave' is the prefix, and with the CONTENT="DATE" attribute on the edit control, a date grammar can be instantiated.

 
 

If you have any more needs, or wish to debate the above, click here