# Accessibility
Accessibility is important for a lot of users, without it they just can not use their computer.
“15% of the world's population lives with some form of disability”
Laws require accessibility.
## Principles
A few important principles are to be kept in mind
* We want to make existing software accessible, and avoid dedicated software
* We need synchronization: accessibility is another way for input and output
* It should be easily available, ready to be enabled.
***
## Input
Accessibility support is needed in [[Accessibility/Input/]]
***
## Output
Accessibility support is needed in [[Accessibility/Output/]]
***
## Toolkits
Accessibility support is needed in applications, through [[Accessibility/AT-SPI2/]]
[[!img at-spi.png align="center" alt="at-spi stack overview"]]
([[source|at-spi.fig]])
A [[Accessibility/Walkthrough/]] documents the RPC and function calls details.
* GTK2/GTK3: good support, through [[atk|https://git.gnome.org/atk]] ([[documentation|https://developer.gnome.org/atk/]]), and atk-bridge from [[at-spi2-atk|https://git.gnome.org/at-spi2-atk/]]
* Qt4: only preliminary support, through [[qt-at-spi|https://community.kde.org/Accessibility/qt-atspi]]
* Qt5: improving, [[integrated in Qt5|http://doc.qt.io/qt-5/accessible.html]]
* Java: Basics, through [[java-atk-wrapper|https://wiki.gnome.org/Accessibility/JavaAtkWrapper]]
Gnome provides an [[Accessibility development guide|https://developer.gnome.org/accessibility-devel-guide/]]
For ATK, there is [[a best ATK practices guide|https://wiki.gnome.org/Accessibility/ATK/BestPractices]]
For Qt5, there is [[a guide for QWidget|http://doc.qt.io/qt-5/accessible-qwidget.html]] and [[a guide for Qt Quick|http://doc.qt.io/qt-5/accessible-qtquick.html]]
KDE provides an [[Accessibility development guide|https://techbase.kde.org/Development/Tutorials/Accessibility/Checklist]]
LinuxJournal proposes a [[HOW-TO|http://www.linuxjournal.com/article/9991]]