In this last installment in my series on software development for application accessibility (see article list at the bottom of this article's page 2), I want to focus on Microsoft’s training push around accessibility. After all, we can talk about accessibility until we are sore in the mouth; progress occurs when developers actually start writing more accessible applications. And that starts with the right kinds of tools and the right kind of training.
As far as tools go, it’s all baked in to Visual Studio. Nothing new here! Training, on the other hand, has not always been in lock step with the technology. But that story is changing for the better. Microsoft announced the immediate availability of Microsoft Accessibility Tools & Training at the 26th Annual International Technology and Persons with Disabilities Conference, sponsored by California State University, Northridge (CSUN).
The press release can be found here: http://www.microsoft.com/presspass/press/2011/mar11/03-17toolspr.mspx
The objective of the training is to help corporations, governments and NGOs (Non-Government Organizations) worldwide make their technology products and services more accessible to people with disabilities.
The Microsoft Accessibility Training program is brand new and seeks to “empower employees, customers and partners with accessible technology that enables greater productivity and achievement”. The training material targets six key elements.
- It promotes accessibility awareness.
- It teaches the developer about accessibility features and settings that are built into software programs.
- It teaches the developer how to target assistive technology products.
- It discusses the design features built into accessibility.
- It outlines the importance of accessible applications that run internal to an organization.
- It discusses some of the nuances between assistive technology products.
The Accessibility training program adds tremendous value because a large part of that training is targeted specifically to the developer. It means that fundamental principles of accessibility are covered with specific code examples. It isn’t fluff! It involves core coding techniques and workarounds for each specific platform. The developer community has never had this type of comprehensive guide before; at least, nothing free that I am aware of. If you wanted that kind of training, you would have had to pay for it.
A Full Complement of Accessibility Training Courses
The training program is well designed and tackles the accessibility issue at its core by providing targeted solutions for a wide range of issues across different development platforms. I want to take a moment to point out that this is certainly not a one-size-fits-all approach. Instead, the training program is spread across 7 different courses. These courses each target a specific platform. Let’s walk the list.
- Introduction to Accessibility
- General Accessibility for Developers
- Silverlight for Developers
- Web Accessibility for Developers
- Windows (Win32) Accessibility for Developers
- WinForms Accessibility for Developers
- WPF Accessibility for Developers
The initial pilot program ran for about one year. Participants around the globe stretching from Australia, North America and Europe worked together to make sure the training was relevant, adequate and focused on delivering on the training mandate.
I was thoroughly impressed by the depth of the training, and I actually learned quite a lot while reviewing the different modules in the pilot program. I’m sure you will learn a lot as well because these modules were created by the platform developers responsible for the technology.
I keep harping on the fact that this is created by developers. When you think about it, it makes perfect sense. These developers wrote the code, understand the nuances, and are best prepared to teach you about writing more accessible code.
For instance, consider a Silverlight application that needs to deliver a fully accessible experience. For those types of applications, the Silverlight plug-in is loaded in the browser on demand. There is an accessibility catch, though. Once the plug-in is loaded and the application controls are constructed, styles for a particular control are only loaded once. Accessible features that depend on varying control styles won’t work as expected. This is because control styles must be applied before or during a control’s construction, not after that. Were you aware of that?
To work around constraints like these, you’ll need to think about creating a custom control. By the way, accessible custom controls are also covered in the training courses for each platform, so you aren’t left on your own to figure it out. For instance, there is a fairly detailed walk-through about creating custom controls in Windows (Win32) Accessibility for Developers course. When I say "fairly detailed," I mean that there is actual implementation code!
In addition to the material for developers, there are also resource guides available for the decision makers. Here’s a list:
- Accessibility Guide for Businesses and Organizations
- Accessibility Guide for Government Organizations
- Accessible Web Development Video
- Accessible Web Development Presentation
- Engineering Software for Accessibility eBook
- Other Useful Resources
As you can see, gems like these are quite literally sprinkled liberally across the training courses. And, I’m sure you can appreciate that knowing about these nuances at development time significantly decrease the cost of developing and testing accessible software.
Arguably, the value-add for this new training is really that the resources are totally free and of a very high quality. So, there isn’t any excuse to write inaccessible software going forward!
How to Code WPF Applications for Accessibility
Further Explorations in Developing Accessible Windows Applications