Tips and Tricks for Website Accessibility Testing with the Screen Reader JAWS

BACKGROUND

I have had many occasions to “look” at web sites with a screen reader.  These informal tests have come at the request of developers to help them understand, in practice, how accessible these web sites may be.  In my own experience, and talking with other screen reader users, I have observed some practices that screen reader users routinely do that non-user testers sometimes do not.  This document shares some of those practices to give developers and testers a better understanding of how screen reader users interact with web sites and some tips on how to make those interactions easier.

SCREEN READERS

JAWS (Job Access With Speech) is only one of several screen readers available to persons with visual impairments.  However, it is the most frequently used—by approximately 50% of the screen reader user population.  It’s pricey, so if you cannot purchase your own version, download the demo version.  The demo will work for 40 minutes per session, then you’ll have to reboot your computer.

To download the demo go to:
http://www.freedomscientific.com/fs_downloads/jaws.asp

The JAWS web site also has a great page called “Surf’s Up” for learning how to become a power user of JAWS with the web.  It can be found at:
http://www.freedomscientific.com/fs_products/Surfs_Up/_Surfs_Up_Start_Here.htm

There are other screen readers out there.  Learn more about them by going to
Window Eyes
http://gwmicro.com/Window-Eyes/
Nonvisual Desktop Access (NVDA) (free)
http://www.nvaccess.org
System Access to Go
http://www.satogo.com
GETTING READY TO TEST
1.    Install JAWS on your computer.  You’ll be prompted whether you want to have JAWS start when your computer boots up.  Unless you plan on having a dedicated computer running a licensed version of JAWS, you probably don’t want it to start at bootup.
2.    When you’re ready to test, start JAWS.  If it’s your first time using JAWS, you’ll probably want to adjust the speech rate so that it is comfortable for you.  You can do that by using Ctrl+Alt+Page Up and Ctrl+Alt+Page Down.
3.    Unplug your mouse, or hide it somewhere out of reach.
4.    Start your web browser.  You’ll hear JAWS starting to speak.
5.    If necessary, maximize the window by pressing Alt-Space+x.
6.    Load your web page.  To get to the address bar, press Use your browsers keyboard commands to get to the address bar and type in the address.

HOW JAWS READS THE PAGE

When JAWS “reads” the web page, it’s not actually reading what is being shown on your screen.  It is looking at the HTML file associated with the page and reading that, plus adding other helpful information.  Generally that means, JAWS will “say” the following information:
1.    How much of the page has loaded.  (JAWS does this because when pages load slowly, there’s nothing for JAWS to read yet, and so it’s letting the user know it’s coming – sort of like a progress bar.)
2.    The title of the page.
3.    Some summary information about the page (e.g., number of regions, landmarks, frames, headings, and links. This is useful for basic orientation to the page).
4.    Then the actual page content, generally from upper-left to lower-right.

It’s hard to actually say exactly how a page will be read because it depends on how the page is constructed in the HTML file.  JAWS reads through the page in source-code order.  To open the web page source code file, press the Alt key to put focus in the menu bar and then use the arrow keys to open the View menu and then choose the page source option.

In general, a page will be read with the top banner area first, then the navigation bar, and then the main content area, from top to bottom.

GENERAL APPROACH OF A SCREEN READER USER

Screen reader users first listen to see if they have arrived at the page they intended.  If it’s the right place, few users will sit and listen to the page being read from the top to the bottom, each line, left to right because this would take way too long.  They most often silence JAWS by hitting “control.”  Their goal is to scan the page, just like people do with their eyes.  However, because it’s not as easy to scan a page by listening to it compared to seeing it, they want to find the most useful part of the page.  Their next step depends on whether they’re familiar with the page or not.

If they know exactly what they need on the page, they will use Ctrl+F to find an uncommon text string on the page or they’ll use JAWS’s “Link List” (by pressing Insert+F7) to find a specific link for what they want.  They may also use headers to jump to the desired section.

If they’re unfamiliar with the page, users first try to determine the layout of the page.  This is done in many different ways, but usually involves tabbing or arrowing through the links on the page (the first set of links usually are main navigation groups) and listening to the page’s major headings (which can be skipped to by using the 1 through 6 keys, corresponding to the H1 to H6 HTML attributes).  You can also use JAWS’s “Headings List” by pressing Insert+F6.  Once they have a good feel for the page, they will keep the general content like the navigation bar in their memory and then they will make an educated guess about what part of the page most likely has the content they want.

HOW TO MOVE AROUND A WEB PAGE USING THE KEYBOARD

Interacting with a web page using a screen reader is not only different because it’s being done with speech, rather than sight, but because you need to use the keyboard for everything, instead of using a mouse.  Here are some basic keyboard commands for moving around a web site.

To Do:    Most Users:
Move from link to link going down the page    Press Tab
Move from link to link going up the page    Press Shift+Tab
Follow a link or activate a button    Highlight the item and then Press Enter
Stop JAWS from reading    Press Ctrl
Move to the top of the page    Press Ctrl+Home
Read the page line by line    Use the arrow keys
Read from position to end of page    Press Insert+Down Arrow
Read first line of each paragraph    Press Control+Down Arrow
Check or un-check a checkbox    Press Space
Open a dropdown box    Press Alt+Down Arrow
Enter Forms Mode    Highlight an entry field and then Press Enter
Exit Forms Mode    Numpad Plus key
Navigate to next heading    Press “h”
Move to the next button    Press “b”

