Accessibility Testing Part I

One of the issues faced by many developers and testers is the ability to test for accessible installations and applications without having the specific disability. Hopefully, we are going to explain how to perform some of that testing without cutting off a hand or poking out your eyes.

What is ISO testing? It is the testing of each CD image before it is released for public use. Most of us are familiar with the releases, called milestones, of alpha and beta CDs. Well, before those images are released, they are tested to insure they work. That testing is done by Quality Assurance Testing, and we can always use help. We also run tests in between those milestones, since finding bugs and trying to get them fixed right at release time is problematic. The earlier the bugs are found, the better chance we will get them fixed for the final release.

Who does the testing? I am not a developer nor a programmer. I am, however, a tester. I can download any CD, follow simple directions to test that CD, and file bugs if it fails to work the way it should. I voluntarily do this testing because I want to see users able to use the CD the way it is intended. If I find a problem that gets fixed before the user gets the CD, they can use it with fewer problems.

When we are testing the milestone ISO, we track the results of the testing at http://iso.qa.ubuntu.com/, called the ISO Tracker. When using the tracker, the tester looks at which CD is being tested. By clicking on the CD symbol to the left of the description, the correct image can be downloaded or z synced. Clicking the description, you see several tests listed. To the left of each test is a symbol which takes you to the test case, which is a description of how to perform that test. Clicking the test itself takes you to a place where you tell the tracker you have started or finished the test.

When we not testing the milestones, we can still use the test cases, which are located at http://testcases.qa.ubuntu.com/. If you are testing the installation, you can go directly to the install tests at http://testcases.qa.ubuntu.com/Install. The only difference between this and the ISO testing of milestones is that you will not be logging your tests on the ISO Tracker. Please file bugs you find, and use the testcases every couple of days. Since we are specifically interested in Accessibility testing, we will use the installation testcases at http://testcases.qa.ubuntu.com/Install/DesktopAccessibility. Each test case will describe how to perform the test, whether or not you are disabled. At the time of this writing, we have the screen-reader test. We will eventually have tests for the Magnifier and On-Screen Keyboard as well. We will also attempt to add individual tests for the applications.

How are you going to run this test without looking at the monitor? Well, turn it off, of course, if it is an external monitor. That lets you see exactly what those with severe visual impairment sees. If you can not turn the monitor off, put a towel over it. Many visually impaired individuals can distinguish light and dark. Using a white towel gives you the “light means on” type of indicator. Of course, you still can not read the monitor screen.

The third step of this test is “Select your language and press ENTER”. Inevitably, at this point, the question is asked “How do I  select my language with a towel over the monitor?”. Remember, this is exactly what happens for the visually impaired user. The default language is English. Just press ENTER to select it. No, it might not be what you really want, but it is what you can select. The other trick we use is to memorize where the language we want is. Have an assistant tell you how many down or up arrows to use to get to your language of choice. Is this getting annoying yet? Are you concerned that you might not be able to do this test? Relax, and try to have fun. This is a new way of trying to install for you. But while doing this, take some time to think about the user who is forced to always do things this way.

Post written by Charlie Kravetz

Indicators and Accessibility

With all the major user interface changes that are coming in Ubuntu Natty, its easy to get lost in exactly what is changing, how, and why. Things like how you access your most frequently used applications, files, and devices, are all changing. If not in Natty, then in the very near future with Natty+1 and beyond. With all these changes, there is one change that hasn’t been heavily talked about, at least in the Ubuntu accessibility community, and the change that I am about to talk about has been around since Lucid, if not longer.

Traditionally, both on Linux desktop environments and Windows, there has been the concept of the system tray, where applications and system services would place icons, to inform you about various pieces of information, such as whether you have new mail, the amount of battery power left in your laptop, your sound volume, new instant messages, etc. Both in GNOME and Windows, one would have to navigate to the system tray area, or the notification area in GNOME, to interract with these icons. Sometimes you might want to get more information about your laptop’s power state, or you might want to change the network you are connected to, or you want to retrieve that message that just came in. With various screen readers on Windows, it is possible to review and interract with these icons with one or more keystrokes, but depending on what you wanted to do, you would either have to left click, right click, or even double click to get what you are after, whether it be a menu, a window to pop up, etc. Since at least Lucid, there has been ongoing work to change the way users are presented with information from such icons, and change the way the user interracts with them. Enter indicators.

