GNOME Bugzilla – Bug 542873
tooltip windows are not seen by atspi (pyatspi)
Last modified: 2018-04-15 00:26:51 UTC
DESCRIPTION With gail-1.22.1 installed, tooltip windows are not accessible when using pyatspi to view the accessible widgets of an application. Reverting to gail-1.20.0 fixes the problem. REPRODUCE 1. Run accerciser (using pyatspi directly will yield the same results) 2. Run an accessible application with an accessible tooltip widget (the "Help Topics" button on yelp is a good example). I will also attach a pygtk tooltip application for convenience. 3. However the mouse over the widget that has the tooltip and wait for the tooltip to appear. RESULTS The tooltip window never appears in accerciser (and cannot be found using pyatspi) EXPECTED RESULTS When the tooltip window appears on the desktop, it should also appear in accerciser (and should be found using pyatspi) COMMENTS I am fairly confident that this is a gail issue. I knew this wasn't an issue on older releases of GNOME, so I started by reverting accessible related packages to older releases. I reverted atk and at-spi to versions where this was not an issue first. However, that did not solve the problem. Reverting only gail (without reverting atk or at-spi) appears to have solved the problem. For convenience, I used accerciser to describe the steps to reproduce the issue. However, I got the same result when writing a script using pyatspi to test the problem.
Created attachment 114511 [details] simple tooltip example from pygtk tutorial
Is this relative to patch for Bug #482295?
Li, I do not have time to look at the code tonight, but Bug #482295 appears to be a report for version 0.9. I did not have a problem with tooltips with version 1.20.0 of gail.
The version area has a wrong number. It is for 1.20.1.
Brian, this contradicts your report that downgrading gail made things work, and trying to test with it gives me a crash, but gail is testing the name of the window to determine whether it is a tooltip. There are two tooltip classes: gtktooltip and the older, deprecated gtktooltips. gtktooltip.py uses the older class. Gtktooltip windos used to have their name set to gtk-tooltips, which gail recognizes, but the line to set the name was removed in gtk rev 18418, and the log for that entry doesn't mention this change as far as I can tell, so I wonder if it was even intended. Gtktooltip sets the name to gtk-tooltip, so, in theory, gail will recognize it.
I'm not sure how relevant my above comment is. I tried adding a gtk_widget_set_name() call back in, but it didn't help because gail doesn't see the window being created.
Created attachment 118576 [details] gail-1.20.0-4.i586.rpm
Hi Mike, I reverted gail from gail-1.22.1-19.1 to gail-1.20.0-4.i586.rpm by "rpm -e --nodeps gail-1.22.1-19.1" and "rpm -iv --nodeps gail-1.22.1-19.1", run gtktooltip.py and moved mouse to the button for a moment that is appearing a 'window' role for tooltip in accerciser treeview. it also can work well in openSUSE10.3. but winforms's uia2atk/test/samples/tooltip.py still can't implement this control.
We're moving to gitlab! As part of this move, we are moving bugs to NEEDINFO if they haven't seen activity in more than a year. If this issue is still important to you and still relevant with GTK+ 3.22 or master, please reopen it and we will migrate it to gitlab.
As announced a while ago, we are migrating to gitlab, and bugs that haven't seen activity in the last year or so will be not be migrated, but closed out in bugzilla. If this bug is still relevant to you, you can open a new issue describing the symptoms and how to reproduce it with gtk 3.22.x or master in gitlab: https://gitlab.gnome.org/GNOME/gtk/issues/new