Thursday, 24 May 2007

Making software accessible: rising to the challenge

Last Thursday (17/05/2007) I attended the Becta event "Making software accessible: rising to the challenge", with Andrew Evans, our Standards and Interoperability Specialist.

I have to say that the event was quite an eye-opener. I was struck by the emphasis on cognitive and learning disabilities which have such a bearing on education. It should be obvious that these are a prime concern for many educators and it seems silly now that I was surprised by it. I suppose I've been so focussed on the physical aspects of accessibility on the web that I hadn't considered the shift in emphasis when it comes to education.

Another issue was the need for teachers to be able to use the online material in different forms - extracting images, or cutting and pasting text for use in other documents. This is partly because some students respond better to physical resources, but also because many students aren't able to interact with certain pieces of software because they aren't keyboard or screen reader accessible. This is another thing I was shocked by. It's hard to believe that in 2007 vendors are still selling products to schools which can only be accessed via mouse control. Many of these vendors have been around for a decade or more, but for reasons I can only marvel at, haven't factored disability as a concern.

There was a great video demonstration by David Colvern of Ace Centres which showed a mobility impaired boy using a simple paint package. His impairment meant that he could only use one key at a time to draw a picture on the screen. He had to move the cursor, start drawing a line, end drawing a line, change colour etc. all with single key presses. The fruits of his efforts were astonishing, and if it hadn't been for a simple customisation of the package by the guys at the Ace centre then maybe nobody would ever have known that he could draw at all. I'll try and get permission to post a copy of the finished image to show here.

There were some very good presentations on the day, but Carol Allen, a respected practitioner from North Tyneside made a statement that summed the day up for me. She said:

Give me FLEXIBILITY!

...and for me that's the new challenge, helping Accessibility, Usability and Flexibility play together.

Wednesday, 16 May 2007

Why we use headings

There’s been a lot of debate about headings lately on the GAWDS mailing list and at the recent PSF event. I think this is great because it means that people are discussing the finer points of accessibility and working on the details.
I thought I'd repost my response on the GAWDS list here for those who don't use the GAWDS mailing list (shame on you!).

The problem with headings is that nobody seems to be able to agree on which heading needs to start the page, and whether it’s OK to skip a heading or not. The problem is further compounded by automated tools which will fail you if you use more than one H1 or if you skip a heading element (say H2 to H4).

I need to make it clear that I'm not advocating sloppy structure, sites should be designed with a logical heirarchy as part of good design practice.

I’ve put something together here to try and illustrate how JAWS users use headings and why these main concerns may or may not actually be that important from a practical perspective. So if you've inherited a site or these changes are out of your control you'll be able to have a better idea of their impact.

How Screen Reader users use headings

Here are some examples (for those that haven't had the opportunity to use a screen reader like JAWS):
By pressing "H" on the keyboard, the user can cycle through headings. JAWS will announce the status of each heading as it appears in the cycle e.g. "heading level 1 company name", so in this way, the user gets an indication of the order of the headings as they appear on the page and what heading level they have been given (we'll come back to that in a minute).

Another way is by bringing up the heading list dialogue (insert + f6 in JAWS), which displays a list of all the headings on the page. The user can cycle through the headings using the up and down keys, the level of each heading is also announced in this dialogue. The dialogue has controls so that the user can sort headings by alphabetical order or tab order and also only to list headings at each level. I've personally never seen these dialogues used, but different users will have different methods, and I don't spend as much time with these guys as I would like.

So in terms of what the user expects to see as a H1 or H2 is highly dependent on whether they've visited the site before as each site has a slightly different approach to how headings are used (I doubt that this will ever change) so I think the most important thing is consistency.

Consistency is the key

If you're using H1 for your site logo, article heading or navigation heading, then you need to keep using that on every page of the site. If you find yourself in the position where you don't have a logical H3 for the page, but you've consistently implemented H4 for your section headings then in my view (and I'm sure others will disagree) you should keep on using the H4. Don't feel inclined to change it to a H3 just for that page just because you don't want to skip a heading level or to pass through some automated accessibility testing robot.

This is important because if you happen to have a lot of headings on the page and typically the user is looking for a certain H4, they could assume that this new page doesn't have the information they are looking for because it has been changed to H3.

There is a counter-argument to this because if you have a H2 and no H3, you may assume that the user won't look for a H4. But this is a weak hypothesis, because if the user is using the "H" key as described above, they will happen across the next headings whether it be a H3 or a H4. If they are using the headings dialogue, the same is true. If they are using the dialogue to list the H3s only and find nothing, this is also fine, because they will be looking for the H3 equivalent of what they found on another page. If there is not one, then it is logical that none are present.

I think the debate is useful and interesting in that a consensus will bring greater consistency across the web, but developers shouldn't mistake this as being a critical issue, the key (in my opinion) is to use lots of headings (as long as they are relevant) and use them consistently across all pages. And I'm aware that what I've stated may not quite be in accordance with W3C specifications (I'm not sure), but works best from a practical perspective.

I hope someone finds some of this useful.
If you're a screen reader user, I'd love to hear from you.

Friday, 11 May 2007

PSF accessibility gathering

Public Sector Forums (PSF) made my week by facilitating a presentation where I got to present along side some of my favorite accessibility names. Bruce Lawson, Patrick Lauke, Anne McMeekin, Ian Lloyd, and Dan Champion, (who organised the event for PSF). The event took place in the function suite of Edgbaston cricket grounds yesterday.

The event seems to have been a big success with "exemplary" speaker feedback. A big plus for me was getting to spend some time with some really interesting people.

If you're interested in seeing them, Patrick took some photos of the event and the preceding night out.