New tests: GTK3 platform accessibility

Colomban Wendling cwendling at
Tue Aug 1 17:30:05 UTC 2023

Hello everyone,

Platform accessibility (a11y) conformance tests for the GTK3 VCL [1] 
have been merged a couple days ago.  This is a set of tests validating 
that the a11y exposed to the platform on Linux using the GTK3 VCL is 
coherent with the internal representation in LO.  This can catch (and 
already had caught) issues in the VCL layer not correctly transmitting 
data over -- and even more [2].  You can read a bit more on the 
technical side of things on the wiki page [3].

These tests are enabled by default if all dependencies are available. 
That is a working Xvfb [4], dbus-launch, and the AT-SPI2 library [5] 
which is used to communicate with the platform accessibility daemon.  It 
is also possible to either enable or disable them forcefully, using 
--enable-atspi-test and --disable-atspi-tests respectively.

Linux CIs are running these tests, but anybody willing is encouraged to 
enable those locally and report any issue (don't hesitate to CC me).

Anybody interested is also more than welcome to extend coverage of these 
tests!  At the moment only a subset of the a11y APIs are checked, yet it 
should not be very hard to add more.  If you're interested, give [3] a 
look and again, don't hesitate to get in touch with me.
If you're interested in making this work with another VCL (Qt6, GTK4, 
etc.) it would also be great, but probably require a tad more work.  It 
would however be very interesting, and would add coverage for another 
substantial module :)

You're also more than welcome to build on the concept for other 
platforms (e.g. Window or macos).  I expect those to look fairly 
similar, but require a wholly different platform wrapping layer 
(obviously they'd use something other than libatspi, and they might need 
to adapt to differences in the platform's expectations, although they 
are actually fairly similar).

Happy testing!

PS: huge thanks to everyone that helped me getting this finally done, 
including but not limited to testing, fixing blocker bugs, adjust CI 
environment, and everything else :)

[2] e.g.

More information about the LibreOffice mailing list