So far, it has been a fairly happy hacking day.
I wanted to see how far I could go to make a Linux desktop accessible for the blind. Platform of choice is Breezy because:
- it uses gnome, which is the most accessible stuff at the moment;
- it's the distribution with the least amount of raw edges at the moment;
- its gnome accessibility stuff is more up to date than the stuff in sid (I got in touch with Mario Lang and I'll see if I can help)
Step number 1: installing a fully working Breezy chroot inside my sid
- lvcreate -L2G -n breezy vg
- mkfs.jfs /dev/vg/breezy
- mount /dev/vg/breezy /chroot/breezy
- debootstrap --arch i386 breezy /chroot/breezy http://archive.ubuntu.com/ubuntu/
- chroot /chroot/breezy
- dpkg-reconfigure locales
- base-config new
- fixed gdm configuration to work along with the sid X server
- fixed /etc/fstab, resolv.conf and /etc/hosts
- reduced the lart-delay of /etc/rcS.d/S04udev from 60 to 5 seconds
- "booted" the Breezy system running
Believe it or not, it works. I have another gdm login screen, I login and I hear the Ubuntu startup music. A couple of warnings about ACPI and HAL not working... well, I can imagine why.
gnome-panel would refuse to show the menus. It turned out to be connected to [Gnome bug
323064](http://bugzilla.gnome.org/show_bug.cgi?id=323064) ([debian bug
338438](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338438)) and I found
out that Alt+F2
(run) and then
killall gam_server would be enough to stay displayed.
Step number 2: getting the screen reader to work
Note: the menu names might be incorrect as my system is localised in Italian and I'm now translating back to English.
- Install gnopernicus
- Go into Desktop/Preferences/Audio and disable the sound server
- Go into Desktop/Preferences/Assistive technology, enable assistive technology and screen reader
- Logout and in again
Now, coolness ubercoolness, the desktop starts to speak with the voice of a depressed 40 years old dude from the USA.
Thanks to Luke Yelavich of ubuntu-accessibility for supporting me and for explaining me that if esd is running then the voice tends to disappear because esd steals the sound device to festival. He also explained me that if one tries to run festival through esd then it works, but since esd is a mixer then one starts hearing various voices for different events all mixed together.
Now, the English speech engine often mentions the "barra dei sacramenti". In local Italian it means "toolbar for blaspheme curses". Time to move on to step 3.
Step number 3: getting the screen reader to work in Italian
I'm very proud of the Italian speech engine that recently entered Debian thanks to Riccardo Vestrini and the Debian Italian Maintainers Task Force, I've already put it to good use in the past and have great plans about it for the future.
It's now a good moment to turn the knowledge previously acquired with creative timewasting into something serious.
So, on to work:
- get the italian festival voice packages from sid (the packages are
- install them all in Breezy
sudo patch /usr/share/festival/languages.scm /usr/share/doc/festlex-ifd/languages.scm.patch(and ping again Matthias Urlichs for a fix for bug#335845)
- log out
- kill all the festival servers, drivers and whatnot (need to do it when logged out, but one can just install the voices before starting gnopernicus for the first time)
- log in again
- go into gnopernicus configuration and select the new voices.
It SO WORKS! I configured some voices a bit at random, so now according to what I do the desktop speaks like the depressed dude, Adriano Celentano or the Italian dubbing of the Enterprise computer (without reverb effect).
An extra cool unexpected side effect of this chroot setup is that now I can go back to my Sid X session and the Breezy X session will keep talking in the background, so I can even keep an ear on what happens in the other Virtual Console.
Now, on to the applications. The menus, work. Abiword works, but I couldn't find out how to read the things I type on the editing area (not so useful until that one is solved). OpenOffice2 does not work. Firefox 1.5 works. gnome-terminal works. gedit works. It could be better, but I was fearing much worse.
Now, gnopernicus has various powerful features accessible using the numeric keypad, but I haven't found a way to activate them in my laptop. It may be that with the keypad functions abiword becomes readable.
I'm quite satisfied today.