Universal Access - Assistive Technology on Tiger

Iain Murray
Department of Electrical & Computer Engineering
Curtin University of Technology
i.murray@ece.curtin.edu.au

Abstract In recent years there has been a growing awareness in the provision of accessible technologies for people with disabilities. The introduction of Section 508 in the United States and the legal action surrounding the inaccessibility of the 2000 Sydney Olympics web site have both highlighted the fact that people with disabilities are not only interested in using technologies such as the Internet but rely on the use of assistive technologies for the completion of everyday tasks. One of the most difficult areas of assistive technology is that of providing access for the vision impaired. As such, this paper will concentrate on describing the assistive technology for the vision impaired that is now available in OSX 10.4 “Tiger” release, in particular voice over and zoom whilst only briefly discussing other assistive technology.

Introduction
Due to the increase in accessible resources on the Internet, it is often assumed that all areas of government and industry are actively catering for the needs of people with disabilities. Although much progress has been made, the implementation of assistive technologies are generally left to small companies that struggle to produce such products with limited financial resources. Government policy, although constantly under review, is often challenged with the difficult task of providing an intricate legislative framework which needs to support the rapidly changing Information Technology industry and the needs of people with disabilities. 

In 2003 the Australian Bureau of Statistics estimated that almost 20% of Australians consider themselves to have a disability with 15% stating they needed assistance in one or more tasks, eg mobility, communication or personal care. (Australian Bureau of Statistics 2003) These figures include those;
•	born with disabilities 
•	whose abilities diminish during their lifetime through disease, accident or ageing.
Recent research has shown that 67% of the vision impaired have another permanent illness or disability, with 35% having difficulty in hearing normal speech (50% for those over 75). Additionally, 56% of Vision Impaired children have at least one other impairment and over half of vision impaired population (in the UK) live alone. (Gill 2004) This raises the prospect of a large number of consumers with decreasing abilities and the serious impact this will have on mass market products is beginning to be recognized by manufacturers. This particularly true with respect to the aging “baby boomer” generation.

One of the more significant policies in the provision of accessible technology was the introduction of Section 508, a part of the US Rehabilitation Act of 1973. Section 508 states that all workers in the US Federal Government must cater for the provision of their IT needs. (U.S. General Services Administration 2003) This has certainly improved the acceptance and awareness of assistive technology, yet one of the concerns is that the legislation has no ‘teeth’. To date no one has been prosecuted for section 508 non-compliance.

Providing access to technology for people with vision impairment is among the most complex areas in assistive technology. This is due in part to the difficulties in translating a multi dimensional graphical environment (illustrations, links to other documents, menus etc) to a single dimension textual equivalent. A web page appears, in textual form to a blind computer user, as a sequential list of links and information. Information contained in graphics and icons must be translated to a textual form for vocalisation in the case of speech output. It is important to note that blind computer users do not use the mouse, therefore all accessible applications must, as a primary requirement, offer keyboard shortcuts to functions generally associated with the mouse. Much of the developments created for use by the vision impairment may be transferred to other disability groups and often finds its way into use by the able bodied community. This methodology transfers directly to people with motor disabilities such as those with cerebral palsy. In the case of those with restricted use of the upper body or limited dexterity, other input devices may be used and can range from a simple mouse replacement (eg trackball) to head pointers, scan boards and “on screen keyboards” as shown in Figure 1. The latter three devices require that keyboard shortcuts for all functions the user wishes to access are available. In the case of learning or print disabilities, a bimodal approach to reading may be used where text is highlighted and vocalized to aid in comprehension. This may be achieved through the use of a screen reader. (see Figure 7)  A case in point of technology transfer to the able bodied community is that of a supermarket that placed a large display cash register for use by an employee with minor vision impairment. This register was found to be preferred by all staff, as the large display and keys were “easier” to use.