An indicator is an icon on the top panel, which is used to do much the same as a system tray icon, i.e network strength, sound volume, new messages, etc. However indicators take it one step further, by changing the icon image, depending on the status of the indicator. In addition, indicators are sorted into logical groups of tasks, which reduces the clutter on the panel. The indicators we have as of Natty, are:

  • * Network: Handles everything to do with connecting to, discovering, and configuring your system’s network access.
  • * Sound: This indicator not only lets you change the sound volume and configure various sound settings, it also gives you a common set of controls for any media player that communicates via the empress protocol. Both Rhythmbox and Banshee communicate via this protocol, with more Linux media player support coming as more developers learn about, and implement this protocol.
  • * Bluetooth: This indicator allows you to configure access to bluetooth devices, adjust preferences, send/receive files, etc.
  • * Power: This indicator provides status for yor computer’s battery if it has one, as well as for any recognised device that is connected, such as a media player, or phone.
  • * Messaging: This indicator groups all messaging related tasks together. Everything from email, twitter/identica accounts, and instant messages is found here. With all Ubuntu’s common messaging applications such as evolution, pidgin, gwibber and xchat, this indicator will let you know when you have any new messages. Opening the indicator will then show you the individual programs that have messages waiting for you. More about how indicators are opened, and how they display information to the user in a minute.
  • * Date and time: This indicator’s name should be self explanetory, lets you see the current date/time, as well as access a calendar, which will also have evolution calendar integration, so you can look up your appointments without even having to open evolution.
  • * User, OR MORE COMMONLY REFERRED TO AS ME: This indicator is used to show, as well as access, controls related to the CURRENTLY LOGGED IN user, both setting your status for chat/instant messaging applications, as well as accessing and configuring your user profile, including your picture. This indicator also gives access to Ubuntu One. You can find out more about Ubuntu One at http://one.ubuntu.com.
  • * Session: This indicator provides access to session conTrolls, logging out, shutting down/restarting, suspending/hibernating your system, as well as switching to the guest, or other user. You can also lock your screen from here.

The major difference between indicators and system tray applications, is that indicators are all menus, and the area where the indicators are shown is a menu bar. In other words, you can click on an indicator, and then use the arrow keys to move between all the indicators and their menus, just like you would a normal menu bar. Its worth noting that there are controls both in the date/time indicator, and the sound indicator, that allow you to use the left/right arrow keys for adjusting various settings, most notebly, the sound volume.

So for a user who uses a screen reader such as Orca, how do you access the indicators? The answer depends on whether you are using the traditional GNOME environment with the GNOME panel at the top, or Unity. For the traditional GNOME environment, the indicators themselves are placed into indicator applets, that are added to the GNOME panel. You can add and remove various groups of indicators, based on what you want to use. The panel still allows the use of traditional system tray like applets, so for GNOME users, you can still use the older system tray icons if you wish, however you may change your mind when you have used indicators a few times.

For Maverick and earlier, the indicators in the gnome panel are in 2 groups. Networking, sound, bluetooth, power, and messaging indicators make up the first group, and the Me and session indicators make up the second group. There is date/time for Maverick and earlier, however this is the clock applet, i.e you have to access this via conventional means, navigating to the panel, locating the clock applet, and activating it. To access the first group, you press Super + M. Note that Super is also known as the Windows key. Pressing Super + M will place you onto the messaging indicator, and then you can navigate to whatever indicator you want to interract with, via the arrow keys. NOTE: Super + M conflicts with a Compiz binding to invert screen colours. Please check to see whether you are using Compiz prior to trying this keystroke. If you are using Compiz, it is suggested you reconfigure the colour inversion keystroke to something else, as the Super + M keystroke for the messaging indicator is not currently configurable. Configuring Compiz is out of the scope of this post. To access the session/second group of indicators, press Super + S, again this is not currently configurable. This will place you on the session indicator. When using either keystroke, the indicator menu will open, allowing arrow key navigation. Since the indicators are grouped, it is not possible to move between the groups of indicators with the arrow keys. In Natty, all above mentioned indicators will be in the one group, and the Super + S keystroke is the only keystroke that allows navigation to the indicators, but because all the indicators are in one group, the arrow keys can be used to move between all the indicators. FOr Natty and later releases, date/time is an indicator.

For Unity, things are quite different. Not only can you not use legacy system tray icons, but once you navigate to the top panel, you can access all menus for the current application, as well as indicators, by using the arrow keys. There are no grouping barriers between any top panel items. To access indicators in Unity, press the F10 key. This will place you on the first menu of the currently running application. You then press left arrow twice, to navigate to the other end of the panel, and navigate through the indicators. More information about how to make better use of the Unity environment will be given at a later date.

Note that if you access the indicators in Maverick and earlier, you will not get much information about that indicator, i.e no info about how loud your volume is, either from the indicator when you open it, or when you navigate to the volume control, and no information about new messages, or current network/bluetooth/power status. The one exception to this is the Me indicator, where you will here your username when navigating to that indicator menu. This is because that indicator has a label. The indicator design calls for very minimal use of labels, and only where absolutely necessary. As stated earlier, the icon is supposed to give a visual representation of that indicator”s status. Accessibility wise, things will be partially addressed in Natty, where navigating to the main indicators will give you some idea of what indicator you are on, and if that indicator icon represents a particular status, you will hear/read a textual description of that status. For example, navigating to the volume indicator will give you your sound volume in percentage. Navigating to the messages indicator will tell you if you have new messages, and of course, the network indicator will tell you what type of network you are on, whether it is wired or wireless, and the signal strength if applicable.

The indicator menus also use icons to convey further information about status, particularly in for wireless networks, as well as for applications with new messages waiting in the messaging indicator. It is hoped that this will be fully addressed in Natty+1, as the components of the indicator framework that are responsible for these icon menu items need to be extended to support textual descriptions of menu item icons.

There may or may not be more indicators introduced in the future. Applications can create and display their own indicators as a separate icon, and it will be up to individual indicator authors as to whether they include a textual description of their indicator icon, but it is hoped that any application that needs to use indicators, will be able to be grouped under one of the main indicators discussed above, thereby keeping panel clutter to a minimum.

For more information about indicators and accessibility, feel free to contact the Ubuntu Accessibility team, https://wiki.ubuntu.com/Accessibility.

 

This post was written by Luke Yelavich

Meet Faisal

A common technique for user interface design is to create a set of personas, fictional characters who will be using the software and have different needs. These help developers to scratch not just their own itch, but the itch of these characters that will be using the software. Canonical has a set of personas already in use by the design team, most are able bodied people from different backgrounds, but one of them is a visually impaired user. The Ubuntu Accessibility team is working on a project to expand the set of design personas to include a wider variety of different users with accessibility needs. Each one should have a name and a background, they should seem as real as possible, whilst being completely fictional, they even have a plausible looking picture (Creative Commons licensed). The descriptions include what their needs are and what they find difficult to do with the current release of Ubuntu. Our personas are all lovely people who just need a little bit of your help making their favorite operating system to work well for them as well as it works for everyone else. If you are a developer of any applications in Ubuntu or websites or community we want you to think about each of our persona characters and just ask yourself questions like “This works for me, but is it broken for the personas?”

Our first persona is Faisal, a 28 year old from India, here he is whilst out for a drink with a bunch of his mates:

photo by Kaushal Karkhanis (BY-NC-ND)

Faisal teaches a class of 6 and 7 year old children in a primary school in Assam, India. He studied at an Indian Institute for Information Technology and certainly knows his way around the computer! He would like to make better use of technology in the classroom to bring the lessons to life and inspire the children to explore the world around them. Faisal has rheumatoid arthritis http://en.wikipedia.org/wiki/Rheumatoid_arthritis which was diagnosed whilst he was studying at IIIT and has progressively made it harder for him to use his hands to operate the keyboard and mouse of his computer. When he first started teaching the arthritis didn’t cause much of an issue but now he is worried that if he became unable to continue he would find it very hard to get another job. He now doesn’t use the computer in the first lesson of the day when his hands hurt the most, and has found some ways to make it easier. He uses a very slow mouse cursor as he doesn’t have the fine motor control. He finds it very hard to resize windows with the standard Ubuntu themes, he has learned to hold alt and use the middle mouse button to resize because he just can’t hit the window borders. One hand on the keyboard for the alt key and moving the mouse whilst pressing the middle button is a tricky bit of coordination but he gets by. In the evenings when preparing lesson plans for the next day Faisal tends not to use the keyboard but uses the Dasher on screen keyboard, this allows him to type with just small movements of the mouse to select letters as they fly across the screen, it isn’t as fast as typing on the keyboard but it is much more comfortable and he can use it for long periods. Faisal also suffers from Deuteranopia, a form of colour blindness which is quite common in men, affecting about 1%, it can also affects women, but not nearly as many, about 0.01%. This means he struggles to distinguish red and green colours, so red icons on a green background just fade together.

Behaviours

Learning

Faisal is a teacher and an academic, he will have a play with new things to discover how they work, then he likes to read documentation and manuals to back up what he has found out for himself.

Use

Faisal has a laptop, he tried a netbook but the keys were too small and close together. In the classroom he plugs it into a television for the students to see the screen too. The school plans to get more projectors but there isn’t one in his class yet.

Sharing

Several other teachers at the school were impressed by Faisal’s use of Ubuntu in the classroom, they want to know more about it and Faisal has promised to spend a day showing them how to use it during the holidays.

Adoption

He is keen to look at new ways to control the computer, he is looking forward to finding out if the Unity desktop will make his window management easier or harder. He likes to try new hardware as well and wonders if the Apple magic touchpad would be a better way for him to control Dasher.

Why using Ubuntu?

Faisal uses Ubuntu because he likes being able to adapt it to suit himself. He enjoys participating in the community support, both asking questions and helping other people.

