15396
Comment: sops is packaged, but ocr-desktop isn't
|
15308
comment about mono accessibility
|
Deletions are marked like this. | Additions are marked like this. |
Line 216: | Line 216: |
* See mono's UI Automation/ATK accessibility bridge [[http://www.mono-project.com/Accessibility]] * Apparently dead upstream? :/ * afaik a11y support for mono is packaged, is there more to package / update or is testing still needed for this? |
* check mono's UI accessibility * Apparently packaged directly in the toolkit * {{{orca -l}}} sees it, but after some timeout, so it seems to have issues. |
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.
Links
Debian List : http://lists.debian.org/debian-accessibility/
DebianInstaller/Accessibility Debian Installer
- Blend subversion repository: svn://svn.debian.org/svn/blends/projects/accessibility/trunk/debian-accessibility/tasks
Talk at fosdem08, odp slides, html slides, audio stream.
This Week In Debian talk, and its transcript
Talk at DebConf15: (summary, slides, html slides, odp slides, video, transcript)
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 https://salsa.debian.org/a11y-team/check-a11y.git $ 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
This check is also run automatically on several desktops, please see a11y Desktop status Overview. This is currently work in Progress, so please inform Simon Kainz if you have questions/ideas about this.
Accessibility bus getting started
This is provided by package at-spi2-core.
This is automatically started from /etc/xdg/autostart/at-spi-dbus-bus.desktop
On Stretch and later, it is always started, whatever desktop is used.
On Jessie and before, for gnome and Unity, it is started 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 (already set by default from /etc/X11/Xsession.d/90atk-adaptor in Stretch and later) 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 (already set by default from /etc/X11/Xsession.d/90qt-a11y in Stretch and later)
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 (already set by default from /etc/X11/Xsession.d/90qt-a11y in Stretch and later)
java needs libatk-wrapper-java, conditionalized in /etc/java-*-openjdk/accessibility.properties :
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
and it can only work with the GTK look and feel, configured in
/etc/java-*-openjdk/swing.properties :
swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
(already set by default in Stretch and later)
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
- KDE4: started under condition
qdbus org.kde.kaccessibleapp /Adaptor speechEnabled
can be set with
qdbus org.kde.kaccessibleapp /Adaptor setSpeechEnabled true
- KDE5: started under condition
kreadconfig5 --file kaccessrc --group ScreenReader --key Enabled
can be set with
kwriteconfig5 --file kaccessrc --group ScreenReader --key Enabled 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
Some packages (e.g. orca) follow the gnome packaging style, see for instance https://wiki.debian.org/Gnome/Git#Package_new_upstream_version )
TODO
Testing scenarii (see explanation on http://lists.debian.org/debian-accessibility/2013/10/msg00026.html)
debian-installer: https://wiki.debian.org/DebianInstaller/Accessibility
- accessodf: TODO
- at-spi2: TODO
- brailleutils: TODO
- brltty: TODO
daisy-player: README.testing in git
- dots: TODO
ebook-speaker: README.testing in git
- edots-speaker: TODO
- eflite: done
emacspeak: README.testing in git, http://lists.debian.org/debian-accessibility/2013/10/msg00040.html
- espeak: TODO
- espeakedit: TODO
- espeakup: TODO
- festvox-mbrola: TODO
- flite: done.
- gnome-mousetrap: TODO
- java-atk-wrapper: TODO
- liblouis: TODO
- liblouisutdml: TODO
- liblouisxml: TODO
- mbrola: done
- natbraille: done
- orca: TODO
- pocketsphinx: TODO
- qt-at-spi: TODO
- simon: TODO
- sonic: TODO
- speakup: TODO
- speakup-tools: TODO
- speech-dispatcher: TODO
- speechd-up: TODO
- sphinxbase: TODO
- sphinxtrain: TODO
svox: README.testing in git
- transcribo: TODO
- yasr: TODO
TODO Packaging
Package nfbtrans, see http://lists.debian.org/debian-accessibility/2008/05/msg00043.html http://www.nfb.org/nfb/nfbtrans.asp
- Hook braille translators into cups
Package Anumaan http://www.cdacmumbai.in/index.php/cdacmumbai/research_and_publications/research_groups/open_source_soft_division/projects/anumaan
- Add a tasksel element. It doesn't seem so simple, we'd need subtasks. Maybe a complete package that asks precise questions.
- Help Mario with the packages he requested help for.
- See how to write a win32-loader frontend to easily configure a11y parameters
- check mono's UI accessibility
- Apparently packaged directly in the toolkit
orca -l sees it, but after some timeout, so it seems to have issues.
GEM http://www.cdacmumbai.in/ http://www.cdacmumbai.in/projects/accessibility/
- chewing-word, on alioth, licensing issue.
- petitboot: integrate with brltty to make it an accessible bootloader
brailleblaster http://www.brailleblaster.org/
marytts http://mary.dfki.de/
speechless https://github.com/raginggoblin/speechless This is now TypeTalk, repository at https://github.com/TypeTalk/TypeTalk
- odt2braille and odt2daisy, needs liblouisxml 2.3.0, or maybe libutdml is enough.
dae ftp://ftp.csir.co.za/MI/National_Accessibility_Portal/wvdwalt/dae-latest.tar.bz2
?OpenMary (http://mary.dfki.de/ , svn checkout https://mary.opendfki.de/repos/trunk)
?VoxForge http://voxforge.org/
?LiSpeak (https://github.com/BmanDesignsCanada/LiSpeak) and / or Palaver (https://github.com/JamezQ/Palaver)?
- Enable libjs support in links2
chromevox, see thread starting at https://lists.debian.org/debian-accessibility/2016/11/msg00093.html
RHVoice https://github.com/Olga-Yakovleva/RHVoice (russian voice)
OCR-Desktop [[https://github.com/chrys87/ocrdesktop]
?DeepSpeech? https://github.com/mozilla/DeepSpeech
needs ?TensorFlow https://www.tensorflow.org/install/install_sources
needs Bazel https://docs.bazel.build/versions/master/install-compile-source.html
- needs a flurry of java packages..............
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:
- Add AT-SPI and Orca/gok to debian installer (needs python there first)
- speakup translations should be loaded automatically according to installation locale, at least
desktop qualification: DebianDesktop/Requalification/Jessie
Documentation
- Add an accessibility chapter to the developer's reference
- Add accessibility questions to the NM process.
Add an "Accessible Event Howto" for debconf, minidebconf & co.
Add an accessibility section to http://wiki.debian.org/Derivatives/Guidelines and tell debian-derivatives@lists.debian.org about it.
- Add accessibility questions to the Debian Policy.
Misc
Add more types of package tags: something like accessible-with::{at-spi,tty-screen-reader} (technicaly tested), accessible-with::{braille,speech} (usability in general), accessible-with::{gnome-orca,brltty,speakup} (usability with a particular reader) (855446)
Add an accessibility tag to bugs (and thus cc-ed to debian-accessibility) (706902 867416)
- Make accessibility bugs RC, or at least consider them with care during freeze?
- Add archive Accessibility section?
Rasterize console fonts (595696). Useful for both bigger and smaller fonts
Use personas: [http://www.aegis-project.eu/index.php?option=com_content&view=article&id=63&Itemid=53], [http://www.w3.org/WAI/redesign/personas]
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)
- magnification
- vmg (currently utils)
Backports
- brltty for newer hardware support
speech-dispatcher with pico support (>> 0.7.1)
- gnome-orca