By Mike Gifford

September 10, 2010

Web Axe Logo with a party hat!I was invited by Dennis Lembree and Ross Johnson to contribute some audio for their 84th podcast celebrating the Web Axe 5-year anniversary. They have had a huge impact on the community over that time and really appreciate the work they put into raising awareness about accessibility. Please subscribe to the Web Axe podcast if this content is interesting to you.

The following is the text prepared for the podcast. I want to thank Cliff Tyllick for his help on preparing this:

My name is Mike Gifford and I am the president of OpenConcept Consulting, an Ottawa-based Drupal shop working closely with both government and non-governmental organizations. Drupal is a content management system — a tool for building websites so you can manage them with not only great power but also great finesse. As an open source project, Drupal is built, maintained, and improved by the people who use it every day.

 

Over the last two years, I've been impressed by the increased interest the people behind Drupal have been giving to issues of accessibility. In that time, Drupal has improved quite a bit in terms of how accessible the website you produce with it can be. But the most impressive progress has been in making Drupal itself an accessible tool for building websites. As a result, the next release — Drupal 7 — should be usable for people with disabilities. Drupal 7 is far from perfect, but this process has been a great example of how a community can rally together to address the challenge of accessibility.

OpenConcept hasn't always been involved in accessibility issues, but we realized that there was an opportunity to make a difference by addressing things at the source. Most accessibility initiatives either address the symptoms of individual websites or work to educate developers of best practices. However, it was estimated earlier this year that 7 million websites are now built with Drupal. In one year, this software was downloaded over a million times. Yet, there were basic accessibility problems in Drupal that hadn't been addressed. To the extent that accessibility was being improved, that work being done on individual sites, and changes were not being contributed back to the core code base, where everyone could have benefited from them.

With Drupal 7 a lot of us wanted the default install to be as accessible as possible. After all, it should be easy for most people to produce a fairly accessible website. That is a lofty goal and we're still a ways from it, but we've made a great deal of progress.

Through this effort, we at OpenConcept came to realize how hard building accessible sites really is. It is especially difficult if you are trying to do so in a generalized way. Web development is proceeding much faster than the development of guidelines & best practices, so we're continually running into unknown territory. It doesn't help that screen-reader technology isn't rigorously based on these — or any — standards. Focusing just on screen-reader users, though, it's clear that people use this single technology in very different ways. So even if the technology adhered to a single set of standards, the different ways people use it will make it a challenge to to ensure that your site meets every user's expectations.

The improvements that we have made to Drupal will propagate into most new Drupal websites, but not all. Drupal's framework is so flexible that every area we've enhanced can be overruled by the contributed themes and modules used by webmeisters to round out their site. However, there's now enough documentation to tell folks what to address, and indeed a precedent in the core code base for others to follow. Drupal's developers and themers are much more aware of accessibility, and they will use that understanding as they update the thousands of available modules and themes to make them compatible with Drupal 7. And there is now an established accessibility group to help them review and improve the accessibility of all code contributed to the Drupal project, whether for a module, a theme, or a core component of Drupal itself. From now on, that accessibility review is and will be an accepted part of the Drupal development cycle.

Without this growing initiative around accessibility issues there would be no clear reason for users with disabilities to become involved in the Drupal community. However, as word spreads about Drupal's accessibility improvements we will find new challenges to tackle. With more users and greater experience with accessibility challenges we will be able to more effectively define best practices and produce models for implementing websites for different communities.

Some aspects of accessibility are really pretty straight forward. We know that every form field should be associated with a label or a title attribute. This is something that can be easily evaluated. However, some of the biggest struggles have been around alternatives to things like CSS's display:none; — it took us hundreds of posts to find an alternative that satisfied everyone's needs in Drupal 7. Then after we'd established our alternative, an Apple upgrade changed the behaviour so that invisible text was no longer being read out by VoiceOver. We've since resolved this issue, again.

Finding generalizable solutions that can be used in a number of different contexts can really take a great deal of effort. More time has gone into looking at the accessibility of Drupal than will likely go into most single sites. However, this knowledge is distilling into a best practice and the discussions are public for all to review and indeed to add to.

I expect that there will be many decisions that will need to be reconsidered in the lifespan of Drupal 7. We are already putting many issues off to Drupal 8. However, we have achieved a critical mass of accessibility improvements. There is an evolving ecosystem of committed users, designers & developers who will continue to strive for universal accessibility.

It does take a small core of dedicated individuals with a passion for accessibility, a supportive core team who are open to making the framework as good as it can be, as well as thousands of people to use, critique and push the software ahead. This can happen in any software community, but it is much more likely to take place with an open source framework where there is a tradition of contributing patches, bugs, and feature requests back to the developers. It can happen in any size of software as well; however, the larger the community, the more resources should be available to ensure that the best solutions are found.

We hope you have an opportunity to try Drupal 7 yourself when it is released.