Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enhancing the web user experience for the vision impaired

I was listening to a recent episode of Hanselminutes where Scott Hanselman was discussing accessibility in web applications and it got me thinking about accessibility in my own applications.

We all understand the importance of semantic markup in our web applications as it relates to accessibility but what about other simple enhancements that can be made to improve the user experience for disabled users?

In the episode, there were a number of times where I slapped my forehead and said "Of course! Why haven't I done that?" In particular, Scott talked about a website that placed a hidden link at the top of a web page that said "skip to main content". The link will only be visible to people using screen readers and it allows their screen reader to jump past menus and other secondary content. It's such an obvious improvement yet it's easy not to think of it.

There is more to accessibility and the overall user experience than simply creating valid XHTML and calling it a day.

What are some of your simple tricks for improving the user experience for the vision impaired?

like image 718
NakedBrunch Avatar asked Sep 14 '08 15:09

NakedBrunch


People also ask

How can technology help the visually impaired?

There are many low-tech visual aids that can help older adults with visual impairment, such as magnifying glasses, a long cane, glasses, optoelectronic reading systems (i.e., video magnifier), large-print books, audiobooks, a touch watch, a phone with enlarged buttons, books in Braille, and walking aids.

How can a computer help a visually impaired person?

Assistive technology can be simple, like screen magnification, or high-tech, like a refreshable braille display. Screen readers are software that translates text on the screen to speech or braille. You can control screen readers for the blind by using keyboard commands.


3 Answers

Creating accessible pages is something that is hard to think about if you have never done it. However, once you learn the basic concepts it is very easy to do in 95% of the cases. I will mostly be repeating what others have said, but:

  1. Only use tables for tabular data
  2. Make sure you use the semantic tools available to you via HTML. This means using TH with a scope attribute. Use <em> instead of <i> and <strong> instead of <b>. Use the acronym and abbrev tags. Use definition lists. I can expand on these things if anyone wishes.
  3. One of the most important things is to use the label tag on input fields. For every input field, radio button, checkbox and textinput you should have:

    <label for="username">Username:</label><input name="username" />

  4. Add a "skip navigation" or "skip to navigation" depending on where big chunks of text are. If you are working on a government site this should be second nature that everything you're creating allows you to skip repetitive information.

  5. Do not use colors for emphasis.

  6. Ensure that all of your text is resizable. This pretty much means don't use "px" in your css.

  7. I will re-emphasize this: create semantic pages. Use H tags for your titles. Use ul/li for navigation.

  8. Use the alt attribute on all images. If you have a spacer gif... well.. don't. Otherwise, explain what the picture is of and what its significance is to the content it is associated with. don't use "a chart" as your alt tag. Use "Chart of YTD finances: $5,000 Q1, $4,000 Q2, $8,000 Q3" or something similar.

  9. Provide closed captioning or transcripts for all audio and video components

The key here is to provide those with visual, hearing and motor impairments the same experience as those with standard physical capabilities. If you can't tab into a field, a screen reader can't either. If you can't click on the text next to a check box to select it, the screen reader doesn't know the text is related to the check box.

You should frequently view your site without stylesheets (ctrl-shift-s if you have Firefox and the Web Developer Toolbar) to see if the page makes sense. If it doesn't make sense to you as a sighted individual, it won't make sense to someone using a screen reader.

like image 78
Doug Moore Avatar answered Nov 08 '22 13:11

Doug Moore


Check out Fangs

Fangs is an in-browser tool for Firefox that emulates what a screen reader “sees” when visiting a Web page. Its function is simple: to output a transcript of what a screen reader will read out to a user when a Web page is visited. It’s a helpful tool for quickly analyzing if you’ve structured your content effectively so that it’s understandable and usable by vision-impaired individuals, without forcing you to learn to use (and purchase) a screen-reader application such as JAWS or Windows Eyes.

like image 32
NakedBrunch Avatar answered Nov 08 '22 12:11

NakedBrunch


It's been awhile since I've been at a job where we had to adhere to Section 508, but here's what I remember that hasn't been touched on by the other posters...

  1. Only use tables for data. Do not use tables for layout if you can avoid it.
  2. When using tables for data, your column headers should be nested in TH tags and you should use title and scope attributes. Your table tags should use the summary attribute.
  3. Images should all have a value for the alt attribute that describes what's going on in the image and if the image serves no purpose (it's a shim image or something similar) then the alt attribute should be set to empty string.
  4. Try using a text to speech reader and/or navigate only through the keyboard and/or turn off stylesheets. I believe you need to purchase JAWS, but I'm sure there are free screen readers out there. You need to experience a site through a screen reader to truly understand how difficult most web pages are to navigate without the cues that screen readers interpret.
like image 37
kooshmoose Avatar answered Nov 08 '22 12:11

kooshmoose