• Skip to content
  • Skip to link menu
KDE Accessibility
  • KDE Accessibility Project / Developers' Information
 
 

Connecting the Accessibility Bridge to Qt

This document describes how our planned accessibility bridge can be connected to Qt. It was written by Gunnar Schmi Dt as part of our development efforts for interoperable accessibility solutions. Thanks to José Pablo Ezequiel Fernández for earlier work on the topic.

Trolltech have already implemented Qt Accessibility classes in their Qt versions for Windows. Trolltech offered to extend these if necessary for use on Unix.

The bridge can be connected to Qt in three different ways: It can be either a part of Qt, a library that is used by Qt, or a plug-in.

[ The Qt Accessibility Bridge as a Part of Qt | The Qt Accessibility Bridge as a Dynamically Loaded Library | The Qt Accessibility Bridge as a Plug-In ]

The Qt Accessibility Bridge as a Part of Qt

Diagram of this approach.

If the Qt Accessibility Bridge is written as a part of Qt, each application that uses Qt will automatically load the bridge. This results in a number of arguments against using this approach: The size of Qt is blown up even when the bridge is not needed, each instability inside the bridge will automatically introduce instabilities inside all applications that use Qt, and each dependency of the bridge will automatically become a dependency of Qt.

The Qt Accessibility Bridge as a Dynamically Loaded Library

Diagram of this approach.

If the Qt Accessibility Bridge is written as a library, we will have a clear separation between Qt and the bridge. Qt will need to depend on the bridge in order to offer the accessibility information. Therefore the bridge needs to avoid Qt dependencies unless we accept cyclic library dependencies.

Unfortunately the QAccessible classes are based on Qt, so it would be neccessary to design a Qt-free API as interface between the bridge and Qt. This directly implies that we will have an additional bridge between the QAccessible classes and the Qt-free API. This additional bridge will be a part of Qt.

The Qt Accessibility Bridge as a Plug-in

Diagram of this approach.

If the Qt Accessibility Bridge is written as a plug-in, we will also have a clear separation between Qt and the bridge. Qt will only have an optional run-time dependency on the plugin, and the plug-in will depend on Qt. This introduces a problem when Qt is statically linked: either the application will not be accessible or it would be neccessary to also statically link the bride into the application.

[ Edit ]

Inform

Skip menu "Inform"
  • Home
  • KDE Home
  • Accessibility Aids for KDE
  • Accessibility Features in KDE
  • About Us

Communicate

Skip menu "Communicate"
  • Contact
  • Events
  • Unix Accessibility Forum

Develop

Skip menu "Develop"
  • Developers' Information
    • KDE TTS Daemon
  • Accessibility Reports

Explore

Skip menu "Explore"
  • Related Links
  • Glossary

Global navigation links

  • KDE Home
  • KDE Accessibility Home
  • Description of Access Keys
  • Back to content
  • Back to menu

Search:


Maintained by accessibility.kde.org Webmaster
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal