VoiceOver Keyboard Commands for iOS 4.1 and Later
As many of you are already aware, Apple just released iOS 4.1 yesterday. One of the new features with this version is the ability to fully control both iPhone and VoiceOver (the built-in screen for blind users) from a Bluetooth keyboard connected to iPhone. This also applies to the iPod Touch, though not having used a Touch, I cannot speak directly to its capabilities.
There are numerous new commands one can issue from a Bluetooth keyboard to control the device, so much so that there is no longer any need to touch the device’s screen when using a keyboard. Apple unfortunately has very little documentation when it comes to accessibility (strange for a company who is so actively pursuing it); therefore, I wanted to put together this list of keyboard commands. I won’t go so far as to claim this is a comprehensive list, but I am pretty sure it covers almost everything, if not everything. It took me a long time to play around and figure out these commands, so I hope to save other blind users time by posting them here.
Update on March 9, 2011 (iOS 4.3)
Today Apple released iOS 4.3, and there are a couple of changes to the gestures. The list of commands below have been updated to reflect these changes.
A Few Important Notes
Before I go into the various keyboard commands, there are a few things I would like to mention. First, for Windows users, there are a couple noteworthy differences between a traditional PC keyboard and an Apple keyboard. Instead of the control, Windows, and alt modifiers, Apple devices use control, command, and option. Control maps to control, Windos maps to command, and alt maps to option.
Second, in the list of keyboard commands below, you will see references to a “VO” modifier. In the world of Apple, the “VO” (or VoiceOver) key is control + option. That is, if the keystroke says, for example, “VO + down arrow”, you perform this keystroke by holding down control and option, then pressing the down arrow.
Third, when listing keys, I use both a + (plus) and * (asterisk) connectors. A + indicates which modifiers (such as control, command, or option) are to be used. The * indicates the keys are to be pressed simultaneously. For example, “left arrow * right arrow” means you press the left and right arrow keys at the exact same time.
Fourth, if you find some of the keys with multiple modifiers do not seem to work with your Bluetooth keyboard, try using the other modifier. For example, my Bluetooth keyboard has control, command, and option keys to the left of the spacebar, but it also has an option key to the right of the spacebar. When performing any commands that require holding down all three modifiers, such as to increase the VoiceOver volume (VO + command + up arrow), I have to use the right option key; if I use the left option key, the command does not work. This is no doubt a limitation of my keyboard, not iOS 4.1, but it is good to keep it in mind.
Fifth, most of the text navigation commands that make use of the command key can also be performed by substituting the control key for the command key (many thanks to Esther for this tip). This is especially useful for some Windows-based Bluetooth keyboards.
Sixth, iOS 4.1 has something called quick nav. Quick nav, when turned on, allows for easier navigation between elements using the keyboard. To turn quick nav on and off, you hit the left and right arrows simultaneously.
Seventh, I have broken the following 57 keyboard commands into four categories: general navigation, VoiceOver controls, text navigation, and Unix-style text navigation. For each action, I have listed the corresponding keystroke when quick nav is on and when quick nav is off. Some commands can only be performed with quick nav either on or off, so the corresponding entry in the table states N/A if the command does not apply. I have also listed the corresponding VoiceOver screen gesture (where applicable) for reference and ease of transition.
Eighth, I would like to thank Esther for her excellent comment, with which I was able to expand this list to include even more commands. I am now quite certain this list is about as comprehensive as possible.
Finally, if you think I have missed any keystroke or have any questions, please leave a comment, and I will address it.
And now for the commands…
General Navigation
Action | Keystroke (quick nav on) | Keystroke (quick nav off) | Equivalent Gesture |
Toggle quick nav | left arrow * right arrow | left arrow * right arrow | N/A |
Previous element | left arrow | VO + left arrow | flick left |
Next element | right arrow | VO + right arrow | flick right |
Previous element by roter | up arrow | VO + up arrow | flick up |
Next element by roter | down arrow | VO + down arrow | flick down |
Previous roter setting | up arrow * left arrow | N/A | rotate counterclockwise |
Next roter setting | up arrow * right arrow | N/A | rotate clockwise |
Activate selected element | up arrow * down arrow | VO + spacebar | double tap |
Previous text field | shift + tab | shift + tab | N/A |
Next text field | tab | tab | N/A |
Read page from selected item | VO + a | VO + a | 2 finger flick down |
Read page from top | VO + b | VO + b | 2 finger flick up |
Move to first element | control + up arrow | N/A | 4 finger tap near top of screen |
Move to last element | control + down arrow | N/A | 4 finger tap near bottom of screen |
Scroll up 1 page | option + up arrow | N/A | 3 finger flick down |
Scroll down 1 page | option + down arrow | N/A | 3 finger flick up |
Scroll left 1 page | option + left arrow | N/A | 3 finger flick right |
Scroll right 1 page | option + right arrow | N/A | 3 finger flick left |
Move to status bar | VO + m | VO + m | N/A |
Activate back button | escape | escape | 2 finger scrub |
Activate home button | VO + h | VO + h | N/A |
Start/stop current action | VO + – | VO + – | 2 finger double tap |
VoiceOver Controls
Action | Keystroke (quick nav on) | Keystroke (quick nav off) | Equivalent Gesture |
Previous VO setting | VO + command + left arrow | VO + command + left arrow | N/A |
Next VO setting | VO + command + right arrow | VO + command + right arrow | N/A |
Increment selected VO setting | VO + command + up arrow | VO + command + up arrow | N/A |
Decrement selected VO setting | VO + command + down arrow | VO + command + down arrow | N/A |
Pause/resume speech | control | control | 2 finger single tap |
Toggle speech | VO + s | VO + s | 3 finger double tap |
Toggle screen curtain | VO + shift + s | VO + shift + s | 3 finger triple tap |
VoiceOver help | VO + k | VO + k | N/A |
Exit VoiceOver help | escape | escape | N/A |
Text Navigation
Action | Keystroke (quick nav on) | Keystroke (quick nav off) | Equivalent Gesture |
Previous character | N/A | left arrow | N/A |
Next character | N/A | right arrow | N/A |
Previous word | N/A | option + left arrow | N/A |
Next word | N/A | option + right arrow | N/A |
Previous line | N/A | up arrow | N/A |
Next line | N/A | down arrow | N/A |
Start of line | N/A | command + left arrow | N/A |
End of line | N/A | command + right arrow | N/A |
Top of document | N/A | command + up arrow | N/A |
End of document | N/A | command + down arrow | N/A |
Select text | N/A | shift + navigation keystroke | N/A |
Select all | N/A | command + a | N/A |
Cut | N/A | command + x | N/A |
Copy | N/A | command + c | N/A |
Paste | N/A | command + v | N/A |
Undo | N/A | command + z | N/A |
Redo | N/A | shift + command + z | N/A |
Previous int. keyboard | N/A | shift + command + spacebar | N/A |
Next int. keyboard | N/A | command + spacebar | N/A |
Unix-Style Text Navigation
Action | Keystroke (quick nav on) | Keystroke (quick nav off) | Equivalent Gesture |
Previous character | N/A | control + b | N/A |
Next character | N/A | control + f | N/A |
Start of line | N/A | control + a | N/A |
End of line | N/A | control + e | N/A |
Backspace | N/A | control + h | N/A |
Delete to end of line | N/A | control + k | N/A |
Return (new line) | N/A | control + m | N/A |
Hi,
This is a nice way of presenting the current keyboard shortcuts. I have a few suggestions for additions, including a few that were described in an older post to the viphone and macvisionaries list back in July, titled <a href=http://www.mail-archive.com/macvisionaries%40googlegroups.com/msg26148.htmlApple Wireless Keyboard Shortcuts for the iPhone and iPod Touch in iOS 4. These include “redo” (command + shift + z), and general functions like pressing the control key to stop/resume speaking the current item (like a two finger tap). There are the conventional commands to move to the next field or previous heading fields in mail (tab and shift + tab), and similarly to switch to the next or previous input language keyboards, when using multiple languages (command + space and shift + command + space).
The interesting document to use as a reference for checking Mac keyboard shortcuts is Jacob Rus’ web page of Default Mac OS X System Key Bindings at:
http://www.hcs.harvard.edu/~jrus/site/system-bindings.html
That document gives the description of actions for shortcut keys for all Cocoa apps on the Mac (which comprises most commonly used apps for text editing, mail, etc.) It includes the text navigation combinations with the command, option, control, shift, and arrow keys. The default keys for moving and selecting to the beginning or end of a line or to the beginning or end of a document use the “command” key. On many PC Bluetooth and USB keyboards, the control key may be used in place of the command key for these movement and selection combinations, and for the cut, copy, and paste operations, but use of the command key for movement in text documents, as familar to Mac users, is probably primary, (For the Apple Wireless Keyboard, with the original iOS 4 release, while using either the control key or command key to move and select text to the beginning or end of a line, or of a document would work, VoiceOver would only say “selected” after the announcing the selected text when the command key combination was used. This has changed in iOS 4.1 so control and command keys are treated equally in this situation.
The Jacob Rus document also points out additional working features: option + delete will let you delete backwards delete a word. There are also signs of things to come: the Fn key combined with other keys did not appear to work in earlier iOS 4 versions; in the present iOS 4.1, Fn + delete forward deletes a character, although VoiceOver does not announce this. Similarly, some of the emacs-like control key sequences work, as checked by using arrow keys to move through modified text, but VoiceOver does not announce their actions.
These keyboard shortcuts appear to work for the iOS 4.1 updated iPod Touch 3G,iPhone 3GS, and iPhone 4 models attached to the iPad Keyboard Dock as well. For Bluetooth keyboards like the Think Outside Stowaway models, full compatibility using the Windows key for the command key is achieved. For mini Bluetooth keyboards without an equivalent command key, most of the commands you’ve outlined will work (but not features such as the VoiceOver speech rotor or input language keyboard switching.)
Thanks for putting up this interesting summary.
Esther
Excuse the typo, since there was no ability to preview the comment. The web page I referenced is:
http://www.mail-archive.com/macvisionaries%40googlegroups.com/msg26148.html
Esther, many thanks for your excellent comment and suggestions; I have incorporated all the additional keystrokes you mentioned here and in your email into my blog post. The list of commands has now grown from 43 to 57.