Figure 1: Head pointer (left) and Scanning Keyboard (right)
A Definition of Blindness
It is not easy to categorise blindness into distinct levels. Many vision impaired may appear to have little or no difficulty in mobility or accessing a computer. A person with tunnel vision may be capable of reading a computer screen without assistive technology as the remaining vision may retain high acuity. (note: reading speed will be reduced due to the limited field of vision and system/application events may be missed due to the loss of peripheral vision.) This may be seen in Figure 2, examples of eye conditions. (Gill 2001)

Figure 2: Eye Conditions, from left to right Cataracts, Macular Degeneration, Diabetic Retinopathy.
A Resolution adopted by the International Council of Ophthalmology in Sydney, Australia in 2002 recommends to the World Vision Community the use of the following terminology 
•	Blindness – to be used only for total vision loss and for conditions where individuals have to rely predominantly on vision substitution skills. 
•	Low Vision – to be used for lesser degrees of vision loss, where individuals can be helped significantly by vision enhancement aids and devices. 
Visual Impairment – to be used when the condition of vision loss is characterized by a loss of visual functions (such as visual acuity, visual field, etc.) at the organ level. (ICO 2002)

Figure 3: General Ability Ranges (ICO 2002)
Assistive Technology
People with vision impairment generally access a computer with the aid of either a screen 
reader or screen enlargement software. However in many instances a simple inversion of colour, custom colour scheme or increased contrast may suffice. For those that require a greater level of customisation, assistive technology is required.

Assistive Technology (AT) is a generic term that includes assistive, adaptive, and rehabilitative devices used to assist people with disabilities. AT promotes greater independence for people with disabilities by enabling them to use items that they were formerly unable to use by providing enhancements or methods of using the technology. (Wikipedia 2005)

