Silverlight and accessibility
About a year ago, a friend asked me how Microsoft would obtain world domination with Silverlight, since almost everyone already have Flash installed and Silverlight is yet another browser plugin. The answer was as simple as horrifying: Windows Update. There is no need to worry about such things as user preferences when you control the operating system.
Just as I expected, Silverlight 1.0 was going out as an optional Windows update yesterday. It includes installers for the browser plugin with IE and Firefox.
I first wrote about Silverlight in March 2006, and a lot has happened since then. Changing the name from WPF/E to Silverlight really boosted the hype and made a larger audience aware of the product. Silverlight is a funny toy, no doubt about that, but I’m still concerned about the accessibility, or rather lack of accessibility.
I’ve seen half-lame excuses mentioned on the web. For instance, you can use the Accessibility Object to provide information for a screen reader. A limit of the object is that only the entire plugin area can get focus and not individual elements. Without focus you cannot get tab index, keyboard cannot be used for navigation and so on. Also, this object is not available for Mac. In short, all this means that the accessibility object is pretty useless.
Also, the sites should provide graceful degradation in case the user doesn’t have Silverlight installed. One way to achieve this is by using the framework SilverSpine by Todd Anthony Spatafore, where it’s possible to use a HTML version of the site. I’m generally against keeping several versions of a site, but at least it’s a start.
It’s been said that version 2 of Silverlight will support the same accessibility model used by WPF (UI Automation) which will address some of the issues mentioned above, but we’ll see what happens.
Accessibility and RIAs are not exactly a match made in heaven. The same goes for SEO and sometimes even usability. Silverlight is however no worse than the other players in the RIA arena. But don’t take my word for it, go try it yourself. Don’t fight the future, create it.