ARIA Landmark Roles – Increasing Accessibility

I stumbled across a neat tool to be used during Web site development the other day. The tool uses javascript to examine the page and presents you with an overlay report of the accessibility issues in the page. The tool was developed by and is available from Accessify. It’s called the “Quick Page Accessibility Test.” Installing the app is as simple as dragging it to your Favorites/Bookmarks bar. Then, whenever you visit a page, you can click on the bookmark and the accessibility tester will pop over the page you’re viewing (complete with context overlays).

Anyway, after I installed the application and tested one of my pages, I came across an accessibility warning I had never encountered before. The warning message looked something like “This appears to be a list of links. Perhaps this should be marked up with ARIA landmark role ‘Navigation’.” I had never heard of ARIA landmark roles, so I ran off to try to do some research on the subject. About all I was able to find in my first attempt were some abstracts from the W3C.

That was enough to get me started, though. I thought I understood the concept, and I began editing my site template to include those roles. I added roles for my main navigation, my sub-navigation, my breadcrumb, my search engine and more. I then saved the template and reloaded my home page. Much to my chagrine, I found that my page no longer validated as XHTML 1.0 Transitional. A bit dejected, I undid all of the changes to my template and hung my head for a while.

This evening, however, I decided to do a little more research on the subject. I then found a two-year old article on A List Apart explaining the ARIA landmark roles in depth. It seems that the only way to allow my pages to validate properly is to actually extend the DTD. Unfortunately, this only seems possible with XHTML 1.1. Unfortunately, as of this posting, XHTML 1.1 is still mostly unusable to develop Web sites, due to issues with the MIME type and DTDs.

I’m curious – Are you using ARIA landmark roles? If so, are you validating your pages in some way? What DTD are you using for your pages? I would be very interested to hear more about this whole topic if you’ve found any good resources.