Wednesday, April 1, 2009

Testing For Accessibility

Accessibility Testing focuses on the accessibility of a website, how a website is accessible to the end users. Today, most of the websites are non-accessible. Here, the word 'Accessibility' is probably quite confusing to us. I am pretty sure that you are having a lot of questions like; What the 'Accessibility' is exactly?, Why our website is not accessible to the end-users?, Are the users really not able to use our website and so on. This is not the matter at all, our website is used by the end-users and it is also accessible in the web too but it is only targeting the most potential user group who are normal (Fit in both physically and mentally).

There are various kinds of people living in this world. All the people in this world are not same in terms of their qualities. Each of the person is unique. Some of us are quite healthy, some of us are not so healthy, and some of us are not at all healthy in terms of both physically and mentally. A normal person can perform anything he/she wants but there are some people of disabilities those are not able to do what they exactly wanted to do even. Likewise a normal user can use a website properly but how can a blind person use the website, how can a physically handicapped person use the website, how can a mentally disabled person use the website.

While developing/Testing a website, we only target for the general user/people probably because they are having the majority. But you know, as I have said; There are some other people in this world itself who wants to use our product/application too. So, now we came to know that, we are loosing a special group of people who really wants to use our product/application. So, now here the word 'Accessibility' comes into the picture.

Attention Testers!!
Don't get so excited, this is not the time to test for accessibility because the product/website itself is not ready with having the accessibility feature. For performing the accessibility testing, first we need to develop a website having the accessibility feature embedded with it. As I have said, generally we only focus on the most potential customers who are fit and fine in terms of both physically and mentally. But now we need to also focus for the special group of people as well who are having disabilities. A website can be accessible to all the groups of customer by implemented some of the accessibility feature in the application/website. After the implementation of accessibility feature in the application/website everyone from a child to an old man can use the system effectively.

Importance of Accessibility
The obvious reason for accessibility is to increase the number of users to a website. Every visitor to a website is generally a potential customer. If there is a group of users that cannot access our website they may take their business to a competitor. Hence, we need to also embed Accessibility feature in our website/product too for targeting a large number of users.

The general user/people is anyway able to access and use the product/application but as I have said, one of the special group of people can take advantage out of the accessibility of a website are users with disabilities. Many of these users will have specific requirements in a website to allow them to successfully access the content and functionality.

These requirements may include:
  • Users with a visual disability may access a website via screen readers (software that reads out the content of a page)
  • People with a physical disability may utilize assisted technologies to navigate a site (e.g. head wands and mouth sticks instead of a mouse)
  • People with mental disabilities may require a different structure of content or navigation to assist in finding information in the website.
    A physically handicapped user using computer with head stick
In addition to losing potential customers, there are also legal reasons that require a website to comply with accessibility standards. The world wide consortium has recommended some guidelines in order to make the website accessible irrespective of various kinds of people/users. You can check it from http://www.w3.org/TR/WCAG10/.

Today, the WEB is one of the primary media by which people can interact with each other, they can share their emotions, various information, knowledge, and other various things. We all of us know that (Especially in the language of Hindi) ROTI, KAPDA aur MAKAAN are the three basic things which is needed for the livelihood of each of the person. But now-a-days, it is not the case. The WEB is becoming one of the most essential objective of living. There are some person who can't live without the WEB, and you are the one of them I guess. It could be a major priority in my opinion too. With accessible websites, people with disabilities can do ordinary things: children can learn, teenagers can flirt, adults can make a living, seniors can read about their grandchildren, and so on. With the Web, people with disabilities can do more things themselves, without having to rely on others. People who are blind can read the newspaper through screen readers that read aloud text from the computer.

However, this possibility is not a reality throughout the WEB. The problem is that most websites have accessibility barriers that make it difficult or impossible for many people with disabilities to use them. And most web software tools are not sufficiently accessible to people with disabilities, making it difficult or impossible for them to contribute to the Web. This is really a very big deal. Millions of people have disabilities that affect their use of the WEB.

Web accessibility basically means that people with disabilities can use the WEB. More specifically, Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web. Web accessibility encompasses all disabilities that affect access to the Web, including visual, auditory, physical, speech, and neurological disabilities.

There can be some of the examples:
  • Some people cannot use their arms or hands to type or move a mouse.
    They can use a mouth stick or head stick for operating the computer.
  • Some people cannot see at all.
    They can use a screen reader that reads aloud the information in the web page.
  • Some people have neurological condition that makes them hard to focus on the small text written in the web page.
    They can read the content of the web page by increasing the text size of the browser.

Alternative text or the alt text are a clear example of web accessibility. Web pages often include images, but some people cannot see images. People who cannot see images can get the information contained in the images when web developers include alternative text for images. An alternative text provides the same functional information in text as the image provides visually. The markup for image alt text looks like:

<img alt="mindfire solutions" src="http://www.blogger.com/mindfire.jpg" >

With equivalent alt text, the page is equally useful with or without images. Note that providing alt text improves accessibility without changing the visual appearance of the website.

Benefits by including alt text
  • Read by screen readers and voicing browsers
  • Displayed in text browsers
  • Displayed in graphical browsers when images are not downloaded
