This may not look like much more than another screen-shot of Accerciser. You’ll have to trust me that is Accerciser inspecting firefox-2 over D-Bus. Its the first visible step in a long project aiming to replace ORBit with D-Bus for the AT-SPI accessibility protocol.
Mike Gorse and I have been hacking on this for a little over four months now, and its been pretty slow going. I’m very happy to finally have something to show for it.
So much to do…
What we have however isn’t quite the finished article. One of the main goals of the project is to help bring together Gnome and KDE accessibility. I believe that QT already has an ATK implementation, but I think it would make more sense for the QT accessibility interfaces to meet directly with the AT-SPI D-Bus protocol, a project that has not-yet begun.
On the ATK-Bridge / Pyatspi side there is still a huge amount of testing and bug fixing to do, along with a fair few missing features.
So much to test…
Its testing thats really occupying my thoughts at the moment. A while back, on a linux-foundation conference call, I remeber a conversation about how to test the pyatspi and cspi interfaces.
The conclusions were:
- Have lots of small applications, each exposing only a few accessible objects and concentrating on a single accessible interface, such as the Component or Image interface.
- Have a unit test written for cspi or pyatspi that is partnered with one of the mini applications, and inspects it over the AT-SPI protocol.
I have made a poor attempt to unit test pyatspi in this way, but I found it was a-lot of work to get any coverage. I think this is down to my choice of implementing a dummy ATK framework to create the applications. Mini GTK applications would have done just as well.
The advantage of lots of these mini applications and unit tests is that when someone comes to implement the AT-SPI protocol with a new widget set, or with new client side bindings they have something simple to validate against.
Where to go
The repository for the D-Bus AT-SPI work is still on the Codethink servers. It won’t be there for long though, there are plans for the project to be hosted at freedesktop.org soon.