Accessibility/qt-atspi: Difference between revisions

From KDE Community Wiki
Line 41: Line 41:
* don't pretend to be gail, coordinate with orca devels
* don't pretend to be gail, coordinate with orca devels
* Application::Id is read/write - why, implement properly
* Application::Id is read/write - why, implement properly
* Test apps with >1 window

Revision as of 15:15, 25 February 2011

Qt AT-SPI 2 Bridge

Info

This is about the Qt AT-SPI 2 bridge. The bridge is a Qt Accessibility plugin that exposes the internals of a Qt application to interested accessibility clients such as screenreaders.

AT-SPI on D-Bus at Linuxfoundation

The source code for the bridge can be found here: Qt AT-SPI on gitorious

Tools

With the Gnome efforts to implement AT-SPI 2 we have some really helpful tools:

Accerciser accerciser manual

Orca Orca Debugging

Tutorial on techbase

Python

Testing/Development

You need a very recent environment, most notably: pyatspi2, at-spi2-core and at-spi2-atk

Inside a Gnome session the a11y uses a dedicated d-bus. So if you want to monitor what is going on, you should use: dbus-monitor --address `xprop -root | grep AT_SPI_BUS | sed -e 's/.*= "//' | sed -e 's/"$//'`

Todo

  • Menus are broken
  • Complex widgets with children? Tabs... clicking on a file in qgit (crash fix committed, but still needs proper fix)

GetApplicationBusAddress seems not defined in the xml but is actually called mgorse: That ought to be defined in the xml. It is used to try to set up a direct dbus connection between libatspi and the application. libatspi will revert to using the session bus if it returns an empty string or an error


  • GetNSelections in text is probably buggy in gnome: it gets an extra parameter
  • speed is even worse then with gnome
  • don't pretend to be gail, coordinate with orca devels
  • Application::Id is read/write - why, implement properly
  • Test apps with >1 window