Why a challenge?

Using a computer is an increasing challenge for Faisal as the keyboard gets more painful and can be used for shorter periods at a time. Using Dasher is relatively comfortable but it is slow, requires a lot of concentration and segfaults too much. Ultimately his condition is incurable and progressive, but Faisal wants to carry on working and enjoying what he does while he can.

Life Goals

It is quite hard in India for those with a disability to get a job, Faisal has no intention of leaving the school and wants to grow as a teacher in the area he loves. In two years from now Faisal will still be taking a sabatical from the teaching job to lecture trainee teachers on the use of technology in the classroom.

Experience Goals

Faisal would like applications to make efficient use of the keyboard and give him the flexibility to use multiple input devices and on screen keyboards. He would like applications to be tested for colour blindness to ensure that the colours used don’t blend together.

How to be Faisal

To test Ubuntu to make sure it works for Faisal and for people like him, you need to make your hands worse. Use sticky tape to tie some fingers together, observe how this makes some key combinations harder to reach. For a lack of mouse control crank up the mouse accelleration settings to the maximum, and instead of holding it in your dominant hand as normal swap to the other hand. If this is too easy try moving the mouse by prodding it with clenched fist rather than holding the mouse itself. You could also try tying some string around your wrist and attaching a weight to it that hangs off the desk to see the effect of a lack of control and fatigue. To use Dasher as a keyboard install it from the repos and launch with “dasher -a direct”. Unplug your regular keyboard and put it out of easy reach, just to remove the temptation to press a key if you get stuck! At some point Dasher will segfault – now what are you going to do? Faisal is colour blind, so you need to be colour blind too. Install compizconfig-settings-manager package and turn on the colour filter plugin in the accessibility section. Press super+d (the super key is the one with the little Windows flag on it) to turn on the full screen filter, then ctrl+super+s five times to step through the filters to the Deuteranopia setting (the Protanopia filter doesn’t work in Maverick 10.10 due to bug 599206 which has been fixed in Natty 11.04)


We do hope you enjoyed meeting Faisal, our first Accessibility Persona, why not come and join the team in the #ubuntu-accessibility channel on Freenode IRC and help us write the rest of the set.

Introducing the Accessibility Team Blog

Welcome to the new blog from the Ubuntu Accessibility Team!

With all the focus on getting accessibility support in Unity and looking forward at all the exciting things going on in the world of open source accessibility support, we decided that it was time the team had a blog.

The Ubuntu Accessibility Team is a joint community and Canonical team which works on development, testing, support, and documentation for accessibility for people with sensory, cognative, physical, and any other type of impairments. Most of the development work is done within Canonical with the current focus being getting the accessibility framework written for and into Unity in time for the Natty Narwhal (11.04) release. On the community side we focus on support, testing and bug fixing, and documentation. We also do work to educate both the larger Ubuntu community about accessibility and the disability community about Ubuntu and open source software.

Currently there are several main projects happening:

  • Development – Luke Yelavich and others at Canonical are getting the accessibility framework, keyboard navigation, and other accessibility related issues into Unity.
  • The Personas Project – Community members have researched and are writing design and development personas that will fit in with the preexisting design personas for Ubuntu covering a range of impairments. We hope that these will be useful both to Ubuntu designers and developers and to add to the growing number of general accessibility personas out there in the open source community. We’re always looking for new people willing to help with the writing now that the research is done.
  • Testing – We have worked on some general preparations and guidelines for testing accessibility so that as soon as the new accessibility features are in Natty and available for community testing, we can test! Luke and his cohorts have had to write a new framework in a very short amount of time and we need to get it tested as thoroughly and quickly as possible so that everyone who chooses can use Unity. The bug squad has agreed to label all Unity accessibility bugs as Medium priority or higher and there will now be ISO testing for installing as a blind user (after it turned out Maverick is not possible to install without assistance if you’re blind).
  • Documentation – We’re waiting for the accessibility features to show up in Unity so that we can get the documentation done. We hope to work with and get support from the Ubuntu Doc team in doing so.
  • Outreach – Most of our outreach is still informal in blog posts, social networking, and other personal types of outreach. I am looking forward to expanding this part of the team in the future. I’d like to see people from the Ubuntu Accessibility team liaising more with other open source accessibility teams, but also going out and having a presence at both open source conferences and disability conferences.

The Ubuntu Accessibility Team can be found in the following places:

  • Mailing list: ubuntu-accessibility@lists.ubuntu.com
  • IRC: #ubuntu-accessibility on irc.freenode.net

The Ubuntu Project Philosophy includes a commitment that that every computer user “Should be able to use all software regardless of disability.” The Ubuntu Accessibility Team is working hard to make that a reality.