Zoom
Some users with vision impairment benefit from having areas of the screen “enlarged” or “zoomed”. Many applications are available for the Apple, Linux or Microsoft platform including;
•	Zoomtext by AI Squared (http://www.aisquared.com/index.htm)
•	MAGic by Freedom Scientific (http://www.freedomscientific.com) 
•	Kmag for Linux (http://kmag.sourceforge.net/)
•	CloseView for Macintosh older operating systems
•	inLARGE for Macintosh by Alva Access Group (discontinued after the introduction of Mac OS X)
The requirements for these applications are more complex than may first appear. Whilst the obvious magnification is necessary, usually from 2x-16x, there are several ways to achieve this. Magnify the entire screen, a single line or a small area of the screen. The mouse cursor may also be difficult to locate, so altering the colour and/or increasing the pointer size is of use.  Note that as previously mentioned, enlarging text does not always improve accessibility, often, particular colour schemes are sufficient or a change of font may improve matters. (serif fonts tend to run into each other whereas a sans serif  font may be more distinct)  Additionally the ability to track system and application events is necessary. (discussed below)

Figure 4: Zoomtext screen enlargement control panel
Screen Readers
A screen reader is a software application that attempts to identify and obtain what is being displayed on the screen. This is then presented to a blind user as speech (by text-to-speech) or by driving a Braille display. The first screen readers were relatively simple, they captured text sent to the command line and re-routed it to the Braille display or hardware speech synthesiser. With the arrival of graphical user interfaces, screen readers employed new low-level techniques to allow them to capture what was being sent to the screen by the operating system. This is achieved by a process  by a known as video intercept. More recently operating systems and applications have made efforts to support screen readers by providing them with alternative and accessible representations of what they are displaying on the screen. Examples include Microsoft Active Accessibility and the Java Access Bridge.
A screen reader should read, among others items:

•	The operating system in general.
•	Text-mode programs, like DOS and telnet sessions.
•	GUI graphics and text on the screen.
•	Web browsers and email and usenet clients.
•	Office suite programs.

Leading screen readers include:

•	JAWS by Freedom Scientific (http://www.freedomscientific.com) 
•	Window-Eyes by GW Micro (http://www.gwmicro.com )
•	Hal by Dolphin (http://www.dolphinuk.co.uk )
•	outSPOKEN by Alva Access Group (discontinued after the introduction of Mac OS X)
•	Speakup (http://www.linux-speakup.org ), a linux screen reader.
•	Gnopernicus (http://www.baum.ro/gnopernicus.html), a screen reader for the Gnome desktop.

Windows 2000 and XP come with a very simple built-in screen reader called Narrator. This can be activated by the key combination Windows Key + U. It can be used for Windows Explorer and Notepad but not for most other applications such as Office and Outlook. Narrator is extremely limited in its ability to handle applications but can allow a user to log in to a machine and then activate a full screenreader.

In 2004, Apple announced that a future version of Mac OS X would include a full-featured screen reader.

Apple’s Past Accessibility
Originally released in 1988 by Berkeley Systems, outSPOKEN for Macintosh was the only widely available screen reader for the Macintosh computer. It allowed blind and visually impaired people to access the apple platform. It was compatible with the older “classic” operating systems, up to and including OS9 requiring only a PowerPC-based Mac running at 32 MHz or faster, (except for the G4 Cube) and a minimum installed RAM of 48 MB if running OS9 or 32 MB for all other versions. However, outSPOKEN is incompatible with OSX and will not run in the “classic” mode due to the application intercepting video at the hardware level. ALVA Access Group (www.aagi.com) announced in 2003 the discontinuation of outSPOKEN and its sister product inLARGE (screen enlargement program) for undisclosed reasons.

Early versions of OSX included a feature termed “Spoken User Interface” (SUI). This feature allowed some accessibility for low vision users. However, SUI was not a complete screen reader and was not particularly useful to a blind user. SUI is capable of several functions:
•	Talking alerts. Dialog box alerts activated by applications or the operating system are read to the user. There is no way of repeating the alert or re-examining its contents. This function is quite useful to a low vision user, as it will draw their attention to important events as they occur.
•	Announce when an application requires attention. Similar to talking alerts in that it notifies the user of requests such as requests for passwords.
•	Speak text under mouse. This is of very limited use. A user needs to be able to see the mouse so as to place the cursor over the required text and have it vocalised. It is possible that a low vision user could achieve this, but under normal circumstances, if they could see the mouse cursor, they could read the text unassisted.
•	Read selected text when the key is pressed. As with speak text under the mouse, this feature is of little use to a blind user. Text must be selected which requires the user to be able to see the screen.
Under “System Preferences” there is a universal access icon. Within these preferences are several useful settings for people with low vision and other disabilities. These are displayed in tabs arranged under the headings “Seeing, “Hearing”, “Keyboard” and “Mouse”.
Seeing
In this view, the screen properties may be altered to suit the vision impaired users individual requirements. Keyboard shortcuts exist to enable zoom, alter the magnification, invert the colour scheme, enhance contrast and set to greyscale. The ability to invert colours is critical for some eye conditions, for example retinitis pigmentosa (RP), where the sufferer often looses the ability to perceive contrast, i.e. their vision is “greyed out”. The inversion of the screen to a white print on black background increases the contrast to a level that may allow the user to read the screen more easily. (see Figure 5)

Figure 5: Display Adjustments(Apple 2005b)
One other critically important aspect of zooming is the ability to track events that occur out of the zoom area that is currently displayed on the physical screen. For example, if an alert dialog appears at the top of the screen whilst the user is zoomed in on the dock, it is necessary for the focus of the zoom to move to the alert area so the user is aware of the event. The use of spoken alerts (as described earlier) also aids in the user being aware of notifications. It is also necessary that, as a user navigates the screen via keyboard, the zoom follows the selected area. An example of this is when a user activates the menu bar (^F2) and arrows across to a selection off screen, the zoom focus must move with the highlighted menu selection. This has been functional in OSX since release 10.3.
Hearing
In this panel users may select to have the screen flash where normally an alert is sounded. In this manner a hearing impaired user will receive visual notification of events. 
Keyboard
Options in this panel allow for users with motor control difficulties to use the standard keyboard. Two main functions may be configured:
•	Sticky Keys. This allows users to activate key combinations one at a time. For a user of head pointer for example (see Figure 1) is capable of pressing one keystroke at a time. Sticky keys treats a sequence of modifier keys as a single key combination. For example when inverting the video the key combination control-option- -8 is used, obviously not possible with a head pointer. With sticky keys activated pressing the keys sequentially performs the video invert function. An option to display the modifier key(s) on screen is also provided so the user may confirm the keys pressed.
•	For those with difficulties pressing keys accurately or accidental repeating of keys (held down too long or shakily pressing of keys), a slow keys option exists. In this mode keys must be held down for a specified period before being accepted by the system. Key repeat may be modified in this preference panel as well.
Mouse
For those who experience difficulties using the mouse. Mouse keys allows the numeric keypad to act as the mouse, moving the mouse cursor around the screen. New for Tiger is the ability to increase the mouse cursor size for those with low vision.
VoiceOver

“VoiceOver is fundamentally different from the third-party screen reader utilities that people with visual impairments have traditionally used in that the spoken interface is an integral part of the operating system. Because VoiceOver is built into Mac OS X, it will be available on every Macintosh computer running Tiger and later versions of Mac OS X. It will have the high stability and ease-of-use for which Mac OS X is known, and it will provide a single, consistent spoken interface for both Mac OS X and all access-enabled third-party applications.” (Apple 2004)

Unlike other operating systems, OSX is accessible to vision impaired users from the installation media. Once the system has booted from the install media the key combination  F5 starts Voice Over. This feature allows a totally blind user to install and configure their computer without sighted assistance. Once Voice Over is running, control of the computer and applications is generally via keyboard commands (the mouse may still be used in the normal manner). It is worth noting at this point VoiceOver is intended for use only with English language Apple keyboards. If at any time, for example the reading of a list of links, the user wishes to silence the output, pressing the control key immediately silences the output. VoiceOver makes use of a key combination to differentiate Voice Over command from other keyboard shortcuts, these are the control and option keys. (Hereinafter termed the VO keys) An addition feature of Voice Over is that key assignments fit in with the operating system but also may be modified to suit the user or application. This is not normally available on other operating systems.

The Voice Over cursor appears as a box around the object or text that has been navigated to by the use of the tab key or VO keys and arrow key combination. (see Figure 6) This box, called the "VoiceOver cursor," is similar to the highlighting Mac OS X uses to show where the keyboard is focused, or what item is selected when you place the pointer on an item and click. Some areas on the screen, such as scroll areas, HTML content areas, tables, and lists, contain text or lists of items of interest to the user. When the user is notified of one of these areas, pressing Control-Option-Shift-Down arrow allows the user to "interact" with the displayed information. The user may now use the VO keys with any of the arrow keys to move around in the area and hear what it contains. To stop interacting with one of these areas, press Control-Option-Shift-Up Arrow.

When VoiceOver is first activated, the keyboard focus and VoiceOver cursor are locked together so that when the Voice Over cursor is moved the keyboard focus tracks to the same object or text. If the Tab key is used to move the keyboard focus, the VoiceOver cursor then tracks the keyboard focus. In this manner, whenever one cursor is moved the other follows allowing the user to interact with the application without the need of tracking two separate user interface cursors. The focus behavior of how the cursors track each other may be configured in the navigation pane of VoiceOver Utility. Other options allow the mouse pointer and the VoiceOver cursor track each other. 

VoiceOver preferences may be set in the VoiceOver Utility, located in the Utilities folder in the Applications folder. The VoiceOver Utility may also be accessed by press Control-Option-F8 when VoiceOver is turned on. In this utility, user preferences may be set, including;
•	Verbosity. The amount of punctuation that will be vocalized
•	Typing feedback (by letter, word, or none)
•	Selection of different voices for different types of information
•	Set rate, pitch, and volume for each voice 
•	Set navigation options 
•	Set preferred pronunciations for names or other words.

A great deal of information on the system and the applications that are running is available via VoiceOver. The function keys F1 through F6 give information about the open applications and windows and descriptions of where the VoiceOver cursor, keyboard focus, and mouse pointer are located. Pressing these keys with Control and Option two or three times provides progressively more detailed information. A full list of Voice over commands are detailed in Appendix A VoiceOver Commands. Control-Option-F7 is used to open the VoiceOver menu which shows the commands that may be used for the item in the VoiceOver cursor and also some preferences that can be set. Information about what can be done with an item in the VoiceOver cursor is vocalized when Control-Option-H is pressed. Pressing this command again gives a list of the commands that can be used with the item. 
A great deal of other information and configuration details are available to the user, it is recommended that the Tiger documentation be consulted for a full description.

Figure 6: Voice Over running with menu magnification and "Caption Panel"(Left) Screen Enhancement Options (Right)
Whilst Voice Over is primarily intended for use by people with severe vision impairment, there is the possibility of it being of use to those with other print disabilities by use of a bi-modal approach to reading where a visual emphasis is placed on the reading area and the content is read aloud. Consider a person who may experience difficulties tracking information in a heavily populated screen. The large amount of information contained within the display may distract or confuse a person with a learning disability or dyslexia. Voice Over has the ability to “tile” the display as illustrated in Figure 7. In this example the area of interest is displayed enlarged (zoom level is set in the Voice Over utility) while the rest of the screen is dimmed to reduce the clutter and distraction. The user may then navigate the page using the mouse or VO key commands with the highlighting tracking the focus and vocalising the output. 

Figure 7: Tiled group browsing in Safari, with zoomed focus area (right)
Making Applications Accessible
This section summarizes the information contained in the Apple document “Universal Access: Computers That Everyone Can Use”. Further reading is required to fully understand the features included in the Cocoa and Carbon APIs. 
Applications that use no custom user-interface widgets will require, in general, very little work to become accessible because the default widgets already contain most of the coding needed to support Universal Access. The more custom user-interface widgets an application uses, the more effort is required to access-enable it. 
Implement the Apple Accessibility Protocol
Though this step may require considerable work, it is the most important. All the user-interface elements in an application (be it a Carbon or a Cocoa) must implement the appropriate support for accessibility objects, attributes, actions, notifications, hit-testing, and keyboard focus. Custom user-interface elements will require some work to make them access-enabled. If they are subclasses of Apple-provided widgets, the only accessibility code that will need to added relate to the customizations that have been added. 
Full Keyboard Access
The developer needs to be familiar with the key combinations in Mac OS X that support full keyboard access, as well as the various keyboard shortcuts that Mac OS X provides. After the developer is acquainted with the key combinations and keyboard shortcuts that Mac OS X provides, tests on using the keyboard to access and manipulate all the user-interface elements in the application should be undertaken. 
Implementing Mouse-Free Tasks
Mouse functionality should not be duplicated, instead, applications should provide a usable and equivalent way to accomplish any task using only the keyboard. For example, if an application enables users to drag-and-drop an element from one location to another, one solution is to make it possible for users to select the element, perform a cut operation, move to the destination, and perform a paste operation with keystrokes only.

Full keyboard access should be the last thing you do to make your application access-enabled. The reason for this is that implementing the Apple accessibility protocol, automatically implements keyboard-only accessibility, without which the task of implementing full keyboard access would be more difficult. (Apple 2004)
Confirming Accessibility
Two applications are available from Apple to inspect and/or confirm an applications’ accessibility. 
•	UIElementInspector. This sample code demonstrates the use of the Accessibility API introduced in Mac OS X version 10.2. In this sample, the Accessibility API is used to get information about whatever AXUIElements (widgets) are under the mouse at any given time. Information can be obtained from the AXUIElement, and actions that it has can be performed. As the mouse moves, the inspector window displays information obtained through the new API.(Apple 2003)
•	Accessibility Verifier. This tool is used to help ensure an application will work well with the built-in accessibility features of Mac OS X. This tool provides runtime checking of an application's menus, windows, controls, and other UI elements, and reports information about accessibility data and attributes associated with those elements. Accessibility Verifier has four tests that it can run:
o	Parent/Child: Verifies the integrity of the accessibility hierarchy by checking round-trip equivalence between parent/child pairs.
o	Window: Verifies UI elements contained within a window have the proper attributes which refer to their window container.
o	Missing AXDescription: Verifies UI elements have an AXDescription attribute in situations that require one.
o	Role Verification: Verifies UI elements have the proper attributes for the role they declare themselves to be. For example, an AXButton element should have certain attributes, including AXSize, AXPosition, and others. This test verifies that such attributes are present.
After the tests have completed, the top half of the window will show the number of warnings and errors produced by each test, along with detailed results presented in an outline view (see Figure 8). To make examining the results easier, a mechanism is provided to filter results based on importance. Each error or warning contains a highlighted link that, when clicked, will cause Accessibility Verifier to jump to the point in the current application's element hierarchy where the error or warning exists. To fix errors that have been reported, refer to the Accessibility documentation. Some errors may be fixed by simply setting accessibility information for your UI elements in Interface Builder. In other cases, it may require calls to the accessibility API within the application's code. (Apple 2005a)

Figure 8: Accessibility Verifier output testing iTunes.
Conclusion
Although in its infancy, Voice Over is a complete and reasonably comprehensive screen reader. Given time to mature it has the potential to offer a viable and cost effective alternative to the screenreaders presently available on the Microsoft platform. Its greatest obstacle is the lack of accessible applications and that of developers ignoring the user interface and accessibility guidelines published by Apple. With greater awareness of the possible customer base and of legal requirements (in disability discrimination legislature) these difficulties should be overcome. 
References
Apple 2003, UIElementInspector.  Retrieved: 18 April 2005, from  http://developer.apple.com/samplecode/UIElementInspector/UIElementInspector.html.

Apple 2004, Universal Access: Computers That Everyone Can Use.  Retrieved: 18 April 2005, from  http://developer.apple.com/accessibility/universalaccess.html.

Apple 2005a, Accessibility Verifier Help.  Retrieved: 29 April 2005, from.

Apple 2005b, http://www.apple.com/accessibility/vision/.  Retrieved: 2005, from  http://www.apple.com/accessibility/vision/.

Australian Bureau of Statistics 2003, Disability, Ageing and Carers, Australian Bureau of Statistics.  Retrieved: 20 September, from  http://www.abs.gov.au/Ausstats/abs@.nsf/0/C258C88A7AA5A87ECA2568A9001393E8?Open.

Gill, J 2001, Keeping Step.  Retrieved: 18 April 2005, from  http://www.tiresias.org/keeping_step/index.htm.

Gill, J 2004.  Retrieved: May 2004, from  http://www.tiresias.org/research/cr1.htm.

ICO 2002, Visual Standards - Aspects and Ranges of Vision Loss, Sydney. from http://www.icoph.org/standards/visionres.html.

U.S. General Services Administration 2003, Section 508 Awareness - Promoting Awareness, Providing Solutions. from.

Wikipedia 2005, Assitive Technology.  Retrieved: 11 April 2005, from  http://en.wikipedia.org/wiki/Assistive_technology.

Appendix A VoiceOver Commands

On portable keyboards, press the Fn key to use the Arrow keys as Page Up, Page Down, Home, and End.

General Commands

• Lock and unlock the Control and Option keys.	Control-Option-Semicolon (;)
• Turn VoiceOver on or off.	Command-F5 (without the VoiceOver keys)
• Open the VoiceOver menu.	Control-Option-F7
• Open VoiceOver Help.	Control-Option-Question mark (?)
• Get help for an item.	Control-Option-H
• Open the commands menu for the item.	Control-Option-H two times
• Open VoiceOver Utility.	Control-Option-F8
• Start keyboard practice.	Control-Option-K
• Close a menu, stop an action, or exit a mode.	Esc
• Tell VoiceOver to ignore the next key press.	Control-Option-Tab
• Magnify the item in the VoiceOver cursor.	Control-Option-Right brace (})
• Shrink the item in the VoiceOver cursor.	Control-Option-Left brace ({)
• Temporarily hide or show the VoiceOver cursor and caption panel.	Control-Option-F11
• Dim the screen, highlight the caption panel, and show the item in the VoiceOver cursor 
in the center of the screen (tile visuals).	Control-Option-F10 
Press again to return to the normal view.
• Resize or move the caption panel.	Control-Option-Shift-F10 
Press again to cycle through these actions. Then use the arrow keys to resize the 
caption panel or move it. Press the Shift key with the arrow keys to move in smaller increments.
• Increase the font size in the caption panel.	Control-Option-Command-right bracket (])
• Decrease the font size in the caption panel.	Control-Option-Command-left bracket ([)
• Turn the screen black (screen curtain).	Control-Option-Shift-F11
• Change the speech rate, pitch, and volume.	Control-Option-Command-Right Arrow to move to the next setting (rate, then pitch, then volume). Then press the Up Arrow key to increase and the Down Arrow key to decrease.
• Change the amount of detail (verbosity) you hear for typing echo,
 punctuation, and text attributes.	Control-Option-V 
Then press Control-Option-Left or Right Arrow keys to choose the setting: typing echo, punctuation, or text attributes. Press Control-Option-Up and Down Arrow keys to change the level for the setting. Press the Escape key to leave this mode.

Orientation Commands

• Application summary.	Control-Option-F1
• Application Chooser menu.	Control-Option-F1 two times
• Window summary.	Control-Option-F2
• Window Chooser menu for the active application.	Control-Option-F2 two times
• Describe the item in the VoiceOver cursor.	Control-Option-F3
• Describe the item that has keyboard focus.	Control-Option-F4
• Describe the item that has mouse focus.	Control-Option-F5
• Describe the location of the mouse in x, y coordinates (from top-left corner of screen).		Control-Option-F5 two times
• Describe the selected item.	Control-Option-F6
• Read everything in the VoiceOver cursor.	Control-Option-A
• Read everything visible in the window.	Control-Option-Shift-W
• Repeat the last spoken phrase.	Control-Option-Z
• Save the last spoken phrase and the crash log to a file on the desktop for troubleshooting.	Control-Option-Shift-Z

Navigation Commands

• Move up.	Control-Option-Up Arrow
• Move down.	Control-Option-Down Arrow
• Move to previous.	Control-Option-Left Arrow
• Move to next.	Control-Option-Right Arrow
• Move to the top of the visible area (window, text area, etc.) 
where the VoiceOver cursor is located.	Control-Option-Home
• Move to the bottom of the visible area (window, text area, etc.) 
where the VoiceOver cursor is located.	Control-Option-End
• Move to the top of the area (window, text area, etc.) 
where the VoiceOver cursor is located, scrolling if necessary.	
	Control-Option-Shift-Home
• Move to the bottom of the area (window, text area, etc.) 
where the VoiceOver cursor is located, scrolling if necessary.	
	Control-Option-Shift-End
• Move to the top of the window.	Control-Option-Command-Home
• Move to the bottom-right corner of the window.	Control-Option-Command-End
• Move the active window to the front.	Control-Option-Shift-F2
• List the links on a page.	Control-Option-U
• List the items in a window.	Control-Option-I
• Move to the Dock.	Control-Option-D
• Move to the desktop.	Control-Option-Shift-D
• Move to the menu bar.	Control-Option-M
• Move to the first status menu in the menu bar.	Control-Option-M two times
• Open the Spotlight menu.	Control-Option-M three times
• Open a contextual menu.	Control-Option-Shift-M
• Jump to a linked item (for example, a Mail message in the Inbox and the message text).	Control-Option-J
• Move to the next frame in an HTML content area (such as a webpage).	Control-Option-Command-M
• Move to the previous frame in an HTML content area (such as a webpage).	Control-Option-Command-Shift-M
• Move back, retracing the movements of the VoiceOver cursor.	Control-Option-Left bracket ([)
• Move forward, retracing the movements of the VoiceOver cursor.	Control-Option-Right bracket (])
• Turn cursor tracking on or off temporarily.	Control-Option-Shift-F3
• Move VoiceOver cursor to keyboard focus.	Control-Option-Shift-F4
• Move keyboard focus to VoiceOver cursor.	Control-Option-Command-F4
• Move VoiceOver cursor to mouse.	Control-Option-Shift-F5
• Move mouse to VoiceOver cursor.	Control-Option-Command-F5

Text Commands

• Read all text (If you are interacting with the text, 
this command reads from the VoiceOver cursor to the end of the text.)	
	Control-Option-A
• Get text attributes.	Control-Option-T
• Add a bookmark in text.	Control-Option-Shift-1
• Jump to a bookmark in text.	Control-Option-1
• Read paragraph in VoiceOver cursor.	Control-Option-P
• Read next paragraph.	Control-Option-Shift-Page Down
• Read previous paragraph.	Control-Option-Shift-Page Up
• Read sentence in VoiceOver cursor.	Control-Option-S
• Read next sentence.	Control-Option-Page Down
• Read previous sentence.	Control-Option-Page Up
• Read line in VoiceOver cursor.	Control-Option-L
• Read next line.	Control-Option-Down Arrow
• Read previous line.	Control-Option-Up Arrow
• Read word in VoiceOver cursor.	Control-Option-W 		
Press twice to hear the word spelled; press a third time to hear the word spelled phonetically.
• Read next word.	Control-Option-Right Arrow
• Read previous word.	Control-Option-Left Arrow
• Read character in VoiceOver cursor.	Control-Option-C 		
Press twice to hear the phonetic character.
• Read next character.	Control-Option-Shift-Right Arrow
• Read previous character.	Control-Option-Shift-Left Arrow
• Move to first visible word.	Control-Option-Home
• Move to last visible word.	Control-Option-End
• Move to beginning of text.	Control-Option-Shift-Home
• Move to end of text.	Control-Option-Shift-End

Interaction Commands

• Interact with an item.	Control-Option-Shift-Down Arrow
• Stop interacting with an item.	Control-Option-Shift-Up Arrow
• Perform the default action for a selected item.	Control-Option-Space bar
• Select a menu or list item.	Control-Option-Return
• Select multiple items.	Control-Option-Shift-Space bar (Turn off cursor tracking to use this command.)
• Open or close a disclosure triangle.	Control-Option-Backslash (\)
• Read a row in a table or outline.	Control-Option-R
• Read a column in a table or outline.	Control-Option-Shift-C
• Sort a column.	Control-Option-Vertical line (|)
• Interact with scroll bars.	Control-Option-Shift-S 	
Then use the arrow keys to scroll up or down or side to side. 
Use Page Up and Page Down to scroll one page at a time.
• Resize a window.	Control-Option-Tilde (~) 	
Then use the arrow keys to make the window taller, shorter, wider, or narrower. 
Use Shift with the arrow keys to resize in smaller increments.
• Move or drag a window.	Control-Option-Accent (`) 	T
Then use the arrow keys to move the window. Use Shift with the arrow keys to move in smaller increments.
• Stop scrolling, resizing, or dragging.								Escape