Difference between revisions of "Development/Tutorials/Accessibility"

Jump to: navigation, search
(How to test at-spi2 with Qt)
(Added kaccessible+jovie+simon)
Line 1: Line 1:
== KDE Accessibility Howto ==  
+
== QAccessible ==
Accessibility on kde is not quite up to speed yet.  We are close to working well with people with different disabilities, but not quite there yet.  At least on linux.  One key ingredient that is missing is [http://gitorious.org/qt-at-spi qt-at-spi] which bridges Qt applications to at-spi2.
+
  
For a brief overview of how accessibility works on linux platforms, take a look at [http://a11y.org/atspi http://a11y.org/atspi].
+
[http://doc.qt.nokia.com/4.7/accessible.html QAccessible] is the Qt Accessible framework. Each Qt/KDE application supports QAccessible out of the box.
  
== Setup a test environment ==
+
== Qt AT-SPI ==
=== What you'll need ===
+
 
 +
[http://gitorious.org/qt-at-spi qt-at-spi] is a Qt plugin that bridges the QAccessible API’s to the AT-SPI 2 protocol enabling Qt applications to be used with Orca, Accerciser, and GOK.
 +
 
 +
For a brief overview of how atk/at-spi accessibility works on linux platforms, take a look at [http://a11y.org/atspi http://a11y.org/atspi].
 +
 
 +
=== Setup a test environment ===
 
In order to set up a test environment to help improve qt-at-spi (or at-spi itself)  You'll need a few things.  Orca can be installed from your distribution, as can accerciser, however accerciser will need to be run in a particular way to work with at-spi2 as I'll mention later.  You'll also need at-spi2-core and at-spi2-atk to test gtk applications.  You'll also need pyatspi2.  The simplest way to get these is to clone them from the following git urls:
 
In order to set up a test environment to help improve qt-at-spi (or at-spi itself)  You'll need a few things.  Orca can be installed from your distribution, as can accerciser, however accerciser will need to be run in a particular way to work with at-spi2 as I'll mention later.  You'll also need at-spi2-core and at-spi2-atk to test gtk applications.  You'll also need pyatspi2.  The simplest way to get these is to clone them from the following git urls:
  
Line 31: Line 35:
 
Then to test just run gcalctool with gcalctool & from that shell.  You should see at-spi2-registryd in your process table once gcalctool has started.  If not you are likely still using at-spi instead of at-spi2.  You can use d-feet or qdbusviewer, or just qdbus to inspect the dbus interface of the registry and the accessible methods of the application at this point.  You should also be able to run orca and hear the text of the calculator tool at this point.
 
Then to test just run gcalctool with gcalctool & from that shell.  You should see at-spi2-registryd in your process table once gcalctool has started.  If not you are likely still using at-spi instead of at-spi2.  You can use d-feet or qdbusviewer, or just qdbus to inspect the dbus interface of the registry and the accessible methods of the application at this point.  You should also be able to run orca and hear the text of the calculator tool at this point.
  
=== How to test at-spi2 with Qt ===
+
==== How to test at-spi2 with Qt ====
 
Once you have a gtk app running correctly with orca and/or accerciser you are ready to try qt-at-spi.  In order to do so, just clone the repo from  
 
Once you have a gtk app running correctly with orca and/or accerciser you are ready to try qt-at-spi.  In order to do so, just clone the repo from  
 
  git://gitorious.org/qt-at-spi
 
  git://gitorious.org/qt-at-spi
Line 42: Line 46:
 
  test/test
 
  test/test
 
from the source folder of qt-at-spi.  You should see some console message about the bridge initializing.  You'll also see the calculator's dbus path in the org.a11y.atspi.Registry GetChildren output.
 
from the source folder of qt-at-spi.  You should see some console message about the bridge initializing.  You'll also see the calculator's dbus path in the org.a11y.atspi.Registry GetChildren output.
 +
 +
== KAccessible ==
 +
 +
[http://websvn.kde.org/trunk/KDE/kdeaccessibility/kaccessible/ kaccessible] implements a QAccessibleBridgePlugin to provide accessibility services like focus tracking and a screenreader.
 +
 +
You need to call "export QT_ACCESSIBILITY=1" before you start the application that should be made accessible. Per default this is disabled cause QAccessible can slow down things.
 +
 +
== Jovie ==
 +
 +
[http://websvn.kde.org/trunk/KDE/kdeaccessibility/jovie/ Jovie] is a subsystem within the KDE desktop for conversion of text to audible speech.
 +
 +
See also the [http://techbase.kde.org/Development/Tutorials/Text-To-Speech Text-To-Speech tutorial].
 +
 +
== Simon ==
 +
 +
[http://simon-listens.org/ Simon] is an open-source speech recognition program and replaces the mouse and keyboard.

Revision as of 01:33, 11 November 2010

Contents

QAccessible

QAccessible is the Qt Accessible framework. Each Qt/KDE application supports QAccessible out of the box.

Qt AT-SPI

qt-at-spi is a Qt plugin that bridges the QAccessible API’s to the AT-SPI 2 protocol enabling Qt applications to be used with Orca, Accerciser, and GOK.

For a brief overview of how atk/at-spi accessibility works on linux platforms, take a look at http://a11y.org/atspi.

Setup a test environment

In order to set up a test environment to help improve qt-at-spi (or at-spi itself) You'll need a few things. Orca can be installed from your distribution, as can accerciser, however accerciser will need to be run in a particular way to work with at-spi2 as I'll mention later. You'll also need at-spi2-core and at-spi2-atk to test gtk applications. You'll also need pyatspi2. The simplest way to get these is to clone them from the following git urls:

git://git.gnome.org/at-spi2-core
git://git.gnome.org/at-spi2-atk
git://git.gnome.org/pyatspi2

Then proceed to build them by running

./autogen.sh --disable-relocate
make
make install 
(or sudo make install if your user doesn't have write privileges to /usr/local)

How to test at-spi2 with gtk

Once these are installed, you can then test at-spi2 by running gcalctool with a few environment variables set. As mentioned on the at-spi dbus site under "Instructions for Testing" you'll need some environment variables set. I use a file called ~/.a11ybashrc with the following contents:

export GTK_PATH=/usr/local/lib/gtk-2.0/
export PYTHONPATH=/usr/local/lib/python2.6/site-packages/
export QT_ACCESSIBILITY=1
export GTK_MODULES=gail:atk-bridge

then I just source ~/.a11ybashrc to set up my shell for testing accessibility.

Then to test just run gcalctool with gcalctool & from that shell. You should see at-spi2-registryd in your process table once gcalctool has started. If not you are likely still using at-spi instead of at-spi2. You can use d-feet or qdbusviewer, or just qdbus to inspect the dbus interface of the registry and the accessible methods of the application at this point. You should also be able to run orca and hear the text of the calculator tool at this point.

How to test at-spi2 with Qt

Once you have a gtk app running correctly with orca and/or accerciser you are ready to try qt-at-spi. In order to do so, just clone the repo from

git://gitorious.org/qt-at-spi

Then run

qmake
make
make install

There is a handy calculator in qt-at-spi under the test folder that can be used to test qt's at-spi plugin with. Make sure QT_ACCESSIBILITY is set in your environment and run

test/test

from the source folder of qt-at-spi. You should see some console message about the bridge initializing. You'll also see the calculator's dbus path in the org.a11y.atspi.Registry GetChildren output.

KAccessible

kaccessible implements a QAccessibleBridgePlugin to provide accessibility services like focus tracking and a screenreader.

You need to call "export QT_ACCESSIBILITY=1" before you start the application that should be made accessible. Per default this is disabled cause QAccessible can slow down things.

Jovie

Jovie is a subsystem within the KDE desktop for conversion of text to audible speech.

See also the Text-To-Speech tutorial.

Simon

Simon is an open-source speech recognition program and replaces the mouse and keyboard.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal