As a first step in the design process, you should familiarize yourself with the information in Apple Human Interface Guidelines. That document presents the best practices of application design that help you create a first-rate application for Mac OS X. In addition, Apple Human Interface Guidelines provides detailed specifications for designing and implementing an intuitive, consistent, and aesthetically pleasing user interface that delivers the superlative experience Macintosh users have come to expect.
During the design process, you also should be aware of the accessibility perspective on many basic design considerations. This section describes how you can support accessibility in your most fundamental design decisions. As with most accessibility design considerations, incorporating them with your design will result in a better user experience for all users.
The design principles described here are especially important to consider when developing an accessible application:
Support full keyboard navigation. For many users, a mouse is difficult, if not impossible, to use. Consequently, a user should be able to perform all your application’s functions using the keyboard alone.
Taking this consideration into account will make access enabling your application an even easier task.
Don’t override built-in keyboard shortcuts. This applies both to the keyboard shortcuts Mac OS X reserves (listed in the Apple Human Interface Guidelines appendix “Keyboard Shortcuts Quick Reference”) and to the accessibility-related keyboard shortcuts (listed in “Accessibility Keyboard Shortcuts”). As a general rule, you should never override reserved keyboard shortcuts. In particular, you should take care not to override accessibility-related keyboard shortcuts or your application will not be accessible to users who enable full keyboard access.
A corollary to this principle is to avoid creating too many new keyboard shortcuts that are specific to your application. Users should not have to memorize a new set of keyboard commands for each application they use.
Provide alternatives for drag-and-drop operations. If your application relies on drag-and-drop operations in its workflow, you should provide alternate ways to accomplish the same tasks. This may not be easy; in fact, it may require the design of an alternate interface for applications that are heavily dependent on drag and drop.
For example, the original Mac OS X Finder application was designed to provide a simple drag-and-drop interface to the file system. In keeping with its accessibility goals, however, the Finder in Mac OS X version 10.2 and later adds keyboard support that allows users to copy and move files using keyboard commands instead of the mouse.
Make sure there’s always a way out of your application’s workflow. This is important for all users, of course, but it’s essential for users of assistive technologies. A user relying on an assistive application to use your application may have a somewhat narrower view of your application’s user interface. For this reason, it’s especially important to make cancelling operations and retracing steps easy.
Last updated: 2008-03-11