Thinking about accessibility

17 August 2006

Time again I think for you to take another look inside the CTO's brain to see what he's considering for the next major version of DXperience, 6.3. (Yes, I know, DXperience 6.2 is not quite out of beta, but we've got to consider the big picture here, so bear with me.)

Thanks to everyone who responded to my previous thoughts about exceptions and about support for VS2002. Your comments were extremely valuable, and suffice it to say, I'm going to push for a much better exception handling story and for dropping VS2002, preferably using latex gloves with the latter so I don't get contaminated with it.

This time I want to think about accessibility and Section 508. My thoughts here also apply to our Delphi VCL products, so wake up there at the back!

Section 508 is a clause in the Rehabilitation Act to "require Federal agencies to make their electronic and information technology accessible to people with disabilities." Furthermore, "[t]he law applies to all Federal agencies when they develop, procure, maintain, or use electronic and information technology. Under Section 508 (29 U.S.C. 794d), agencies must give disabled employees and members of the public access to information that is comparable to the access available to others."

In other words, if you sell your software to a Federal agency, it must comply with Section 508. The Feds have a lot of money, so selling to them is attractive, so it's worth making the effort to make your software accessible to people with disabilities. Since Section 508 also applies to Federal agencies when they develop their own software, presumably with third-party UI components, we, Developer Express, are also paying attention.

Luckily for us, Microsoft have done most of the heavy lifting. They provide, as part of the operating system, tools like the Magnifier, the on-screen keyboard, and the Narrator (this speaks text from the application you are using). You can access these tools from the Accessories | Accessibility menu from the Programs menu. They're pretty basic, but other companies produce better, more full-featured applications.

There are other features like a high-contrast color scheme and sticky keys. Vista is much improved in this area too: it has the "say what you see" feature, so that you can drive an application by reading out loud the various options on the screen and the mix of speech recognition and accessibility means that the option you speak is activated.

So, it pays to program for accessibility, right? Well, yes, but. Whaddya mean, but? Well, there's Vista, you see.

Windows comes with an accessibility API, which can be thought of as being in two parts. There's the API you need if you are going to write a screen magnifier, a text to speech program, and so on (Microsoft call this MSAA, Microsoft Active Accessibility), and then there's the API you need for your controls so that they can respond to accessibility events (Microsoft call this UI Automation).

Pre-Vista, both of these were COM-based APIs. Yummy, but when the going gets tough, DevExpress get going. Vista, though, via WinFX, makes UI Automation part of a managed framework. Oh joy. And being as it's WinFX, it's a .NET 2.0 managed framework (well, OK, .NET 3.0). Oh double joy.

Yes, once again, we have a problem of backwards compatibility and what to support.

So, a question for you all. Are you using our accessibility support now in your applications? Do you plan to? If your plans are in the future, would a .NET 2.0-only solution suit you? If you use our support at the moment, what if we froze it as it stands, and put all our efforts into the WinFX accessibility support? What about the Delphi crowd? Do you miss not having accessibility support in our VCL components?

I warn you, this time, the situation, and hence the decision, is not so cut-and-dried. Whereas before I knew what to do, this time I'm not so sure.

(Aside. I forgot to mention the first time I posted this: Raymond Chen talked about accessibility being for everyone today.)

6 comment(s)
Ryan Britton
Hi Julian,

As one of your international advocates in Sunny South Africa I can tell you that although the software industry here is not as developed as in other countries there is a 'cream of the crop' elite who differentiate themselves through the development of polished software interfaces which cater for different linguistic preferences and accessibility for the disabled in line with the SA government's affirmitive action policies. The same magnetic rules apply to government contracts here.

In terms of the platforms which you would support to deliver accessibility (IDE and O/S)? In this regard - I can only sympathise with your plight. Is it not perhaps feasible to hold a poll to try and ascertain the pervasiveness of the individual IDE's and  the Vista O/S (perhaps aided by figures of the number of downloads of DXExperience subscription packages for individual IDE's out of the Client Centre?) to aid in understanding the spread of DevExpress acolytes across the individual IDEs? I am already experimenting with the WinFX frameworks in anticipation of the Vista experience; but I doubt that many of my customers would share my enthusiasm given the sunken costs of their current operational network investment.

In terms of the feasibility of accessibility functionality itself within the functional taxonomies of the DevExpress suite? I say go for it. DevExpress is in the business of making developers look good by providing the most usable controls in the market; and that level of incredible usability should certainly be extended to those who use things slightly differently to the rest of us :-)
17 August, 2006
AC
While not nearly as important in my job today as it was in the past, I think supporting Section 508 compliance is an absolute must these days. I've worked for the military (as a contractor) and for a few Fotune 500's who require 508 compliance... it's not just tied to the Federal dollars... big business wants it too. I don't think it's a big deal to only focus on 2.0 and leave 1.1 behind, but I do think you should have full support for it in all your controls.

In the past, when I was looking for 3rd party controls, 508 compliance was always a requirement and it was surprising how few companies support it... so it would also be a good decision in terms of competition as well.
17 August, 2006
Doug
I would rather see new features such as converting the scheduler code into an ASP.Net app.  Since we do not work with the Federal goverment, accesability features would be a very low priority,  even a non-requirement.
17 August, 2006
Scott Blood
I must agree with doug on this one.  Unfortunatly over here in the UK we currently dont have any laws that enforce us to write software to a specific standard for anyone with disabilities.

I think the more features that are useful that i am able to provide to the end user are much more important than accessibility, because as with most countries, any person employed by us with a specific disability, we are duty bound to provide them with the tools necessary to carry out there job in the mannor an able bodied person would be used to.

As for converting everything over to .net 2.0, this is a no no , i can give you a list of at least 4 companies that use your components whom i have worked for, who have no current plans to upgrade there development to .net 2.0.
21 August, 2006
Scott Blood
I must agree with doug on this one.  Unfortunatly over here in the UK we currently dont have any laws that enforce us to write software to a specific standard for anyone with disabilities.

I think the more features that are useful that i am able to provide to the end user are much more important than accessibility, because as with most countries, any person employed by us with a specific disability, we are duty bound to provide them with the tools necessary to carry out there job in the mannor an able bodied person would be used to.

As for converting everything over to .net 2.0, this is a no no , i can give you a list of at least 4 companies that use your components whom i have worked for, who have no current plans to upgrade there development to .net 2.0.
21 August, 2006
Ian Ringrose
Given that in Vista a lot of UI testing tools will start to use the new accessibility API to drive applications, this is about a lot more the just disabled people.  We are starting to thing about .NET V3; however at present we still have a few customers on NT 2000.  For all our NEW software we will not be supporting NT 2000, so could cope if your DevExpress UI controls stop working on NT 2000.
7 December, 2006

Please login or register to post comments.