[Blindmath] How useful is a GUI to blind users?
Michael Whapples
mwhapples at aim.com
Sat Jan 7 20:13:29 UTC 2012
Hello,
An interesting question and one which probably doesn't really have a
straight forward answer. I will try and keep personal feelings out and
present arguments either way.
Firstly it might be worth considering whether users, including blind users,
are actually still familiar with command line applications, if everything
else they use is a GUI then the command line system may seem foreign. That
certainly could be the case for users of Windows which is the vast majority
of computer users but may be less of a case on Linux where the text console
is still very alive.
Yes using simple command line interfaces probably will make certain aspects
of programming easier, but there may also be areas which could catch you out
and turn out to be harder. The big advantage as you have suggested would be
that there is no access bridge required and no external libraries to
include, although you may want to include some extra libraries as I believe
there are some which aid in command line interface creation.
Where I do have my doubts, could a command line interface really be as rich
and helpful and easy to use as a GUI? The GUI has many types of controls
which can lead you through what you are doing. You identified the file
dialog as one, however there are also things like combo boxes and lists (eg.
what shapes can one include, well they are all shown in the combo box).
Menus are also another useful feature, I know the task I want to do, but
what does the software call it and how do I get at it? Looking through the
menu I will be able to find it. Then there is for you things like user input
validation, with a combo box or a selection list the user cannot insert
invalid data but if they just freely type the input then they can enter what
they like and you need to validate it and let them know why it is wrong.
Also there is the issue of knowing how to use the system, instructions need
to be clear particularly for those where all options are given as command
line arguments as the application has no chance to tell the user how to use
it before they start it. I am sure that many of these issues can be
overcome, for example having suitable help available and may be by using
some of the libraries available for assisting in commandline interface
design.
I am now going to expand this from "command line" where one does prompt and
reply to what I term "text based" where one can do much more advanced stuff.
You may want to look on Linux to see what sorts of things are done, although
I will explain some of them. First thing which comes to mind, specifying a
file name, well tab completion can be really helpful here, even Windows has
this in the command prompt. However tab completion can be used for much
more, in the prompt and reply session the user might be able to see the
options available by pressing tab, if they have partly entered their reply
then the options beginning with what has been entered could be shown and if
only one matches then it could be fully completed. I think it can even be
done for command line arguments, however I think it might be shell specific
(eg. I think it requires bash or ZSH) and so probably it cannot be done for
windows.
I previously mentioned about combo boxes and lists, well there are many
Linux applications which are text based and still use lists, menus and other
types of controls. The issue with some of these applications though can be
whether the screen reader can follow the highlight of the selection. Some
applications move the cursor to the position of the selected item, others
just use a highlight and keep the cursor in one place on the screen. Speakup
which is a screen reader for the Linux text console has a number of tracking
modes which the user can toggle between to try and work with the various
types of application. This is certainly an area where an accessibility API
helps, it presents the selection to the screen reader in a nice, definite
and consistant way. Also it should be noted speakup is a screen reader
specifically for the text console, many windows screen readers obviously
focus on GUI accessibility and so can be quite clumbsy at best for working
with these types of text based applications. In some cases they can even get
the content of the command prompt wrong, as an example voiceover on the Mac
can misread the content of a line in vim (the text based vim, not macvim) if
you have cursored down and up quite a bit. While this seems to be quite
negative, please don't take this to mean that all text based applications
using these more advanced interfaces are inaccessible, in fact many are
perfectly accessible and usable (eg. on Linux applications like lynx, vim,
alpine, nano and many of the menu driven helper applications of the GRML
distribution work fine with speakup). I guess my main message here is it may
not be quite as rosy as you may first expect.
Now I know it has been mentioned you can have shortcut keys in a GUI but not
in a text based application, well that is wrong, you certainly can have
shortcut keys in text based applications. As some examples there are
applications like the vim editor, alpine/pine email clients, lynx the web
browser and if you have three or more hands and the ability to press half a
dozen or so keys at a time emacs which supposedly can do almost anything and
has an extension which gives built in speech output (emacspeak).
I hope the above has been useful. The only other thing I will add is, trying
to achieve cross-platform accessibility is really hard and it is something I
have struggled with as well. Normally you have to make a compromise
somewhere (eg. Java swing is easy to develop with but may be hard for the
user and may not be perfect in the results, SWT I think you know the issues,
the command line you are going down a different route to most people and
still results may not be perfect, web based can be good but then you have
the hastle of either hosting it or getting the user to run it locally and
then connect to it or you could just go for supporting one or may be two
platforms and using either the native libraries of the platform or a third
party one like QT or GTK). Personally my views for developing with Java go
towards either SWT or web based applications if you want cross-platform
accessibility.
Michael Whapples
-----Original Message-----
From: Richard Baldwin
Sent: Saturday, January 07, 2012 5:45 PM
To: BlindMath Mailing List ; accessibleimage at freelists.org
Subject: [Blindmath] How useful is a GUI to blind users?
It occurred to me the other day that prior to the advent of the Graphical
User Interface (GUI), the user interfaces for all programs were accessible
for blind users so long as they had a screen reader that would speak the
information displayed on the command-prompt screen.
For those who are too young to remember, programs in that day prompted the
user for input and the user responded in a back-and-forth dialog fashion.
Once all of the input data was provided, the program ran and did whatever
it was supposed to do.
Another way that information was provided to the program was in the form of
typed information (commonly called switches) provided by the user when she
started the program running. Batch files were often created with a simple
text editor to make this procedure less prone to typing errors.
The one area where I see the GUI being particularly useful for a blind user
is the file selection dialog. The use of the GUI dialog eliminates the
requirement to type long path and file names. However, if the disk is
organized in such a way as to keep the paths short, even this doesn't
appear to be a significant advantage.
For those who don't know, and without getting into the technical details as
to why, there are major problems associated with creating accessible user
interfaces when programming in Java. Using the SWT to create accessible
user interfaces significantly reduces the power of the Java programming
environment because it precludes the use of many excellent programming
libraries.
This causes me to wonder if, for those programs that are primarily intended
for use by blind and VI users, it might make sense to go backwards in time,
forego the GUI, and write those programs using the "old-fashioned" prompt
and reply style of user interface. I would be interested in seeing some
discussion on this topic.
Dick Baldwin
--
Richard G. Baldwin (Dick Baldwin)
Home of Baldwin's on-line Java Tutorials
http://www.DickBaldwin.com
Professor of Computer Information Technology
Austin Community College
(512) 223-4758
mailto:Baldwin at DickBaldwin.com
http://www.austincc.edu/baldwin/
_______________________________________________
Blindmath mailing list
Blindmath at nfbnet.org
http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
To unsubscribe, change your list options or get your account info for
Blindmath:
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com
More information about the BlindMath
mailing list