[Blindmath] How useful is a GUI to blind users?
Jamal Mazrui
empower at smart.net
Sun Jan 8 01:57:51 UTC 2012
Some miscellaneous points are as follows.
There were text mode, screen oriented user interfaces before graphical
user interfaces, e.g., WordPerfect 5.1 was a highly popular DOS-based
word processor among blind people. In fact, I think we were, overall,
more productive with it than any GUI word processor, like MS Word, or
command-oriented word processor, like VIM.
Those text mode, screen oriented interfaces could be highly accessible
with a screen reader because it knew precisely what character (and
color) was located in every position of a grid with 25 rows and 80
columns. The point of focus was also precisely known -- what later
became the caret in a GUI. Accessibility of GUIs has been a problem in
large part because a screen reader has had to build an "off screen
model" of what text is on the screen, since by the time text is
displayed on the screen, it is pixels not characters. A GUI screen
reader has traditionally had to intercept every operating system call
that writes to the screen, remember where the writing occurred, and
adjust the model every time some other OS call implies a change in the
visual presentation.
This process has been error prone, thus necessitating the need for an
accessibility API by which the screen reader can interrogate the screen
at any time. Unfortunately, comprehensively implementing that
accessibility API, on both the application and screen reader side, has
also been error prone. There are other reasons as well why GUIs have
been difficult, including the emphasis on a mouse for input rather than
the keyboard -- the former usually requiring fine eye-hand coordination
to be practical.
Blind people, like sighted people, have a range of cognitive abilities.
Some find the memorization of commands and syntax, which is generally
required by a command-line interface, to be challenging and frustrating,
as compared to a GUI and screen reader combination implemented
accessibly, which support much more choice selection and safe
exploration of options before executing a task. Often, the most
productive application will be one that offers both an accessible GUI
for typical use and a well-designed command line interface for advanced use.
I am puzzled why Swing seems to be so integrated into popular Java
libraries. Do they not separate visual display from underlying
functionality? I thought there was generally a well-established
principle in software development that it is best to implement a set of
functionality in a way that can be connected to various presentations of
user interface -- unless, of course, the library is specifically
targeted to building user interfaces.
Regarding SWT, it is cross platform, not Windows only, though different
binary files have to be distributed with other platforms. I am a fan of
wxWidgets, but agree that SWT is clearly more established in the Java
community, and do not see any advantage that wx-based GUIs would offer
over SWT. Both GUI libraries are essentially wrappers over native
controls of the platform. Such controls tend to be the most accessible
because they implement the primary accessibility API of the platform,
being build by the developer of both the platform and accessibility API.
Jamal
More information about the BlindMath
mailing list