This post originally appeared on the Yahoo! Accessibility blog.
Full keyboard access isn't enabled by default in Mac OS. Often this leaves developers thinking there is something wrong with the implementation of keyboard access for a site or application, when in fact it is just a matter of changing a few system and browser preferences.
Full Keyboard Access Explained
In the context of browsers on the Mac, the various "full keyboard access" preferences affect the behavior of the Tab key. With the default settings applied (full keyboard access disabled), the Tab key moves focus between a subset of controls. This subset varies between browsers on the Mac:
|Browser||Default Tab Key Access|
Enabling On the Fly
Given the default settings on the Mac, how do keyboard users navigate and interact with controls that aren't in the default Tab flow?
Safari provides the Option key as a modifier for Tab. Pressing Option + Tab will extend access to include links. Additionally, Mac OS provides the global Ctrl + F7 keyboard shortcut which toggles the ability to access to all controls via the Tab key. Together these shortcuts can provide a nice usability affordance; they give keyboard users more options with respect to how to navigate a page or application.
For users of Firefox, switching the behavior of the Tab key is as easy as it is for Safari. Unlike Safari, Firefox provides access to all controls but links by default. The Ctrl + F7 shortcut can be used to extend access to include links.
Chrome follows Firefox providing access to all controls but links by default, but doesn't honor Ctrl + F7. To modify the behavior of the Tab key, the user has to navigate into preferences.
Enabling via Preferences
Rather than change full keyboard access on the fly, it is possible to make full keyboard access the default.
Firefox relies on the Keyboard settings in System Preferences. Changing these preferences enables full keyboard access to not just Firefox, but all applications.
- Go to Keyboard in System Preferences in OS X
- Find the "Full Keyboard Access" section at the bottom of the dialog
- Check the "All Controls" radio button
You can also press Ctrl + F7 to change this preference.
- Go to Safari > Preferences > Advanced
- Check the "Press Tab to highlight each item on a webpage" checkbox
- Go to Chrome > Preferences > Under the Hood
- Check the "Pressing Tab on a webpage highlights links, as well as form fields" checkbox