Sunday, November 27, 2005

KOffice Gets Text-to-Speech?

I have committed a new Text-to-Speech (TTS) capability to the KOffice svn code repository. By default, the TTS feature is off. In KWord, KSpread, and KPresenter, you can activate it in the Configure dialog.

It adds a kinda screen reader capability to all KO apps. It can speak the text of widgets under the mouse pointer and/or widgets that have the focus. It also adds a "Speak Text" option in the context menu of the KWord Document Structure Area, which is useful for speaking a document. Note that this capability is not intended for completely blind users. Instead, it is intended for users with other visual disabilities. I would like feedback as to whether this feature is useful. In particular, I would like to hear from anyone with visual disabilities.

This capability will be removed (or adapted) when KO is converted to KDE4, where hopefully we will have a proper screen reader using the Assistive Technology - Service Provider Interface.

The capability mostly works (at least for me), but there are a few problems:

1. Cannot speak menu items under the mouse pointer in a QMenuBar (the main menu). If anyone can tell me how to determine the menu item in a QMenuBar given a global coordinate, I'd be appreciative.

2. Doesn't support all kinds of widgets.

It is implemented as a new object, lib/kofficecore/KoSpeaker.cpp, which is created in lib/kofficecore/komainwindow.cc, and therefore is created in all KO apps (except Kexi). The code is quite a hack, so unless there is positive feedback, I may decide to remove it from the 3.5 final product. If anything, the code is a good example of why we need a proper accessibility infrastructure, such as will be available in KDE 4.

To try it, you'll need to

1. Build KOffice from svn.

2. Install KTTSD from 3.4 or 3.5 kdeaccessibility module. Configure with a suitable synth engine. A really lightweight English-only synth is Festival Lite (flite), but Festival is a good choice in general.

I haven't yet added configuration pages to the other KO apps, but if you want to test it under those apps now, you can add a section like this to the corresponding rc file in $HOME/.kde/share/config

[TTS]
AcceleratorPrefixWord=Accelerator
PollingInterval=600
SpeakAccelerators=true
SpeakDisabled=true
SpeakFocusWidget=false
SpeakPointerWidget=true
SpeakTooltips=true
SpeakWhatsThis=true

SpeakPointerWidget and SpeakFocusWidget true enable speaking of the widget under the mouse pointer and speaking the focused widget respectively.

Saturday, November 19, 2005

KOffice v1.4.1 Accessibility Assessment

I have completed an accessibility self-assessment for KOffice version 1.4.1. You may download the assessment in OO.org/StarOffice or PDF format by visiting KDE Accessibility Reports.

The assessment has been coordinated with the KOffice development team and includes notes about fixes in the upcoming 1.5 release (early 2006).

The reasons for the assessment are:

1. The Massachusetts Commission for the Blind requested accessibility information concerning software that supports the Open Document Format (ODF), i.e. KOffice.

2. It needed to be done.

I expected blind access to be poor, since KDE does not have a screen reader, but the results for low-sighted and motor impaired users were surprisingly disappointing. That's the bad news. The good news is that the KOffice devs have been very supportive and many (but not all) of the problems will be fixed in 1.5.

I've reached the following conclusions:

1. Some of the problems are fundamental to Qt3 and kdelibs3. QSplitter, QDockWindow, and QToolbar, for instance, are 3 problem areas.

2. We need to get to Qt4/kdelibs4 as soon as possible. But there will still be many issues to address. Accessibility won't happen automagically.

3. We need to do this sort of thing more often and hold developers feet to the fire. Many of these problems are easy to fix if caught early. Others are not so easy and will need changes to core functionality to fix properly. Some are basic design flaws, such as providing functions that can only be performed using a mouse.

4. The timing of this assessment is really bad because KDE 3.5 is in freeze and KDE4 is a long way off. Had this assessment been done 6 or 9 months ago, we probably could have solved most of the problems (except for blind access) by making needed changes to kdelibs3.

If anyone wants to do similar assessments for other KDE applications, please do so and send them to me. They are not hard to do, and you don't have to be a programmer to do them.

Thursday, November 03, 2005

An Open Letter to Massachusetts Residents with Disabilities

If you've been following the debate in Massachusetts concerning adoption of the Open Document Format (ODF), you might be aware that a number of people and organizations have expressed concern over the impact of this decision on people with disabilities. Basically, the (flawed) logic goes: 1. This decision forces me to switch to open source software. 2. Open Source software isn't accessible. 3. Open source software is business unfriendly, and therefore nobody will develop assistive technologies for it, and 4. We, people with disabilities, will be victims of the decision.

