After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 580889 - table cells do not implement action interface
table cells do not implement action interface
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Accessibility
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Li Yuan
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2009-04-30 15:04 UTC by Brian G. Merrell
Modified: 2010-05-13 06:26 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
pygtk gtktreeview.py application referenced in the REPRO steps (2.25 KB, text/plain)
2009-04-30 15:08 UTC, Brian G. Merrell
  Details
pyatspi script referenced in the REPRO steps (497 bytes, text/plain)
2009-04-30 15:24 UTC, Brian G. Merrell
  Details
action interface implementation for table cell (3.38 KB, patch)
2009-12-17 00:16 UTC, Szilárd Pfeiffer
reviewed Details | Review
atk implementation fix without public API/ABI modification (1.82 KB, patch)
2010-01-11 22:04 UTC, Szilárd Pfeiffer
none Details | Review
Patch. (2.36 KB, patch)
2010-04-26 03:04 UTC, Mike Gorse
committed Details | Review

Description Brian G. Merrell 2009-04-30 15:04: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):
  • File "./bug.py", line 14 in <module>
    ai = parent0.queryAction()
  • File "/usr/lib/python2.6/site-packages/pyatspi/accessible.py", line 212 in _inner
    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).
Comment 1 Brian G. Merrell 2009-04-30 15:08:29 UTC
Created attachment 133656 [details]
pygtk gtktreeview.py application referenced in the REPRO steps
Comment 2 Brian G. Merrell 2009-04-30 15:24:14 UTC
Created attachment 133658 [details]
pyatspi script referenced in the REPRO steps
Comment 3 Szilárd Pfeiffer 2009-12-17 00:16:28 UTC
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.
Comment 4 Mike Gorse 2010-01-06 00:14:48 UTC
Thanks; I had a similar patch and had been intending to file it; didn't realize that there was already a bug open.
Comment 5 Mike Gorse 2010-01-06 00:20:14 UTC
Li, I just realized that you weren't CCed on this bug for some reason.  Could you review the patch please?
Comment 6 Li Yuan 2010-01-08 07:18:54 UTC
Review of attachment 149888 [details] [review]:

I am OK with the patch.
Comment 7 Christian Persch 2010-01-09 19:28:26 UTC
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
Comment 8 Szilárd Pfeiffer 2010-01-11 22:04:41 UTC
Created attachment 151197 [details] [review]
atk implementation fix without public API/ABI modification

I fixed the problem Christian Persch mentioned in comment 7.
Comment 9 Li Yuan 2010-01-19 08:18:44 UTC
Review of attachment 151197 [details] [review]:

Would this patch cause the action interface to be added twice to gailbooleancell?
Comment 10 Mike Gorse 2010-04-26 03:04:07 UTC
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.
Comment 11 Li Yuan 2010-04-26 08:11:52 UTC
Review of attachment 159565 [details] [review]:

committed
Comment 12 Mike Gorse 2010-05-11 02:24:54 UTC
Li, are you okay with this going into 2.20?
Comment 13 Li Yuan 2010-05-13 06:26:06 UTC
Sure.