GNOME Bugzilla – Bug 580889
table cells do not implement action interface
Last modified: 2010-05-13 06:26:06 UTC
PROBLEM STATEMENT I have upgraded to GNOME 2.26.1 and 2.24.1 from 2.22.1. I have noticed that the action interface is not implemented for table cell accessibles in 2.26.1 or 2.24.1. However, it was implemented for the same accessibles (in the same application) in 2.22.1. For what it's worth, I have looked at table cell accessibles of pygtk and Gtk# apps. REPRO 1. Run the attached pygtk gtktreeview.py application 2. Run the attached pyatspi script that (1) searches for a table cell (which has children) and (2) queries the action interface for that table cell RESULTS a NotImplementedError is raised when the action interface is queried: a11y@a11y:~/Desktop> ./bug.py found: [table cell | parent 0] Traceback (most recent call last):
+ Trace 214971
ai = parent0.queryAction()
raise NotImplementedError NotImplementedError
EXPECTED RESULTS The accessible should implement the action interface. Specifically it should have the 'activate' and 'expand or contract' (because it is a parent) actions. COMMENTS I have tested this script in GNOME 2.22.1 and exits cleanly (i.e., no NotImplementedError is raised).
Created attachment 133656 [details] pygtk gtktreeview.py application referenced in the REPRO steps
Created attachment 133658 [details] pyatspi script referenced in the REPRO steps
Created attachment 149888 [details] [review] action interface implementation for table cell I had the same problem when I used dogtail. Solution is in the attachment.
Thanks; I had a similar patch and had been intending to file it; didn't realize that there was already a bug open.
Li, I just realized that you weren't CCed on this bug for some reason. Could you review the patch please?
Review of attachment 149888 [details] [review]: I am OK with the patch.
gail_cell_type_add_action_interface might be considered public API/ABI that cannot be removed. I found one instance of code outside gail calling it: http://google.com/codesearch/p?hl=en#nywQboHfkw4/hail/hail/hail-hildon-libs/hailcalendararrow.c&q=gail_cell_type_add_action_interface&sa=N&cd=5&ct=rc
Created attachment 151197 [details] [review] atk implementation fix without public API/ABI modification I fixed the problem Christian Persch mentioned in comment 7.
Review of attachment 151197 [details] [review]: Would this patch cause the action interface to be added twice to gailbooleancell?
Created attachment 159565 [details] [review] Patch. I've taken Szilárd 's patch and removed the code from gail_cell_type_add_action_interface, since it is obsolete (and should perhaps be deprecated) if the interface is implemented directly in the class.
Review of attachment 159565 [details] [review]: committed
Li, are you okay with this going into 2.20?
Sure.