The Fundamentals of Accessibility

Consider this article your one-stop shop for all things IAccessible.  Below is a summary of the most important topics under my accessibility category.      Getting Started   New to Accessibility?  So was I three years ago.  Get caught-up by reading my MSDN whitepaper on Testing for Accessibility.  Also, remember that Accessibility isn’t a feature. …


Testing for Accessibility: Keyboard, High Contrast, and Assistive Technology Compatibility

Consider this my testament as an Accessibility Tester.  I am a Software Designer Engineer in Test on the Visual Studio Core Team.  My team owns the critical aspects of the integrated shell, and I am responsible for the quality of the shell’s Accessibility.   When I first started Accessibility testing two years ago, I had…


Watch Out for these Unpopular Accessibility Bugs

I attended a few get-togethers with some Assistive Technology vendors a while back when they were on campus for an Accessibility conference.  While eating dinner with one particular AT vendor, I had asked him what we, Visual Studio , could do to improve our Assistive Technology compatibility story.  Next thing I knew, I was writing…


Questions and answers about AA-Naming your control

I’m often asked “What’s the correct name for this control?” There are many variations to this question, for example: 1.      Does this control need an AA name? 2.      Do we change the AA name if a control’s caption or label changes? 3.      Do we add the AA description to the AA name, in order to…


Normal, Unavailable, Offscreen, and Invisible AA States Explained

I’m often asked about the relationship among Normal (same as Visible), Unavailable, and Offscreen, and Invisible AA States.  Here’s my best guess at an explanation.   What the docs say   Starting with the MSAA SDK Docs on Object State Constants, the following terms are defined as follows:   STATE_SYSTEM_NORMAL – Indicates that the object…


Usability and Accessibility – are they the same thing?

The more I study UI Consistency and improving the user experience, and the more feedback I hear from customers who use accessibility features, I’m really starting to wonder if Usability and Accessibility are really just two sides of the same coin? Yes, there is a difference between the two. Usability – how well a user understands the…


Book Report on “Accessibility for Everybody: Understanding the Section 508 Accessibility Requirements”

There is a book out on the market for Accessibility called Accessibility For Everybody: Understanding the Section 508 Accessibility Requirements, a 500 page book written by John Paul Mueller and published by APress in 2003. Introduction A few months ago, a dev on my team discovered a book called Accessibility for Everybody: Understanding the Section…


“Testing for Accessibility” article moved to new location

My “Testing for Accessibility” article, also known internally as a “whitepaper”, is now found under UI Design and Development – Accessibility – Technical Articles at  I’m working with MSDN to get it copied back over to its original location under .NET Development, so eventually it will appear under both Accessibility and .NET Table of Contents.


What do you think about desktop customization?

Christopher Keroack, the Test Manager for the Windows Accessibility team, asked me if I could post the following: What do you think about desktop customization?  This can either be out of necessity (e.g. making fonts bigger, making UI easier to click with the mouse) or to personalize it (e.g. changing the desktop background). I’m especially…


What does IAccessible::get_accKeyboardShortcut() return?

If you said, “A Control’s Keyboard Shortcut”, that’s incorrect!   I get asked this question from time to time, so I’m going to share the answer here.   Let’s review a Keyboard Shortcut versus a Mnemonic.  A mnemonic is a control’s underlined letter or its access key.  A keyboard shortcut is a combination of keystrokes…