VoiceReadback-VoiceUI.png Voice Readback can form an integral part of a complete voice UI for mobile devices. Readback is used to prompt for commands, and then confirms the user input, or declares how the system has interpreted the command. It will also read on-screen displays and options, to allow the user to select appropriate items without looking at the screen.

VoiceReadback-Selection.png Selections made by the user can be read. The play control is usually contextual, and related to the selection such as the Pop-Up menu shown above.

VoiceReadback-Elemental.png When entire documents, long passages or even just marquee text, is being read the document will scroll to always have to current reading selection visible in the viewport. A cursor or highlight -- as shown above -- should be displayed to correspond to the word currently being read. An indicator of audio playback should be on the screen at all times, and a control should be provided to immediately mute or pause the audio.

Problem

Certain classes of users, or any user in certain contexts, must be able to consume content without reading the screen.

Solution

Mobile devices must be able to read text displayed on the screen, so it can be accessed and understood by users who cannot use the screen.

Due to mobiles being contextually employed, there are numerous instances in which the user may not be able to, not be allowed to, or may choose not to read the screen.

The user may well choose to use Voice Readback to allow themselves to use their hands and eyes for other purposes, in the way radio is used when video cannot be employed. For example, while working or performing hobbies which do not require excessive cognitive load themselves.

Variations

Voice output that is presented based on conditions, such as position or time, are discussed under the Voice Notifications pattern.

Interaction Details

Voice Readback can be turned on as a setting for the entire OS, or on an application basis. It will then be used automatically, whenever a change in the application is initiated.

Other input methods, such as keypads and Directional Controls will still function. Buttons will generally be needed to unlock or refresh a screen so that the current condition is read aloud.

Readback can also be initiated, for the Elemental and Selection variations, within the application or as a contextual control such as a Pop-Up, menu, Annotation or other control.

Readback for single-use cases of UI control is the result of Voice Input. Initiation is discussed under that pattern.

Presentation Details

Audio should be played through the external speaker, or speakerphone. The last set in-call volume (or equivalent playback volume for non-phones) should be used. Whenever possible, detect the ambient noise level and adjust the volume accordingly, in order to make it audible.

When a headset is attached (either physically or by a link such as Bluetooth), the playback should default to this device, and use the last set in-call volume for this device.

Content read must be identical to that printed on the screen. The condition that resulted in user employing Voice Readback may be temporary and transient; the user may switch between the screen and audio channels, or may even read along with the voice output. Even for users with a vision deficit, others may be accompanying them, who may also wish to use the device.

There may be delays between phrases, or before the start of the audio readback. To inform the user that audio is about to commence, and to prepare them for the volume level, a subtle tone should be played immediately beforehand.

A similar tone should be used when Voice Readback has completed for a significant time, or for the selected setting, to confirm this condition to the user. Otherwise they may be left guessing due to just

Antipatterns

Avoid mixing readback of commands and text. When the two must be used together, use delays, tones, changes in voice and clear syntax (such as "You said...") to indicate the difference.

Examples