Christian Heilmann

How to make your web applications accessible – the human way

Sunday, May 20th, 2007 at 1:51 pm

One of my biggest annoyances when talking about accessibility and web development is the argument of some developers that what they develop are web applications and not web sites which is why they don’t need to care about accessibility. The arrogance of that statement aside it also does not make any sense whatsoever. If anything, web applications should be even more accessible than web sites. A blind or a keyboard user not being able to learn about the new sports range of a certain brand is less problematic than the same user not being able to do a money transfer or apply for council benefits.

Web Applications are not better than web sites – they are different.

I have suffered for years trying to fill in overly complicated timesheet and room billing systems, and frankly I didn’t see anything to be proud of and consider yourself above the rules of normal web development. If anything, the logic that the system will be used in a closed environment with fixed parameters lead to many solutions that age terribly bad. Most of the time this happens because of time constraints or limitations of the systems used to create these applications. It is stunning how companies get stingy when it comes to spending another 2 weeks on development but don’t mind their employees wasting 30 minutes each time they enter their timesheets instead of 2. Maybe some accountant department should do an audit what makes more sense financially.

The voice of reason

The solution to accessible web applications came to me when I gave a talk at the Braillenet conference in Paris and someone in the audience was asking why Yahoo! doesn’t store the information that a user has a screen reader in his profile.

The main difference between a web application and a web site is that you need to sign up for it, and this is where we can get all the information we need to create an accessible web site – by asking the user if they use assistive technology.

Example of a simple signup form and an advanced one showing different accessibility options

Alastair Campbell proposes a full-fledged profile covering lots of disability options and settings which might be a bit too much to ask, but it is going in the right direction. Instead of trying to find out programatically (for example via Flashaid) if a user has assistive technology we just flat out ask them for it, store this information and change the interface accordingly.

If your framework or development tools does not plan for these situations then this is no excuse, but a chance to contact the developers of these and ask for these options. After all, professional web developers got rid of the idea of WYSIWYG long time ago as well and asked developers to turn the “paint your web site” tools into development IDEs.

A matter of discretion

One of the biggest issues with disability is that not everybody wants to be known to be disabled. therefore the information harvested this way should not be on the profile but only used behind the scenes in your application.

Share on Mastodon (needs instance)

Share on Twitter

Newsletter

Check out the Dev Digest Newsletter I write every week for WeAreDevelopers. Latest issues:

Dev Digest 146: 🥱 React fatigue 📊 Query anything with SQL 🧠 AI News

Why it may not be needed to learn React, why Deepfake masks will be a big problem and your spirit animal in body fat! 

Dev Digest 147: Free Copilot! Panel: AI and devs! RTO is bad! Pi plays!

Free Copilot! Experts discuss what AI means for devs. Don't trust containers. Mandated RTO means brain drain. And Pi plays Pokemon!

Dev Digest 148: Behind the scenes of Dev Digest & end of the year reports.

In 50 editions of Dev Digest we gave you 2081 resources. Join us in looking back and learn about all the trends this year.

Dev Digest 149: Wordpress break, VW tracking leak, ChatGPT vs Google.

Slowly starting 2025 we look at ChatGPT vs Google, Copilot vs. Cursor and the state of AI crawlers to replace web search…

Dev Digest 150: Shifting manually to AI.

Manual coding is becoming less of a skill. How can we ensure the quality of generated code? Also, unpacking an APK can get you an AI model.

My other work: