Accessibility Presentation_SCALE_13x

Accessibility In Software

I spent last weekend in Los Angeles, attending SCALE 13x. This is a big open source software conference. They have a huge exhibition/vendor floor, as well as many sessions throughout the 4 days of the conference. One of those sessions was my own presentation on Accessibility in Software. I tend to take the side of the disabled, since I do have multiple sclerosis. I have been blind, I have lost the use of both hands, one at a time. This was my first time attending SCALE, and it was great! I enjoyed walking through the exhibitions hall, and I enjoyed the sessions I was able to attend. Of course, I could not hope to get to every session, there are just too many. The weather was very comfortable for the conference period. Some people would say 13 is unlucky, but for me, it seemed like the luckiest number in a long time.

My own presentation is available for your viewing pleasure here, on YouTube. I would suggest anyone that is in need of accessible software should take a look at it. I covered mostly open source and FOSS, but I also mentioned Microsoft.

I am planning to do my best to get to SCALE 14x next year. I will have a better idea of what to expect, and will be able to plan my days better.

I do need to give Larry Cafiero a big thank you for all his support. Also, a thank you to all the volunteers that made this event happen. It does take a lot of work to set up a conference that size. Along with setting it up, they have to be available during the four days it goes on.

I mention my email and website in the video, sometimes these are difficult to read on screen. The website is here. Email is charlie AT teamcharliesangels dot com. 

Posted in accessibility, KeepingDreams, Multiple Sclerosis | Comments closed

Speaking About Accessibility

Being an advocate for accessibility in all areas, and since I am well versed in how difficult it can to get around on a computer when disabled, I will be presenting a talk on it in Los Angeles this February. Here is the information on where and when:

speaker-web-graphic

Posted in Ramblings | Comments closed

How To Install Orca & Dasher in Xfce

orca-md

Making Gnome Orca, eSpeak, and Dasher work in CrunchBang Linux with Xfce desktop environment was not easy. When all is said and done, they are all working for me. You may not have the same luck, though. To make them all work is not something the inexperienced should attempt. II would recommend installing Vinux instead. Vinux works out of the box, on most computers. https://vinuxproject.org/ here .

eSpeak

Now, down to how I did this. I have many years experience working with linux, and can use the command line when I need it to troubleshoot and fix my broken system. All file editing has to be done as root, because root owns all the files. If you forget to save a file, the edits you make disappear. My editor of choice is medit, which has fewer dependencies than gedit and is almost as easy for me to use. First, I installed espeak, because orca needs it to be able to speak. That was easy,

sudo apt-get install espeak, espeak-data, libespeak, libgnome-speech7, libportaudio2, libportaudio0, at-spi2-core, xsel, gespeaker, libatk-wrapper-java

There are a few things in there that espeak itself does not need, but I need them later for accessibility to work.

I rebooted, and tried it:
espeak "This is a test"
I got a couple of errors:

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

A quick google search tells you those errors are common, and can be avoided when pulse audio is installed by pushing the output through pulse audio.
espeak "Hello, I am Espeak, the voice synthesizer" --stdout | paplay

To make it all work without using paplay, since I planned on using Orca, it took a bit more. First, edit the modules to insure the audio card is there:
sudo medit /etc/modprobe.d/alsa-base.conf
Then add at the bottom of the file:

options snd-hda-intel model=acer

The model is determined for your own computer, of course. Try

model=auto

before you dig too far. I also edited /etc/default/pulseaudio
sudo medit /etc/default/pulseaudio
to read:

PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=1

Reboot the computer, and try espeak. It should now be working.

NOTE: still getting jack errors, no jack or festival installed at this point, but espeak works as does other sounds.

Xfce upgrade

I now had espeak working. The next step is a bit daunting, even for me. I needed Xfce 4.10, and CrunchBang comes with Xfce 4.8. To get to 4.10, you have to use Debian Testing, otherwise known as jessie.

Before changing repositories, remove (keeps GNOME from installing completely):
sudo apt-get purge gir1.2-gnome-bluetooth-1.0
sudo apt-get purge gnome-bluetooth

Repositories

At this point, you must disable waldorf and other repositories. You do that by editing /etc/apt/sources.list as root and commenting (place “#” in front of) all the lines. It is okay to not comment the lines for security and wheezy.

Enable the repositories you wish to use, which is testing, by editing the repositories:
sudo medit /etc/apt/sources.list
Then add the following:

## Debian Testing
deb https://ftp.debian.org/debian testing main contrib non-free
deb https://ftp.debian.org/debian jessie main contrib non-free
deb-src https://ftp.debian.org/debian testing main contrib non-free

I put a “#” in front of all the other repositories, except Debian wheezy, Debian stable, and Security. That disabled all PPA’s, Waldorf repositories, and third party repositories I was using.

Next, change the default release:
sudo medit /etc/apt/apt.conf.d/00DefaultRelease
Change or add:

APT::Default-Release "jessie";

Add to or create /etc/apt/apt.conf:
sudo medit /etc/apt/apt.conf
Change or add:

## to not install all recommended packages
APT::Install-Recommends "0";
APT::Install-Suggests "0";

Change the priority to allow jessie to be the first repository from which things will be installed, wheezy second, and waldorf gets to stay if there is no other version available.
sudo medit /apt/preferences
Changed to:

Package: *
Pin: release a=waldorf
Pin-Priority: 100

Package: *
Pin: release a=wheezy
Pin-Priority: 500

Package: *
Pin: release a=jessie
Pin-Priority: 1001

The upgrade

At this point, the preparation should have been done and I was ready to try the upgrade. I ran the following commands:
sudo apt-get update
sudo apt-get dist-upgrade --no-install-recommends

As this ran, I saw an error in the terminal, and had to open a second terminal to fix it. The error was

(gtk-update-icon-cache:11335): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file ‘/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache’: No such file or directory
This likely means that your installation is broken.
Try running the command
gdk-pixbuf-query-loaders > /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

To fix it, since it kept repeating, I first typed
sudo -i
since I needed to be root to make it run the needed fix. Then I typed the following:
gdk-pixbuf-query-loaders > /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
I think that worked, because I never saw the error again.

I also had an error that linux-headers were not installed, so when the upgrade completed, I installed them:
sudo apt-get install linux-headers-3.2.0-4-686pae

Next, I ran
sudo apt-get autoclean
sudo apt-get autoremove

To make sure root would work properly, I also ran
sudo lxappearance
which lets you set the theme, fonts, etc for root

I then rebooted, which brought me into openbox instead of Xfce. Since I started in Xfce, I really wanted to run that desktop. I logged out and switched to a TTY, using Ctrl+Alt+F2
sudo update-alternatives --config x-session-manager
and rebooted again. Xfce was now working.

Unfortunately, openjdk has disabled accessibility by default, so one has to re-enable it by hand, by uncommenting,
sudo medit etc/java-6-openjdk/accessibility.properties
the following line:

assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Now I rebooted again, and everything appeared to work.

Gnome-Orca

I still needed to install Gnome-Orca, though. That part is easy,
sudo apt-get install gnome-orca
To make orca actually read the entire screen, it takes some more work. I needed to install alsa packages, including the -dev packages and libraries. Since we ran –no-install-recommends, we have to install all the items our applications need on our own.

sudo apt-get install alsa-base alsa-oss alsa-tools alsa-utils alsamixergui alsaplayer-alsa alsaplayer-common alsaplayer-gtk libalsaplayer-dev libalsaplayer0 libao4 libao-common libasound2 libasound2-data libasound2-dev libasound2-plugins


sudo apt-get install libopenal-data libopenal1 libsdl1.2debian libsdl2-2.0-0 libsox-fmt-alsa libsox2 sox gir1.2-clutter-gst-2.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-alsa gstreamer1.0-clutter gstreamer1.0-ffluendo-mp3


sudo apt-get install gstreamer1.0-libav gstreamer1.0-nice gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x libclutter-gst-2.0-0


sudo apt-get install libgstbuzztard0 libgstreamer-plugins-bad1.0-0 libstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgstreamer1.0-dev libnice10

I don’t know if all of that is needed, but it works here. I would rather install one or two items too many and have it working. I have noticed that apt-get does keep trying to get me to run autoremove now, but it wants to take away things I am using, so I won’t do it.

All done?

There may be other dependencies not yet satisfied, so if things don’t work, check what each application needs. Look at gnome-orca, and espeak, and check that everything they need is installed. If you use Synaptic Package Manager, it is easy to check. Right-click the package, left-click “Properties”, left-click “Dependencies”. If all those listed as “Depends >=” are not installed, applications do not work right.

At this point, I have dasher in direct mode working correctly. I also have espeak working, and can feed an entire text file to it and hear it. I also have Orca working.

Yes, this will take a few hours, or perhaps a couple of days to get working. However, it allows me to run Xfce and accessibility as I need them to run. Would I do it again? Of course, but I am pretty persistent. I know what I want, and I know I will eventually make it work.

Posted in accessibility, Multiple Sclerosis, Ramblings | Comments closed