GNOME Bugzilla – Bug 685827
Current Gtk accessibility support doesn't allow extension
Last modified: 2012-12-27 18:36:58 UTC
Initially discussed on this thread: https://mail.gnome.org/archives/gtk-devel-list/2012-August/msg00001.html On Boston summit we resumed this discussion: http://blogs.gnome.org/mclasen/2012/10/08/gnome-summit-sunday/ Current plan is making public some of the gtk atk implementation API for 3.8. As I said during the summit and [1], I don't think that we need to expose all the APIs, as more of the methods are implementation details. Third party apps will basically need to redefine some ATK methods, so probably just exposing the type of the accessibility classes are enough. As mentioned on the summit, some cleaning (like creating private structures) would be required. Creating this bug in order to track this problem and to block some of the bugs of those "third-party" apps, like Evince. [1] https://mail.gnome.org/archives/gtk-devel-list/2012-August/msg00052.html
To repeat what was said at the summit: The required tasks here are to: - review and clean up the a11y headers - move all members to privates - write at least some documentation
I'm working on moving members to privates right now, fyi.
Created attachment 226418 [details] [review] Patch to move a11y fields in remaining headers to private structures.
mostly done already, I fear.
*** Bug 686005 has been marked as a duplicate of this bug. ***
Is it possible for minor patches for current versions to be released (e.g. re: accessing _focus_widget in gail.c and the gtk_widget_class_set_accessible_type errors for custom widgets). 3.8 seems a long time to wait to be able to get accessibility working again. E.g. Debian Wheezy is soon to be released as the new stable for the next two years and is set to use gtk3.4 (similarly Ubuntu 12.04). This will mean that for a long period there will be a lot of people with limited accessibility use under gtk+3.
the rule is: no new API is added during a stable cycle, and old stable releases are not updated, except for security issues.
I've pushed this now, you need to include gtk-a11y.h