Differences between revisions 125 and 126
Revision 125 as of 2015-08-31 20:08:48
Size: 13350
Comment: Add java
Revision 126 as of 2015-09-03 08:02:34
Size: 13449
Comment: Add marytts and speechless
Deletions are marked like this. Additions are marked like this.
Line 188: Line 188:
 * marytts [[http://mary.dfki.de/]]
 * speechless [[https://github.com/raginggoblin/speechless]]

This page is for internal use by the Debian accessibility team. For user documentation on accessibility in Debian, please look at the accessibility page. For general package maintainer information on accessibility in Debian, please look at the accessibility maintainer page.

Accessibility stack internals

For graphical desktop accessibility to work, three things are needed:

  • the accessibility bus get started,
  • toolkits load their accessibility layer,
  • a screen reader get started.

The first two points, described in details below, can be checked automatically on any desktop with

$ git clone git://git.debian.org/git/pkg-a11y/check-a11y
$ sudo apt-get install build-essential pkg-config libdbus-1-dev libatspi2.0-dev libgtk2.0-dev libgtk-3-dev libqt4-dev qtbase5-dev 
$ cd check-a11y
$ source env.sh
$ make check

Accessibility bus getting started

This is provided by package at-spi2-core.

For gnome and Unity, this is automatically started from /etc/xdg/autostart/at-spi-dbus-bus.desktop under condition:

gsettings get org.gnome.desktop.interface toolkit-accessibility

For MATE, this is automatically started under condition

gsettings get org.mate.interface accessibility

Others don't start it automatically, but it is getting started when running accessible GTK2, GTK3 or QT4 applications with accessibility enabled. QT5 doesn't start it automatically, but can catch up with it afterwards if accessibility is enabled in it, see below.

Toolkits loading their accessibility layer

gtk3 needs libatk-adaptor and libgail-common, no condition.

gtk2 needs libatk-adaptor and libgail-common, loaded when GTK_MODULES=gail:atk-bridge or loaded by /usr/lib/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop when gnome-settings-daemon is running and gsettings get org.gnome.desktop.interface toolkit-accessibility is true.

KDE4 needs qt-at-spi, conditionalized by QT_ACCESSIBILITY=1

KDE5 has it integrated, conditionalized by

gsettings get org.gnome.desktop.a11y.applications screen-reader-enabled

but starting from QT5.4, it can also be forced with QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1

java needs libatk-wrapper-java, conditionalized in /etc/java-7-openjdk/accessibility.properties :

assistive_technologies=org.GNOME.Accessibility.AtkWrapper

TODO: mono ?

screen reader getting started

  • Part of Debian Installer testing: DebianInstaller/Accessibility

  • Under Gnome3, MATE, Unity, Cinnamon, started by /etc/xdg/autostart/orca-autostart.desktop under condition

gsettings get org.gnome.desktop.a11y.applications screen-reader-enabled
  • Gnome2: started under condition

gconftool-2 --get /desktop/gnome/applications/at/screen_reader_enabled
  • XFCE could have it

xfconf-query -c xfce4-session -p StartAssistiveTechnologies
  • KDE: started under condition

qdbus org.kde.kaccessibleapp /Adaptor setSpeechEnabled true
  • LXDE?

Notes about packaging

  • pkg-a11y project on alioth, we usually use git repositories.
  • speakup: speakup_decpc is not free, that's why we use a dfsg branch. To release a newer upstream version, pull the upstream branch from the dfsg branch, then pull the dfsg branch from the debian branch, then run git-buildpackage --git-tag --git-upstream-branch=dfsg
  • liblouis*: import tarballs to the upstream-import branch (git-import-orig file.tar.gz --upstream-branch=upstream-import), then pull into the upstream branch and discard the conflicts in generated files which we do not ship in the .orig.tar.gz

TODO

Testing scenarii (see explanation on http://lists.debian.org/debian-accessibility/2013/10/msg00026.html)

Packaging

What is the status of this? the web page claims the repo is at https://googlecode.com/hg/ but that's an empty hg repo. Is developement happening somewhere else?

afaik a11y support for mono is packaged, is there more to package / update or is testing still needed for this?

Installation

More generic details on http://brl.thefreecat.org/wiki/Installer

  • Tune accessibility support in the liveCD.
  • Add brltty/speakup parameters preseed support?
  • Create a webpage that generates preseed files according to the hardware selected by the user in a form.
  • Another way is putting parameters in the iso itself:

    [http://people.debian.org/~sthibault/remaster-append.sh]

  • Add AT-SPI and Orca/gok to debian installer
  • speakup translations should be loaded automatically according to installation locale, at least
  • desktop qualification: DebianDesktop/Requalification/Jessie

Documentation

Misc

Accessibility archive section?

  • braille translation programs (could be text)
    • dots (currently gnome)
    • liblouis*
    • natbraille
  • screen readeers (usually admin)
    • brltty (currently admin)
    • screader (currently text)
    • speakup (currently admin)
    • espeakup (currently admin)
    • yasr (currently admin)
    • console-braille (currently utils)
    • emacspeak (currently editors)
    • speechd-el (currently editors)
  • gnome (could be gnome)
    • libgail-gnome-module (currently libs)
    • gnome-accessibility-themes (currently gnome)
    • gnome-orca (currently gnome)
    • gnome-mag (currently x11)
  • kde (could be kde)
    • kmag (currently utils)
    • kmousetool (currently utils)
    • kmouth (currently utils)
    • kttsd (currently utils)
  • x11
    • big-cursor (currently x11)
    • xzoom (currently x11)
  • input
    • cellwriter (currently gnome)
    • dasher (currently x11)
    • gok (currently gnome)
    • mousetweaks (currently gnome)
    • gnome-mousetrap (currently gnome)
    • mozilla-mozgest (currently web)
    • wayv (currently x11)
    • xvkbd (currently x11)
  • speechrecognition (could be sound)
    • sphinx2-bin (currently sound)
    • gnome-voice-control
    • perlbox
  • speechsynthesis (could be sound)
    • eflite, flite (courrently sound)
    • espeak (currently sound)
    • epos (currently sound)
    • festival (currently sound)
    • gnome-speech-*
    • recite (currently sound)
    • saydate, saytime (currently sound)
    • speech-dispatcher, speech-tools (currently sound)
    • speech-dispatcher-festival (currently sound)
    • mbrola (currently sound)
    • gespeaker (currently sound)
    • daisy-player (currently sound)
    • epos (currently sound)
    • libttspico-utils (currently sound)
    • freetts (currently java)
    • sonic (currently sound)
  • devel
    • accerciser (currently gnome)
  • ocr software?
    • gocr (currently graphics
    • hocr-gtk (currently graphics)
    • tesseract-ocr (currently graphics)
    • ttf-ocr-a (currently fonts)
    • cuneiform (currently graphics)

Backports

  • brltty for newer hardware support
  • speech-dispatcher with pico support (>> 0.7.1)

  • gnome-orca