Developpers’ corner

Supporting Hypra

This section is for people with a good free systems technical knowledge. You will find there information about how the universally accessible system works, source to contribute or share them. There are also more general stuff about accessibility and free software.

Hypra is developping free software, that is users can freely use, modify, and share them.

We use the free operating system Debian, and we rely on a while work community, where there is quality and solidarity.

To test Hypra, you can use the following ISO image :
http://debian-test.hypra.fr/debian/hypra-live-EN-amd64-non-free.iso

This image :

  • needs to be burnt on a key stick or a DVD ;
  • Debian liveCD-based ;
  • does not represent the Universally Accessible System : non représentative du it includes features but may be les stable than an installed system by Hypra.

The Debian liveCD and, then, our ISO image have three known bugs but which happen randomly :

  • speech synthetiser does not run automatically at runtime : if you experience this, press alt-f2, and type : orca
  • the installer is not accessible for blind people if run from the desktop ;
  • the end of the insall process may fail, GRUB may not install successfully on the hard drive. It is especially right on EFI computers.

If you have already Debian on your computer and if you want to have improvements in accessibility with mate-desktop, it is possible, ading following lines in your /etc/apt/sources.list file

deb http://debian.hypra.fr/debian jessie main contrib non-free
deb-src http://debian.hypra.fr/debian jessie main contrib non-free

Then you can update your available packages cache, and install mate-accessibility-full.

To include the packages signature key, issue the following command :

wget debian.hypra.fr/key.pub -O- | apt-key add -

WARNING : this works all the more that your Debian is clean and fresh-installed. On an old system, you might have problems. These packages have been tested on Debian Stable only.

To report problems or have future Hypra improvements, go to our Redmine bugs manager, and to access to Hypra sources, and contribute if you want, it is here : Hypra source

Useful links

This page gathers useful elements to give information to developpers about accessibility in computing. We distinguish tools categories in this matter :

  • assistive technologies : tools developped by experts, with disable people ideally, to enable them to use computer with disability, even if they cannot read the screen or have interaction with the computer. The most representative utility for blind people is NVDA (for Windows), by NVAccess, and Orca for GNU/Linux (developped by Igalia).
  • utilities to establish communication between assistive technologies and toolkits : This low-level tools are developped to send information to assistive technologies. On GNU/Linux, AT-SPI or ATK are mainly used. To know differences between them : https://en.wikipedia.org/wiki/Accessibility_Toolkit https://en.wikipedia.org/wiki/Assistive_Technology_Service_Provider_Interface
  • the toolkits : modern graphical applications rely on toolkits. Then it is important to know to associate the toolkit and its widgets iwth the accessibility bus. The toolkit specialists (GTK, Qt, Java, WxWidgets) are the persons who can do this the most efficiently.
  • applications : in this matter, everyone can help. Just coding properly your widgets.

For hyrry people, here is a synthesis, in English, of the following :
https://www.freedesktop.org/wiki/Accessibility/

How and why coding accessible without specific skills ?
http://brl.thefreecat.org/ explains through presentations and on a video the accessibility issues, and how can each developper, without specific skills, help to deal with them.

To apply this concepts to Qt, this may help you :
http://techbase.kde.org/Development/Guidelines/HCI/Checklists

To test results, ont tool exists :
https://git.gnome.org/accerciser

If you work on accessibility of a Web interface, refer to WECAG standards.

Get involved

If you wish code all your GTK application to make it accessible, acquiring skills, you will like this guide :
https://developer.gnome.org/accessibility-devel-guide/stable/

For Qt :
http://techbase.kde.org/Development/Tutorials/Accessibility

To make your own toolkit accessible (Enlightment, XFCE), this resource is for you :
https://developer.gnome.org/atk/

Note we use ATK to implement magnifier, in particular focus tracking. ATK is also used by applications such as LibreOffice or Mozilla to make their graphical interface accessible.

It will show you how to attach your toolkit to ATK, the abstract accessibility layer between AT-SPI and toolkits.

If you want to support tools between GTK and assistive technologies, aux you will like :
https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/

Other stuff have been developped by other toolkits recently :

How can I become an expert

To become an accessibility experts, you need, at least globally, to know all the above information. relying on it will inable you to work on various tools such as the screen reader :
https://wiki.gnome.org/Projects/Orca/HowCanIHelp

or for Windows :
https://github.com/nvaccess/nvda

Or Compiz :
https://launchpad.net/compiz

Exxept COmpiz, these tools take information from the accessibility bus and send it to any output. Output may be braille :
http://brltty.com

or speech :
http://devel.freebsoft.org/doc/speechd/speech-dispatcher.html

Both platforms attach assistive technologies to a set of drivers for various braille displays or speech synthetisers.

Other projects exist, for other disability :
- virtual keyboard :
https://git.gnome.org/dasher

- braille transcription :
http://natbraille.free.fr/

And other general projects, useful for various disabilities such as speech synthetisers or text-to-speech engines (Espeak), OCR (tesseract).

For any question, we recommend you contact http://liberte0.org organization, a tech mailing list in English exists.