Let's set aside for the moment that 1) this decision does not force the use of open source software, 2) the MA Information Technology Division (ITD) decision does not mandate any particular software, 3) the ITD has already stated that the needs of disabled persons trumps the policy, 4) open source software that reads and writes ODF is already quite accessible and can even be used with the very same JAWS product that blind users currently run, and 5) OpenOffice.org is licensed under the GNU Lesser Public License, which does not exclude businesses from developing proprietary software on top of or along side of it. (Indeed StarOffice is a commercial product that shares the same code base as OpenOffice.org.)

There was a hearing on Monday by the MA Senate Post Audit Committee, at which representatives of the accessibility community spoke. As I listened, I was struck by the emotion in the presentations. The representatives pleaded with the committee to reverse the ITD's decision.

Let's stop for a moment and think about that. Where does such emotional energy originate? I am not disabled myself, but as a KDE developer who is interested in accessibility, I can well imagine the struggle you have had over the last few decades. You have repeatedly been victimized by technology "improvements". You have written to your government representatives. You have formed coalitions so your voice will be heard. You have sued. You have struggled to get funding to purchase expensive assistive technology hardware and software. You have pleaded with Microsoft and other commercial vendors to make their software more accessible. Only in the last few years, largely because of the US Disabilities Act (Section 508), have you achieved significant progress, and even that has come grudgingly and at great expense.

Now you are faced with change once again and your reaction can be summed up in one word. Fear. Each time in the past when technology has changed, you have once again been forced to start over; you have once again become victims. I'm quite sure each of you has dreaded each new release of Microsoft Office -- far more so than those without disabilities.

I have some bad news for you. You're going to have to do it again when Microsoft releases Office 12. Worse, you're probably going to have to upgrade your desktop computer hardware. I'm sorry, but that is the awful truth.

Fear is a very powerful emotion. More powerful than love or intellect. It comes from the primitive hindbrain. We in the free and open source software (F/OSS) community frequently talk about Microsoft's strategy of Fear, Uncertainty, and Doubt (FUD). How amazingly powerful FUD is!

I have a message for you, the people of Massachusetts with disabilities. You need not be afraid. The F/OSS community is waiting to welcome you. Come on in, the water's fine. OpenOffice.org, StarOffice, GNOME, and KDE are already quite accessible and becoming more so every day.

There is a fundamental difference between your experiences of the past in the proprietary Microsoft world versus the F/OSS world. In the Microsoft world, nothing changes unless there is a profit to be made, and you know that, as a minority, you lack the financial leverage to move corporations. In the F/OSS world, change originates from individuals. Change happens when you, the user, express a need and get involved. You are not at the mercy of corporate programmers. You do not have to be a programmer to make a difference. We need testers, bug reporters, documentation writers, tutorial writers, artists, and advocates. We need your experience and guidance. We need and highly value your input. And if you are also a programmer, well that's good, but it isn't essential.

Did you know that OpenOffice.org and StarOffice run under Windows?

Did you know that OpenOffice.org costs only your time to download and that StarOffice is very low cost?

http://www.openoffice.org/
http://www.sun.com/software/star/staroffice/index.jsp

Did you know that OpenOffice.org and StarOffice work with JAWS?

http://www.sun.com/software/star/staroffice/7/accessibility/index.xml
http://ui.openoffice.org/accessibility/whitepaper.html

Did you know that the GNOME desktop software has a free screen reader called Gnopernicus and that they are working on an even better screen reader called ORCA?

http://www.baum.ro/gnopernicus.html
http://cvs.gnome.org/viewcvs/*checkout*/orca/docs/doc-set/orca.html

Did you know that OpenOffice.org, StarOffice, GNOME, and KDE provide many capabilities to assist the partially sighted and light allergic?

Did you know that GNOME and KDE include tools for the motor impaired who might have trouble operating a mouse or a keyboard?

http://developer.gnome.org/projects/gap/
http://accessibility.kde.org/

Did you know that OpenOffice.org and StarOffice can read your Microsoft Office files? Not perfectly, but pretty darn well, and the difficulties are not their fault -- its the fault of Microsoft who will not publish their document formats.

I don't promise these tools are perfect, but then neither are those you are currently using, are they? In the Microsoft proprietary world you are largely helpless to affect change. You must rely on Microsoft, other companies, or the government. In the F/OSS world, you are empowered and you are in control. Isn't that what you've struggled for all your life?

Gary Cramblitt (aka PhantomsDad)
KDE Text-to-Speech Maintainer
http://accessibility.kde.org/developer/kttsd/index.php