How to perform web Accessibility Testing
It is critical to know not only what to test in terms of accessibility, but also how to perform the Accessibility testing. But one thing, I'm sure that we every tester/developer do the Accessibility testing in a daily basis unknowingly. The one of the major Accessibility testing we do in a daily basis is 'Key board accessibility'. We often use the keyboard short-cuts for performing various tasks. It's all about the Accessibility testing.

1. Accessibility Testing using keyboard
Keyboard navigation is first thing to test in manual accessibility testing. We should just push our mouse to the side and navigate using only the keyboard by using the tab, arrows and enter keys. This is something which at least doesn't requires much effort to perform. We should measure, is the website working fine by using keyboard or not !

2. Browser Accessibility Testing
The browser testing could be one of the primary testing checklist while performing manual accessibility testing. Testing in several browsers is of course the most obvious way to test a site for it's accessibility. If 10% of the users can’t access the site because it doesn’t work in Firefox or in Internet Explorer, then it could be a problem. So, we need to test the site with some of the well known web browsers like; Internet Explorer, Firefox, Opera, Chrome, Safari, etc. and also test in text-based browser like; Lynx browser.

Under Browser Accessibility Testing, there are various checklists to perform in terms of accessibility of a website. We will discuss each of the checklists in detail.

Accessibility Testing by zooming the texts and window
Text zoom is one of the primary things we should try while testing for web accessibility. The browser always displays the contents of the web page in the default font size and window size. And some end-users like old man can not view the contents of the web page unless it is not enlarged. Also while performing this test, we have to ensure some specific browser's options and behavior like Internet Explorer 6 and 7 relies on only enlarging the text, and not the whole window but the Firefox 3 offers to enlarge both text and the whole window size.

For performing Text Zoom testing, we can use our browser option.


Firefox: View Menu > Zoom

Internet Explorer: View Menu > Text Size

Accessibility Testing by enabling/disabling the Style Sheets
The "Accessibility" button in Internet Explorer allows to switch off style sheets, once done then the page colors can be changed from the color button and font style and fond size can be changed from the font button from the browser. This is good for testing if pages work with style sheets switched off, clarity of images of text and clarity of text in drop down menus.

To perform this in Firefox:
Tool Menu > Options > Content > Fonts & Color section > Advanced/Color

By performing these steps, a user can change/customize the font size, font type, font colors, etc.


To perform this in Internet Explorer:
i) Tool Menu > Internet Options > General > Accessibility > Ignore colors specified on web pages
ii) Tool Menu > Internet Options > General > Accessibility > Ignore font styles specified on web pages
iii) Tool Menu > Internet Options > General > Accessibility > Ignore font sizes specified on web pages


Accessibility Testing by enabling/disabling the Java scripts
Java script is the most popular and useful client side validation scripts used in the web today. Most of the website uses the Javascript for various validations in their web page. Javascript can be used to validate input data in HTML forms before sending the content to a server.

Form data that typically are checked by a Javascript could be:
  • Has the user left required fields empty?
  • Has the user entered a valid e-mail address?
  • Has the user entered a valid date?
  • Has the user entered text in a numeric field?

Javascript helps to interact with the end-users in user friendly manner. But more often Javascript is disabled by most of the people. There are unfortunately quite a number of Internet sites which abuse Javascript, for example; generating unwanted pop-ups and irritating animations. There are also a number of Javascript-related security holes in browsers and as a result a lot of readers switch Javascript off. Therefore it is important to check a website still functions with Javascript disabled. A good website should function with having Javascript whether on or off, the basic functionality of the website should function properly anyway.

Testing with Javascript switch off enables to see if page content and functionality can be accessed with no Javascript. This is useful for testing form submission and validation, drop down menus, search functionality, pop-up window links, etc.


To turn on/off Javascript in the Firefox, perform the following steps.
Tool Menu > Option > Content > Enable Javascript


To turn on/off Javascript in the Internet Explorer, perform the following steps.
Tool Menu > Security > Custom Level > Scripting


Accessibility Testing by enabling/disabling the image
As we have already discussed how useful an alternate text by including in an image in the web page. Alt text testing can be done when images are turned off by the browser. When images are turned off, a user is still able to view and understand the content by the alternate text used for the images in the website.

As we have already discussed how useful an alternate text by including in an image in the web page. Alt text testing can be done when images are turned off by the browser. When images are turned off, a user is still able to view and understand the content by the alternate text used for the images in the website. For performing this test, we can use our browser option.

In Firefox:
Tool Menu > Options > Content > Load images automatically


In Internet Explorer
Tool Menu > Internet Options > Advanced > Multimedia > Show Pictures


On the above I have discussed the testing techniques which can be done only manually. Apart from the manual techniques, there are also some automated tools available for testing accessibility of a website. The automated tools such as; Mark up validation service by (W3C) World Wide Web Consortium which check for HTML or XHTML syntax used in a web page, it can be embedded with the browser or can be simply check on line by entering the web URL. There is another tool for checking CSS validation. Likewise there can be many more tools available which ensures for web accessibility for a website. We can test a website by assessing the thoughts of the people of disabilities how easily they can use the site but we can not succeed completely because it will have still some exception, I mean a website can not be tested properly until a real user tests the website. Because ultimately the website is used by the people of disabilities, they know well what they wanted from the website. Therefore the real users (People of disabilities) can test the website having the accessibility feature in a better way.