ARIA momentum and Internet Explorer
October 10, 2008
Momentum
WAI-ARIA, the W3C protocol for making rich internet applications more accessible, is gaining much momentum (Read the ARIA FAQ). Even though ARIA isn’t entirely finalized, it is currently supported in most of the major browsers and screen readers. New versions of browsers and assistive technologies are providing better and more extensive support with each release. Industry leaders, such as IBM and Mozilla, are pushing ARIA’s great momentum.
Implementing ARIA is getting easier. Tutorials and examples are being released each day. Common scripting libraries are providing better support - Dojo, YUI, and GWT have native support, with JQuery and many others beginning implementation of ARIA.
Developers can currently implement most of ARIA into their web applications with tremendous increases to accessibility.
Internet Explorer’s Non-standard Implementation
Perhaps the biggest barrier to ARIA implementation is that it is not yet supported in Internet Explorer. It’s difficult to truly recommend a technology that does nothing in the most popular web browser. The standards and accessibility community was thrilled to hear that Internet Explorer 8 will support ARIA. However, this excitement is being tempered by the fact that Microsoft is currently implementing ARIA in a non-standard way.
I will not provide great technical detail into what Microsoft is doing (Aaron Leventhal has provided the details), but in short, there are two major differences in the IE8 implementation of ARIA when compared to what the spec requires and what is supported by all other major browsers. The current beta of Internet Explorer 8 requires a different mechanism and syntax for setting ARIA properties and does not properly update certain page elements when ARIA properties are dynamically changed.
Suffice it to say that Microsoft’s non-standard implementation of ARIA will make it more difficult for developers to implement an ARIA solution that works universally across browsers and assistive technologies. If developers must choose between an ARIA solution that works only in Internet Explorer or one that only works in every other browser, or if they must implement difficult and often unreliable mechanisms to account for specific browsers and even versions of browsers, then the reality is that many web developers will simply not implement ARIA or accessibility at all. And that would result in decreased accessibility for people with disabilities.
A Call for Action
We, therefore, encourage Microsoft to increase their commitment to standards and to accessibility by implementing Internet Explorer 8 ARIA support according to the specification and the ARIA User Agent Implementation Guidelines. We also encourage all browser and assistive technology vendors and even web developers to look further into the great benefit that ARIA can provide for people with disabilities and implement it where necessary.
Since that time, the WAVE team has been hard at work fixing bugs, improving efficiency, enhancing the test rules, and preparing for new WAVE features and projects. We therefore thought this would be a good time to give an update on what we’ve been doing, where we are now, and what we’re working on for the future. More detailed updates are always available on the
In the beginning there was
And behold, then came a new web browser known as
And Internet Explorer supported frames, and yet was not Mozilla, and so was not given frames. And Microsoft grew impatient, and did not wish to wait for webmasters to learn of IE and begin to send it frames, and so Internet Explorer declared that it was “Mozilla compatible” and began to impersonate Netscape, and called itself Mozilla/1.22 (compatible; MSIE 2.0; Windows 95), and Internet Explorer received frames, and all of Microsoft was happy, but webmasters were confused.
And behold, Netscape was killed, and there was much rejoicing at Microsoft. But Netscape was reborn as Mozilla, and Mozilla built Gecko, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826, and Gecko was the rendering engine, and Gecko was good.
And Mozilla became Firefox, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0, and Firefox was very good. And Gecko began to multiply, and other browsers were born that used its code, and they called themselves Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1 the one, and Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 another, each pretending to be Mozilla, and all of them powered by Gecko.
And the followers of Linux were much sorrowed, because they had built Konqueror, whose engine was KHTML, which they thought was as good as Gecko, but it was not Gecko, and so was not given the good pages, and so Konquerer began to pretend to be “like Gecko” to get the good pages, and called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko) and there was much confusion.
Then cometh Opera and said, “surely we should allow our users to decide which browser we should impersonate,” and so Opera created a menu item, and Opera called itself Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51, or Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51, or Opera/9.51 (Windows NT 5.1; U; en) depending on which option the user selected.
And Apple built Safari, and used KHTML, but added many features, and forked the project, and called it WebKit, but wanted pages written for KHTML, and so Safari called itself Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5, and it got worse.
And then Google built