Note:  JAWS refers to the Insert key on the keyboard as the “JAWS key.”  For additional keyboard assistance with JAWS you may activate the keyboard help with Insert+1 to review the functions of each key or key combination using JAWS.  Be sure to toggle off keyboard help with Insert+1 when finished.

To put this into practice, pick one or two tasks that any user might do with the web page.  These tasks are specific to the purpose of the page and can be anything, from finding the link to take you to an article, filling out a form, adding something to a shopping cart, etc.

As one becomes more and more familiar with a particular page, then one knows how to move around.

To evaluate the page, listen carefully to each line—is all the information you see being spoken? Also, many blind people will not listen all the way through text so make sure the most important information is in the first half of the line.

COMMON PROBLEMS TO LOOK FOR

Another tip, which comes from the “Surf’s Up” page, is that JAWS provides context-sensitive help for many different elements you might encounter in web pages.  To read help information for the current web page or element within a web page, press INSERT + F1.  For general help withbrowsers, press INSERT + F1 twice quickly while the browser is the active window.

Listen for redundant information.  For example—some alt tags say “link to homepage.”  JAWS automatically says “link” for links, so one hears “link link to homepage.”  That is a lot to listen to when all you want to communicate is “home” –a better choice for an alt tag.

In general, don’t make the alt tags any more wordy than they need to be to convey the intended meaning.

Navigation and Links
Determine if there is a navigation system to allow the user to skip repeated links—either a “skip to” link or use HTML headers or landmarks.  Links in the page that skip to another part of the page are especially important for the navigation bars most sites have, that way the user doesn’t have to listen to the same set of links every time they go to a new page.  Test and see if it works.

To see if you have links with the same label that go different places, have JAWS list your links by pressing INSERT+F7.  Look at and listen to the list—you may see several “more,” “help,” or “click here” links.  They don’t mean much out of context.  Make sure links have just enough information in them to allow for non-contextual identification.

Forms
If there are form fields on the page, test to see if they work well with Jaws.  You will hear a tone indicating you have entered a text field and a corresponding one indicating you have exited. Be sure and test form elements involving a calendar as they often are problematic with Jaws.

Some JAWS users use the “B” key to jump to buttons.  Sometimes what the text says is a button is coded as a link, not a button, causing confusion for the JAWS user.  You may want to search for the word “button” to find where you refer to pressing a button, and then press “B” is the button you referring to coded as a button or as a link—if it is coded correctly, JAWS will jump to that button.

Popup Windows
Click a link that opens a pop-up window.  Make sure JAWS tells you it’s a new window.  If not, the user needs to know about that before the window is opened.  Otherwise, they won’t know to close the current window to get back to the previous page.  Make sure the pop-up has a Close button, otherwise use Alt+F4 to close the pop-up.

Tables
Listen for JAWS to tell you about tables.  If the tables are only used to control layout, they should not include any table header elements (th).  Additionally, you can further hide these tables from JAWS by setting the summary attribute to summary=””.  If the tables are used to present data then it is important to include use table heading elements (th) with the scope attribute set to either row or column to allow JAWS to properly convey table heading information.  Test data tables by using the JAWS Table Reading Commands to navigate through the table.  Control+Alt+up, down, left or right arrow keys.  As you move across a row, JAWS will announce column headings as they change for each data cell.  As you move down a column, JAWS will announce the row headings.  If you are lost, you can use Control+Alt+Numpad 5 to get JAWS to announce both headings associated with the data cell.

Miscellaneous
Finally, be on the lookout for JAWS speaking “garbage.”  Garbage usually is full URLs, JavaScript code, or images that do not require descriptions.  (alt=”spacer”) to hide images used for purely decorative or formatting functions use alt=””.  Listening to this is painful and most screen reader users silence JAWS and quickly move on.

Also be aware that some files posted on Internet sites pose unique challenges.  For example, PDF files may take a while to load causing some to believe they are not accessible.  Sometimes they take a long while to load only to learn that they are not accessible.  Thus many screen reader users avoid opening PDF files because of their experience. Flash presents similar problems unless the file has been created to be accessible.

Note:  You may also want to test your web pages without JAWS and without your mouse, doing everything from the keyboard.  This is because keyboard operations sometimes react differently when JAWS is loaded and some people with physical disabilities use the menus because they cannot use a mouse, but do not use JAWS.

THE FINAL WORD

If there’s one thing to learn from your testing of web pages with JAWS, it’s that HTML (and even Flash and PDF) are not accessible or inaccessible by itself.  It’s all a matter of how they’re implemented.  Small changes can make a big difference to users with screen readers.  Knowing how someone uses a web page makes it easier to design it.

I wish to thank Aaron Bangor for his contributions to this article

Additional Information:

Jaws users are generally careful about updating their software because sometimes accessibility is worse in the update, or Jaws scripts have not been written for the newer version.  For this reason one may want to look at browser versions that are less frequently updated.  For example you can try the extended support version of Firefox as discussed on the JFW listserve in June, 2013.
http://www.mozilla.org/en-US/firefox/organizations/all.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s