Hello!
so as has been suggested on LAU, I moved this discussion back on-list, but
thought it would be more relevant to the LAD than LAU for obvious reasons.
Maybe some general points. Blind or visually impaired people most work with
one of these technologies: Braille display, Speech synthesis (text-to-speech)
or magnifier. The latter is, I think, the easiest to accomodate, as GNOME and
basic X!! offers screen mags.
Braille displays and speech synths are in general one dimensional tools.
Both can work with graphics, yet there are restrictions.
1. The only project for both braille and TTS for GUIs I know is Orca, which
needs Gnome/GTK. I suppose it's also relying on standard widgets. Then there
is the fact, that I'm not certain about its usability/stability. A few win and
linux users, I know, said, that Orca is far from comfortable, in comparison to
windows solutions.
2. Graphics rely on 2-dimensionality. That's - in my books - all it's about.
It's designed for the sighted person, being able to use his field of vision,
other markers than only text to transport information to the user.
Speech ingeneral is - again only from my point of view - not very suitable
for audio, for obvious reasons again. I got festival to work with JACK, but
it's not nice and not everyone using speech, has two soundcards, to make it
really convenient. But that's just an aside.
So seeing all this, the best way to interact is the console/CLI interfaces.
The best amongst these are readline interfaces. Applications, which look like
shells. to make this really helpful and nice (the equivalent of eye-candy) a
nice kind of online help is forunite. A good example - not to say superb - is
Nama. You have the command help. It works with category names, category
numbers, keywords and actual commandnames. That's really taking it to the
height of convenience and comfortability.
A short note about ReadLine. It's written in C, for those, who haven't yet
seen/used it. There is a c++ wrapper called rlmm, which hasn't seen
development for some time, as far as I'm aware. Yet Readline hasn't changed
it's interface drastically, I believe. Readline itself offers two ways of
usage: Directly or via callback-functions. This is what rlmm uses. rlmm is
also GPL, so if you don't want to use it as an external reference, I'm sure
you can include it in your code, modify it to your liking. I remember, that it
isn't big.
Another way to interface is ncurses (with menus and forms and all the rest).
Yet that can be tricky. You have to take care of the cursor (the hardcursor!)
Always moving it to the current element. Don't rely on seeintg attributes.
Braille displays like to attach to the real cursor and focus on it by default,
which is good, because , where the cursor is, there should be the action and
it's easy to follow it (I think). I also think, the same applies for TTS
systems. So with ncurses you'd have to take care of some restrictions beyond
the library itself.
One other of these restrictions (for comfort) would be to draw progressbars
or percentage bars - like in a mixer - horizontally. That's the way a braille
display is oriented.
Most braille displays have 40 characters, there are those with 80
characters, but they're mostly designed for home or workplace systems. The 40
character displays can serve nicely at home (most of the blind people I know,
have one) and they can easily fit under a laptop. And I believe they are
cheaper, so the health insurance, which mostly pays for it, is happier with
it. :-)
Applications, which have both GUIs and CLIs are: Aeolus (restricted CLI, yet
helpful). But Fons relies - I seem to remember - on his own UI-classes. Still,
he makes use of callback functions, if I'm right. Nama is written in Perl, it
also offers both a GUI and a CLI. Yet I'm not completely sure, how much
interconnection there is between the two. I believe, they are quite seperate.
There's links2, which I think has both CLI and GUI, it's a web-browser, and
should be available as packages on all major distros. It uses ncurses for
displaying information. The SuSE Yast2 system, has both an ncurses and a
graphical interface. But the ncurses interface is nothing to show off, to a
blind person at least. (Last seen 2005/06, so that MAY have changed).
And now I'm open to specific questions.
Kindly yours
Julien
--------
Music was my first love and it will be my last (John Miles)
======== FIND MY WEB-PROJECT AT: ========
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
======= AND MY PERSONAL PAGES AT: =======
http://www.juliencoder.de