Engineering Software for Accessibility Ebook
Total Page:16
File Type:pdf, Size:1020Kb
PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2009 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Library of Congress Control Number: 2009930292 A CIP catalogue record for this book is available from the British Library. Microsoft Press books are available through booksellers and distributors worldwide. For further information about international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at fax (425) 936-7329. Visit our Web site at www.microsoft.com/mspress. Send comments to [email protected]. Microsoft, Microsoft Press, Active Accessibility, MSDN, Silverlight, Win32, Windows, Windows Server, and Windows Vista are either registered trademarks or trademarks of the Microsoft group of companies. Other product and company names mentioned herein may be the trademarks of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. This book expresses the author’s views and opinions. The information contained in this book is provided without any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by this book. Acquisitions Editor: Ben Ryan Developmental Editor: Devon Musgrave Project Editor: Lynn Finnel Editorial Production: Online Training Solutions, Inc. Cover: Tom Draper Design Body Part No. X15-66460 Table of Contents Introduction ......................................................................................................................... vii 1 The UI Automation Environment ............................................................ 1 Providers and Clients .......................................................................................................... 1 Providers ...................................................................................................................... 2 Clients ........................................................................................................................... 2 Main Components ............................................................................................................... 3 Automation Elements.............................................................................................. 3 The UIA Tree ............................................................................................................... 3 Control Patterns ........................................................................................................ 5 Control Types ............................................................................................................. 5 Properties .................................................................................................................... 6 Events ............................................................................................................................ 7 Custom Control Patterns, Properties, and Events ......................................... 7 Planning Your Hierarchy ................................................................................................... 8 2 Designing the Logical Hierarchy ............................................................. 9 The Logical Hierarchy ....................................................................................................... 10 Mapping Basics ................................................................................................................... 11 Elements and Controls .......................................................................................... 11 Element Relationships and Navigation ........................................................... 12 Getting Started ................................................................................................................... 14 How to Do It ........................................................................................................................ 16 Example: Employee Timecard ............................................................................ 17 iii iv Table of Contents Using the Logical Hierarchy for Planning Accessibility Settings ....................... 23 Keyboard Navigation ............................................................................................ 24 Graphics: Decorative vs. Contextual ................................................................. 24 Complex User Interfaces ................................................................................................. 24 Designing Element Functionality ................................................................................. 25 3 Designing Your Implementation ........................................................... 27 Product Example Continued: Employee Timecard ................................................. 28 Prep Work: Creating the Implementation Table .................................................... 29 Process A: Control Maps to a UIA Control Type ..................................................... 31 Step 1: Gathering Required Control Patterns ............................................... 31 Step 2: Gathering Required Control Type Properties ................................ 32 Step 3: Gathering Requirements for Additional Control Functionality ............................................................................................................. 36 Process B: Control Does Not Map to a UIA Control Type ................................... 40 Methods and Events ......................................................................................................... 41 Framework-Dependent Decisions ................................................................................ 42 Implementing Your Native UIA Solution .................................................................. 43 Rounding Up Native Solutions ..................................................................................... 43 4 Testing and Delivery .................................................................................. 45 Accessibility Testing and Test Automation ............................................................... 46 Tools ....................................................................................................................................... 47 Investigation Tools ................................................................................................. 47 UIA Verify Test Automation Framework ........................................................ 48 Keyboard ............................................................................................................................... 49 Users and AT Devices........................................................................................................ 50 Delivery ................................................................................................................................. 50 Conclusion: 7 Steps to a Better Computing World ................................................ 51 References ............................................................................................................................ 51 Table of Contents v Appendix A: Windows Automation API: Overview ......................... 53 Microsoft Active Accessibility and UI Automation Compared .......................... 54 Architecture and Interoperability ................................................................................ 54 Microsoft Active Accessibility Architecture ................................................... 55 UI Automation Architecture .......................................................................................... 56 Interoperability Between Microsoft Active Accessibility-Based Applications and UI Automation-Based Applications ............................... 56 Limitations of Microsoft Active Accessibility ........................................................... 58 UI Automation Specification .......................................................................................... 58 UI Automation Elements ...................................................................................... 59 UI Automation Tree ............................................................................................... 60 UI Automation Properties .................................................................................... 61 UI Automation Control Patterns ....................................................................... 61 UI Automation Control Types ............................................................................ 61 UI Automation Events ........................................................................................... 62 The IAccessibleEx Interface ............................................................................................ 62 Choosing Microsoft Active Accessibility, UI Automation, or IAccessibleEx .......................................................................................................................