Small improvements to a Drupal website's accessibility

If you're reading this via RSS (bless you for subscribing!) then you're unlikely to notice any difference: but this past couple of days I've been improving the accessibility (a11y) of my website. Why? Because an accessible website is a robust website, a semantically rich website, a website with more clarity and focus on relevancy. But also because: why wouldn't you want your content to be accessible?

To guide me in my first tentative steps towards a11y I used WAVE, the web accessibility evaluation tool, to obtain a critical report on both my website's front page (the blog index) and a blogpost chosen at random. The initial results were, well, OK: Drupal makes good use of basic semantic markup, and I had made sure I used a theme with a sound h1-h6 hierarchy.

However, I was already aware that I hadn't spent enough time on a11y during the building of my blog listing, and had ever since my upgrade to Drupal 7 neglected the fact that my code samples on blogposts were in a small typeface even for my reasonably good vision. These issues indeed led to many alerts arising from repeated, redundant links and illegible font sizes.

Nonetheless, Drupal's support for child subthemes (inheriting from an existing, parent theme) meant that it was very quick for me to stub out a new, custom markup layer for the website, imitating the core Bartik theme in the first instance. It was then the work of perhaps an hour to use CSS overrides in that subtheme, plus the Views administration interface, to banish those alerts entirely.

All in all, Drupal made it very easy to make very basic a11y changes to a website; at the same time, it also makes it feasible to implement much larger scale improvements, through third-party code. This calm, unobtrusive enablement of a11y by Drupal is the result of several long and well-planned processes during its construction, not least the guiding Accessibility statement and HTML5 initiative.

I'm aware, of course, that a11y is something you have to visit and re-visit on a website, and always innovate in small ways to try to improve it. Yet in no time at all, Drupal had helped me to go from very many to zero alerts on the a11y breakdown of my site; even more impressively it had no errors at all when I began. So if you find your own, other CMS just gets in the way of such improvements - effectively blocking your content from visitors who might want to access it, whatever their physical abilities - then you might want to ask why.