CONTENTS Preface Audience Applicability Purpose Document Usage Related Documents Typographic and Keying Conventions Keyboard Conventions Mouse Conventions Compliance Conventions Style Guide Support Level Process AES Support Levels Full Use Trial Use Proposed Usage Levels Global Usage Level for Revision 1.2 Problem Reporting Chapter 1. User Interface Design Principles 1.1 Adopt the User's Perspective 1.2 Give the User Control 1.2.1 Keep Interfaces Flexible 1.2.2 Use Progressive Disclosure 1.3 Use Real-World Metaphors 1.3.1 Allow Direct Manipulation 1.3.2 Provide Rapid Response 1.3.3 Provide Output as Input 1.4 Keep Interfaces Natural 1.4.1 Make Navigation Easy 1.4.2 Provide Natural Shades and Colors 1.5 Keep Interfaces Consistent 1.6 Communicate Application Actions to the User 1.6.1 Give the User Feedback 1.6.2 Anticipate Errors 1.6.3 Use Explicit Destruction 1.7 Avoid Common Design Pitfalls Chapter 2. Input Models 2.1 The Keyboard Focus Model 2.1.1 Implicit Focus 2.1.2 Explicit Focus 2.2 The Input Device Model 2.2.1 Pointing Devices 2.2.2 Pointer Shapes 2.2.3 Gain and Acceleration 2.2.4 Warp Pointer Only If Explicitly Enabled Chapter 3. Navigation 3.1 Mouse-Based Navigation 3.2 Keyboard-Based Navigation 3.2.1 Location Cursor 3.2.2 Window Navigation 3.2.3 Component Navigation 3.3 Menu Traversal 3.4 Scrollable Component Navigation Chapter 4. Selection 4.1 Selection Models 4.1.1 Mouse-Based Single Selection 4.1.2 Mouse-Based Browse Selection 4.1.3 Mouse-Based Multiple Selection 4.1.4 Mouse-Based Range Selection 4.1.5 Mouse-Based Discontiguous Selection 4.1.6 Keyboard Selection 4.1.6.1 Keyboard-Based Single Selection 4.1.6.2 Keyboard-Based Browse Selection 4.1.6.3 Keyboard-Based Multiple Selection 4.1.6.4 Keyboard-Based Range Selection 4.1.6.5 Keyboard-Based Discontiguous Selection 4.1.7 Canceling a Selection 4.1.8 Selecting and Deselecting All Elements 4.1.9 Using Mnemonics for Elements 4.2 Selection Actions 4.2.1 Destination Component 4.2.2 Operation Targets 4.2.3 Selection Operations 4.3 Transfer Models * 4.3.1 Clipboard Transfer * 4.3.2 Primary Transfer 4.3.3 Quick Transfer 4.3.4 Drag Transfer 4.3.4.1 Drag Icons 4.3.4.2 During a Drag 4.3.4.3 Ending a Drag 4.3.4.4 Drop Results 4.3.5 Integrating Selection and Transfer Chapter 5. Component Activation 5.1 Basic Activation 5.2 Accelerators 5.3 Mnemonics 5.4 Tearoff Activation 5.5 Help Activation 5.6 Default Activation 5.7 Expert Activation 5.8 Previewing and Autorepeat 5.9 Cancel Activation Chapter 6. Application Design Principles 6.1 Choosing Components 6.1.1 Guidelines for Choosing a Main Component Group 6.1.2 Guidelines for Choosing Interactive Methods 6.1.2.1 Choosing a Single-Choice Component 6.1.2.2 Choosing a Multiple-Choice Component 6.1.2.3 Choosing among Menus and Panels 6.1.2.4 Choosing Between Text or Canvas, and a Label 6.2 Layout 6.2.1 Common Client Areas 6.2.1.1 Command Area 6.2.1.2 Message Area 6.2.1.3 ScrollBars 6.2.1.4 MenuBar 6.2.1.4.1 File Menu Contents 6.2.1.4.2 Edit Menu Contents 6.2.1.4.3 Help Menu Contents 6.2.1.5 DialogBoxes 6.2.1.5.1 CommandDialog 6.2.1.5.2 FileSelectionDialog 6.2.1.5.3 PromptDialog 6.2.1.5.4 SelectionDialog 6.2.1.5.5 MessageDialog 6.2.1.6 Popup Menus 6.2.2 Grouping Components 6.2.2.1 Grouping Similar Components 6.2.2.2 Arranging Components for Fixed Layout 6.2.2.3 Arranging Components for Resizing Layout 6.2.2.4 Arranging Components for Aligned Layout 6.2.2.5 Arranging Components in PanedWindows 6.2.3 Menu Design 6.2.3.1 Keeping Menu Structures Simple 6.2.3.2 Grouping Like Menu Elements Together 6.2.3.3 Listing Menu Selections by Frequency of Use 6.2.3.4 Listing Menu Selections by Order of Use 6.2.3.5 Separating Destructive Actions 6.2.3.6 Providing Mnemonics and Accelerators 6.2.3.7 Using TearoffButtons 6.2.4 DialogBox Design 6.2.4.1 Common Dialog Box Actions 6.2.4.2 Arranging Common Actions 6.2.4.3 Determining DialogBox Location and Size 6.2.5 Designing Drag-And-Drop 6.2.5.1 Drag Icon Design 6.2.5.2 Drag Source Effects 6.2.5.3 Drag Under Effects 6.2.5.4 Providing Help on Drop Sites 6.2.5.5 Determining Transfer Formats 6.2.5.6 Indicating Drop Failures 6.3 Interaction 6.3.1 Supplying Indications of Actions 6.3.1.1 Using Common Components 6.3.1.2 Using Intuitive Labels 6.3.1.3 Using Graphics to Show Action 6.3.1.4 Showing Default Actions 6.3.1.5 Avoiding Component Modes 6.3.1.6 Showing Unavailable Components 6.3.2 Providing Feedback 6.3.2.1 Showing Progress 6.3.2.2 Providing Warnings 6.3.2.3 Providing Help 6.3.3 Allowing User Flexibility 6.4 Component Design Chapter 7. Window Manager Design Principles 7.1 Configurability 7.2 Window Support 7.2.1 Primary Window 7.2.2 Secondary Windows (Dialog) 7.2.3 Menu Windows 7.3 Window Decorations 7.3.1 Client Area 7.3.2 Title Area 7.3.3 Maximize Button 7.3.4 Minimize Button 7.3.5 Other Buttons 7.3.6 Resize Borders 7.3.7 Window Menu 7.4 Window Navigation 7.5 Icons 7.5.1 Icon Decoration 7.5.2 Icon Menu 7.5.3 Icon Box Chapter 8. Designing for International Markets 8.1 Internationalized Text Input 8.1.1 Locating the Pre-edit Area 8.1.2 Displaying Status 8.1.3 Converting Pre-edit Characters to Final Characters 8.2 Collating Sequences 8.3 Country-Specific Data Formats 8.3.1 Thousands Separators 8.3.2 Decimal Separators 8.3.3 Grouping Separators 8.3.4 Positive and Negative Values 8.3.5 Currency 8.3.6 Date Formats 8.3.7 Time Formats 8.3.8 Telephone Numbers 8.3.9 Proper Names and Addresses 8.4 Icons, Symbols, and Pointer Shapes 8.5 Scanning Direction 8.6 Designing Modularized Software 8.7 Translating Screen Text Chapter 9. Controls, Groups, and Models Reference Pages Accelerators Description Activation Description Related Information Basic Controls Description Navigation Other Operations Related Information Basic Groups Description Navigation Related Information Canvas Description Navigation Other Operations CascadeButton Description Illustration Navigation Other Operations Related Information CheckButton Description Illustration Navigation Other Operations Related Information CommandBox Description Illustration Related Information CommandDialog Description Illustration Related Information Composition Description Navigation Related Information Default Activation Description Related Information DialogBox Description Illustration Navigation Related Information Drag-and-Drop Description Related Information Edit Menu Description Illustration Related Information ErrorDialog Description Illustration Related Information Field Controls Description Navigation Other Operations Related Information File Menu Description Illustration Related Information FileSelectionBox Description Illustration Related Information FileSelectionDialog Description Illustration Related Information Focus Description Related Information Frame Description Other Operations Framing Groups Description Navigation Related Information Help Menu Description Illustration Related Information Icon Menu Description Related Information IconBox Description Illustration Related Information Icons Description Illustration Related Information InformationDialog Description Illustration Related Information Input Devices Description Related Information Label Description Illustration Navigation Layout Groups Description Navigation Related Information List Description Illustration Navigation Other Operations Related Information MainWindow Description Illustration Navigation Related Information MenuBar Description Illustration Navigation Other Operations Related Information Menus Description Illustration Navigation Other Operations Related Information MessageDialogs Description Related Information Mnemonics Description Navigation Description Related Information OptionButton Description Illustration Navigation Other Operations Related Information PanedWindow Description Illustration Navigation Related Information Panel Description Illustration Navigation Pointer Shapes Description Related Information Popup Menus Description Related Information Primary Selection Description Related Information PromptDialog Description Illustration Related Information PushButton Description Illustration Navigation Other Operations QuestionDialog Description Illustration Related Information Quick Transfer Description * Related Information * * RadioButton * * Description * Illustration Navigation Other Operations Related Information Sash Description Illustration Navigation Other Operations Related Information Scale Description Illustration Other Operations ScrollBar Description Illustration Other Operations ScrolledWindow Description Illustration Navigation Related Information Selection Description Related Information SelectionBox Description Illustration Related Information SelectionDialog Description Illustration Related Information Separator Description Illustration Navigation TearoffButton Description Illustration Navigation Other Operations Text Description Illustration Navigation Other Operations Related Information ToggleButton Description Illustration Navigation Related Information WarningDialog Description Illustration Related Information Window Menu Description Illustration Related Information WorkingDialog Description Illustration Related Information Appendix A. OSF/Motif Widgets and Components Correspondence Appendix B. OSF/Motif Level 1 Certification Checklist B.1 Application Design and Layout B.1.1 Primary Windows B.1.2 User Interaction B.2 Menu System B.2.1 MenuBar B.2.2 Standard PullDown Menus B.2.2.1 File Menu B.2.2.2 Edit Menu B.2.2.3 View Menu B.2.2.4 Options Menu B.2.2.5 Help Menu B.2.3 Popup Menus B.2.4 Menu Design B.2.5 Menu Navigation B.2.5.1 Mouse-Based Navigation B.2.5.2 Keyboard-Based Navigation B.3 Dialog Boxes B.3.1 User Interaction B.3.2 Standard Actions B.3.3 Default Activation B.4 Navigation B.4.1 Mouse-Based Navigation B.4.2 Keyboard-Based Navigation B.4.3 Scrollable Component Navigation B.5 Selection B.5.1 Mouse-Based Selection B.5.2 Keyboard-Based Selection B.6 Selection Actions B.6.1 Drag-and-Drop Model B.6.2 Primary Selection B.6.3 Quick Transfer B.6.4 Clipboard Selection Actions B.7 Activation B.7.1 Basic Activation B.7.2 Tearoff Activation B.7.3 Help Activation B.7.4 Expert Activation B.7.5 Activation Preview B.7.6 Cancel Activation B.8 Components B.8.1 CheckButton B.8.2 CommandBox B.8.3 FileSelectionBox B.8.4 List B.8.5 OptionButton B.8.6 PanedWindow and Sash B.8.7 RadioButton B.8.8 Scale B.8.9 ScrollBar B.8.10 SelectionBox B.8.11 Text Figures 3-1: A Box Style Location Cursor 3-2: An Outline Highlight Style Location Cursor 3-3: Text Cursor Shapes 3-4: A Text Cursor Style Location Cursor 3-5: An Item Cursor Style Loca tion Cursor 3-6: A Fill Style Location Cursor 4-1: Drag Icons 6-1: A Typical MainWindow and Its Common Client Areas 6-2: The File Menu and Its Selections 6-3: The Edit Menu and Its Selections 6-4: The Help Menu and Its Selections (First Model) 6-5: The Help Menu and Its Selections (Second Model) 6-6: A CommandDialog 6-7: A FileSelectionDialog 6-8: A PromptDialog 6-9: A SelectionDialog 6-10: An ErrorDialog 6-11: An InformationDialog 6-12: A QuestionDialog 6-13: A WarningDialog 6-14: A WorkingDialog 6-15: Drag Icons 6-16: A Default PushButton 6-17: A Disabled Menu Element 7-1: A Typical OSF/Motif User Environ ment 7-2: A Typical OSF/Motif Window Layout 7-3: The Window Menu Button with Menu Pulled Down 7-4: A Typical OSF/Motif Icon 7-5: A Typical OSF/Motif Icon Box Tables 6-1: Suggested Window Types A-1: Component to Widget Correspon dence