After the events of this week, I have several fewer reasons to loathe Internet Explorer.
It’s not a real secret that I, like many other developers, have experienced a vast amount of frustration in attempts to build standards compliant, accessible web sites that work in Internet Explorer. From the infamous hasLayout bug to CSS inconsistencies, I’ve been long waiting for the day that IE would either go away or step up to the standards table.
Then behold, Microsoft announced this week that IE 8 will support the ARIA specification and will no longer require developers to target a specific IE rendering engine (unless of course, they want to target an older rendering engine). Read the CIO.com article, the IE Blog posting, the press release, or the IE8/ARIA Whitepaper.
These announcements signify a significant victory for developers, for standards, and for accessibility. As Bruce Lawson documented, Microsoft’s previous plan to require developers to target specific browsers could have resulted in perpetual inaccessibility on sites that did not opt-in and implement the IE specific meta tag. Now, IE8 will default to the most current rendering engine and will support a true standards compliance mode. Developers will not be required to tell IE to act compliant. As such, screen readers and other assistive technologies can take full advantage of existing and future accessibility specifications (such as ARIA) in Internet Explorer without relying on the page author to trigger standards compliance mode specifically for that browser version.
The ARIA specification has much potential for making dynamic, AJAX-driven, interactive web sites more accessible. Despite it’s potential, developers have not taken it seriously due to the fact that there were no plans for Internet Explorer support. The announcement that IE8 will support ARIA means that developers can begin implementing ARIA very soon. While ARIA is not the panacea of accessibility and won’t solve all problems, it does provide a framework for making rich internet applications more accessible in a formalized, (and now) cross-browser compatible way.