- •Contents
- •Figures and Tables
- •Introduction to the Aqua Human Interface Guidelines
- •The Benefits of Applying the Interface Guidelines
- •Deciding What to Do First
- •Tools and Resources for Applying the Guidelines
- •If You Have a Need Not Covered by the Guidelines
- •Human Interface Design
- •Human Interface Design Principles
- •Metaphors
- •See-and-Point
- •Direct Manipulation
- •User Control
- •Feedback and Communication
- •Consistency
- •WYSIWYG (What You See Is What You Get)
- •Forgiveness
- •Perceived Stability
- •Aesthetic Integrity
- •Modelessness
- •Knowledge of Your Audience
- •Worldwide Compatibility
- •Cultural Values
- •Language Differences
- •Default Alignment of Interface Elements
- •Resources
- •Universal Accessibility
- •Visual Disabilities
- •Hearing Disabilities
- •Physical Disabilities
- •The Dock
- •The Dock’s Onscreen Position
- •Dock Notification Behavior
- •Dock Menus
- •Clicking in the Dock
- •Menus
- •Menu Elements
- •Menu Titles
- •Menu Items
- •Grouping Items in Menus
- •Hierarchical Menus (Submenus)
- •Menu Behavior
- •Scrolling Menus
- •Toggled Menu Items
- •Sticky Menus
- •Standard Pull-Down Menus (The Menu Bar)
- •The Apple Menu
- •The Application Menu
- •The Application Menu Title
- •The Application Menu Contents
- •The File Menu
- •The Edit Menu
- •The View Menu
- •The Window Menu
- •The Help Menu
- •Menu Bar Status Items
- •Other Menus
- •Contextual Menus
- •Using Special Characters and Text Styles in Menus
- •Using Symbols in Menus
- •Using Text Styles and Fonts in Menus
- •Using Ellipses in Menus and Buttons
- •Windows
- •Window Layering
- •Window Appearance and Behavior
- •Textured Windows
- •Opening and Naming Windows
- •Positioning Windows
- •Closing Windows
- •Moving Windows
- •Resizing and Zooming Windows
- •Active and Inactive Windows
- •Click-Through
- •Scroll Bars and Scrolling Windows
- •Automatic Scrolling
- •Minimizing and Expanding Windows
- •Windows With Changeable Panes
- •Special Windows
- •Drawers
- •When to Use Drawers
- •Drawer Behavior
- •Utility Windows
- •The About Window
- •Dialogs
- •Types of Dialogs and When to Use Them
- •Document-Modal Dialogs (Sheets)
- •Sheet Behavior
- •When to Use Sheets
- •When Not to Use Sheets
- •Alerts
- •Dialog Behavior
- •Accepting Changes
- •The Open Dialog
- •Saving, Closing, and Quitting Behavior
- •Save Dialogs
- •Closing a Document With Unsaved Changes
- •Saving Documents During a Quit Operation
- •Saving a Document With the Same Name as an Existing Document
- •The Choose Dialog
- •The Printing Dialogs
- •Controls
- •Control Behavior and Appearance
- •Push Buttons
- •Push Button Specifications
- •Radio Buttons and Checkboxes
- •Radio Button and Checkbox Specifications
- •Selections Containing More Than One Checkbox State
- •Pop-Up Menus
- •Pop-Up Menu Specifications
- •Command Pop-Down Menus
- •Command Pop-Down Menu Specifications
- •Combination Boxes
- •Combo Box Specifications
- •The Text Entry Field
- •The Scrolling List
- •Placards
- •Bevel Buttons
- •Bevel Button Specifications
- •Toolbars
- •Pop-Up Icon Buttons and Pop-Up Bevel Buttons
- •Slider Controls
- •Slider Control Specifications
- •Tab Controls
- •Tab Control Specifications
- •Progress Indicators
- •Text Fields and Scrolling Lists
- •Tools for Creating Lists
- •Text Input Field Specifications
- •Scrolling List Specifications
- •Image Wells
- •Disclosure Triangles
- •Layout Guidelines
- •Group Boxes
- •Sample Dialog Layouts
- •Using Small Versions of Controls
- •User Input
- •The Mouse and Other Pointing Devices
- •Using the Mouse
- •Clicking
- •Double-Clicking
- •Pressing
- •Dragging
- •The Keyboard
- •The Functions of Specific Keys
- •Character Keys
- •Modifier Keys
- •Arrow Keys
- •Function Keys
- •Key Combinations Reserved by the System
- •Recommended Keyboard Equivalents
- •Creating Your Own Keyboard Equivalents
- •Keyboard Focus and Navigation
- •Full Keyboard Access Mode
- •Type-Ahead and Auto-Repeat
- •Selecting
- •Selection Methods
- •Selection by Clicking
- •Selection by Dragging
- •Changing a Selection With Shift-Click
- •Changing a Selection With Command-Click
- •Selections in Text
- •Selecting With the Mouse
- •What Constitutes a Word
- •Selecting Text With the Arrow Keys
- •Selections in Graphics
- •Selections in Arrays and Tables
- •Editing Text
- •Inserting Text
- •Deleting Text
- •Replacing a Selection
- •Intelligent Cut and Paste
- •Editing Text Fields
- •Entering Passwords
- •Fonts
- •Icons
- •Icon Genres and Families
- •Application Icons
- •User Application Icons
- •Viewer, Player, and Accessory Icons
- •Utility Icons
- •Non-Application Icons
- •Document Icons
- •Icons for Preferences and Plug-ins
- •Icons for Hardware and Removable Media
- •Toolbar Icons
- •Icon Perspectives and Materials
- •Conveying an Emotional Quality in Icons
- •Suggested Process for Creating Aqua Icons
- •Tips for Designing Aqua Icons
- •Drag and Drop
- •Drag and Drop Design Overview
- •Drag and Drop Semantics
- •Move Versus Copy
- •When to Check the Option Key State
- •Selection Feedback
- •Single-Gesture Selection and Dragging
- •Background Selections
- •Drag Feedback
- •Destination Feedback
- •Windows
- •Text
- •Multiple Dragged Items
- •Automatic Scrolling
- •Using the Trash as a Destination
- •Drop Feedback
- •Finder Icons
- •Graphics
- •Text
- •Transferring a Selection
- •Feedback for an Invalid Drop
- •Clippings
- •Language
- •Style
- •Terminology
- •Developer Terms and User Terms
- •Labels for Interface Elements
- •Capitalization of Interface Elements
- •Using Contractions in the Interface
- •Writing Good Alert Messages
- •User Help and Assistants
- •Apple’s Philosophy of Help
- •Help Viewer
- •Providing Access to Help
- •Help Tags
- •Help Tag Guidelines
- •Setup Assistants
- •Files
- •Installing Files
- •Where to Put Files
- •Handling Plug-ins
- •Naming Files and Showing Filename Extensions
- •Displaying Pathnames
- •Speech Recognition and Synthesis
- •Speech Recognition
- •Speakable Items
- •The Speech Recognition Interface
- •Speech-Recognition Errors
- •Guidelines for Implementing Speech Recognition
- •Speech Synthesis
- •Guidelines for Implementing Speech Synthesis
- •Spoken Dialogues and Delegation
- •General Considerations
- •Installation and File Location
- •Graphic Design
- •Menus
- •Pop-Up Menus
- •Windows
- •Utility Windows
- •Scrolling
- •Dialogs
- •Feedback and Alerts
- •The Mouse
- •Keyboard Equivalents
- •Text
- •Icons
- •User Documentation
- •Help Tags
- •Document Revision History
- •Glossary
- •Index
C H A P T E R 1 6
Speech Recognition and Synthesis
■If a certain action is made available through speech, make sure that tasks involving this action can be completed via speech. If confirmation is required, make sure the user can speak the response (instead of forcing the user to type something, for example). Users prefer to stay in one mode rather than switching back and forth depending on the task.
■For commands that could result in data loss, ask for confirmation before executing the command.
■Don’t make speech the only way for the user to accomplish a task; always provide an alternative method.
Speech Synthesis
The Mac OS X speech-synthesis engine converts any text into highly intelligible, natural-sounding speech. The engine speaks any text sent to it. Developers can send their own text to it using one line of code. In addition, some speech synthesis is automatically integrated into the interface via Talking Alerts, spoken Dock notification, saying the name of certain controls when the mouse points to them, and speaking selected text. Developers should not rely on those features alone, however, because users may not have turned them on in Speech preferences.
Whenever your application uses a system alert sound or other aural cue to deliver specific feedback to users, consider providing the option of using speech synthesis instead. For many users, a spoken phrase is a much more natural and accessible means of communication; it’s a cognitive burden to remember that a particular sound means a particular action has occurred. You can augment the user experience by providing speech feedback in addition to other forms of feedback. In order to accommodate people with special needs, any feedback to the user should be provided in audio as well as visual formats. (See “Universal Accessibility”
(page 37).)
Guidelines for Implementing Speech Synthesis
As much as possible, you should observe the following guidelines when designing your application to support TTS.
258Speech Synthesis
Apple Computer, Inc. June 2002
C H A P T E R 1 6
Speech Recognition and Synthesis
■Use speech synthesis to notify the user of something that happened in the background, such as, “Your download is finished” or “You have a meeting in 15 minutes.”
■When using speech synthesis to notify users that an event has occurred, consider pausing for a few seconds between the visual display of the event—such as a sheet—and the spoken message. Speech is an effective way to get users’ attention only if they are not already looking at the screen, and the delay gives users the opportunity to respond to the notification without hearing any speech. If such a pause is appropriate, provide a way for users to customize its length.
■Provide a way for users to turn TTS on or off within your application and to control such things as volume, voice, and speaking rate.
■Information users enter, such as typing in text fields or selections from long lists, should be spoken back by the computer. For example, if a user types an amount of money, it’s helpful to speak it back immediately to confirm it. Similarly, sometimes users select the wrong item from a list; speech synthesis is a good way to bring this mistake to the user’s attention.
■Speak in response to spoken commands to confirm what was recognized and what action is being performed. For example:
User: Disconnect from the Internet.
Computer: Disconnecting now.
User: Schedule a meeting.
Computer: For what time?
■When testing your application, test with speech on and be sure to listen to all spoken text in your interface. You can override the default TTS of a control by providing an alternative text string.
■Make spoken text sound best by breaking up long sentences and using punctuation effectively, and by using embedded speech commands such as [[emph+]] to focus users’ attention on important information. For technical information, see the Apple developer documentation website.
■Make sure your alerts are well-written and clear. (See “Writing Good Alert Messages” (page 232).) Avoid long sentences and awkward phrasing.
■In applications that make use of characters (human or otherwise) or running commentary, such as games, consider using text-to-speech instead of digitizing voices.
Speech Synthesis |
259 |
Apple Computer, Inc. June 2002