Testing accessibility of text applications

Is your text application accessible ? Quite difficult question. There is an accessibility applications howto on TLDP, but the best way to check accessibility of your software is to just test in real conditions.

What we propose on this page is a guide for testing by yourself how well BRLTTY will be able to read your application and show it on a braille display.

Requirements

You will need several pieces of software:

If you can get all that from your distribution then fine, go to next section.

If you don't have (a recent enough) BRLTTY:

Run things

Now you can play with your application and see how well it appears on the braille display!

Braille devices have more or less navigation keys for moving around the terminal. Configure your window manager to never let the BRLTTY window get the focus and then you can use -B model=xxx to try different models:

By right-clicking on the window, a popup menu appears, letting you change on the fly the model and size of the braille device. Yes, it sometimes crashes after few changes.

My application is a distribution installer

You can use the curses interface of qemu to check how well it gets read:

BRLAPI_HOST=127.0.0.1:1 qemu -cdrom yourimage.iso -hda hd.img -curses -k fr

Note the -k fr option, which is needed to tell qemu that the real keyboard is e.g. a french (fr) one. See /usr/share/qemu/keymaps/ for the possibilities.

You can check for automatic USB braille device detection by using qemu's braille device emulation:

BRLAPI_HOST=127.0.0.1:1 qemu -cdrom yourimage.iso -hda hd.img -usbdevice braille

That will make qemu emulate a virtual USB braille device, and output the result on brltty's fake braille device.

How to improve my application?

We won't repeat what TLDP says in is How to Develop Accessible Linux Applications, but highlight the "Focus" paragraph.

A text terminal has a cursor. Many applications choose to just hide it. This might be fine for most people, but it is a considerable loss for screen readers: the cursor is very handy to quickly tell which portion of the screen is important (text to type/read, currently selected file/mail/button, etc.). So please make sure that you provide the user an "Accesibility" option which enables displaying the cursor on such handy place (or better, have it the default behavior). Yes, really display the cursor, else hardware devices won't be able to find its position.

A rule-of-thumb could be "put cursor at the beginning of what is most useful to read now". For instance, put the cursor at the beginning of the text of the currently active button.

If you are not sure about the right way, just ask for advice on mailing lists like brltty@mielke.cc, debian-accessibility@debian.org, blinux@redhat.com, ... People will just tell you what they would prefer.

Thanks a lot!

Improving accessibility is difficult, but it is very beneficial for a not-so-small part of your users...