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 571001 - STATE_SHOWING missing on table items
STATE_SHOWING missing on table items
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Accessibility
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 570859
 
 
Reported: 2009-02-08 22:49 UTC by Willie Walker
Modified: 2009-02-25 08:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case (496 bytes, text/plain)
2009-02-08 22:52 UTC, Willie Walker
  Details
patch (838 bytes, patch)
2009-02-19 07:33 UTC, Li Yuan
none Details | Review
new patch (1.62 KB, patch)
2009-02-24 05:59 UTC, Li Yuan
committed Details | Review

Description Willie Walker 2009-02-08 22:49:29 UTC
This bug seems to be new with GNOME 2.25.x.  

1) Run the to-be-attached test case in an xterm
2) Run gtk-demo, open the Tree View -> Tree Store demo
3) Arrow down the tree full of holidays

Eventually, you see that the STATE_SHOWING state is missing from table cells even when they are visible.
Comment 1 Willie Walker 2009-02-08 22:52:36 UTC
Created attachment 128257 [details]
Test case 

This test application prints out information for all the cells in the same row as the object that is the new active descendant.  The True/False being output represents the presence/absence of the STATE_SHOWING state.
Comment 2 Willie Walker 2009-02-13 12:53:02 UTC
BTW, the impact of this is that table cell row information is no longer presented to the user when they arrow down through the table.  It's kind of a bad bug. :-(
Comment 3 Li Yuan 2009-02-19 07:33:00 UTC
Created attachment 129036 [details] [review]
patch

The simple patch fixed the bug on my machine.
Comment 4 Hammer Attila 2009-02-19 13:58:42 UTC
Li Yuan, I tryed apply the attached patch and failed the apply operation.
I use trunk age with gail (svn co http://svn.gnome.org/svn/gail/trunk).

How can you apply this patch?
I would like test this fix with Orca screen reader.
I hope this fix solves the problem my machine, and Orca says correct the table rows.

Attila
Comment 5 Li Yuan 2009-02-20 02:09:13 UTC
Please try to apply the patch to gtk+, gail has been moved to gtk+
Comment 6 Hammer Attila 2009-02-21 06:37:54 UTC
Tryed. Downloaded gtk+ with svn trunk:
svn co http://svn.gnome.org/svn/gtk+/trunk
When I tryed run autogen.sh, the script says need automake 1.7 (automake 1.10 installed my Jaunty system).
I downloaded automake 1.7 and installed, but not help.

After this I downloaded libgail-dev source package, applyed the patch and rebuil whole source ( lot of time build). :-):-)
After this, I installed the rebuilded packages.

Problem: Not solve this patch my problem, Orca screen reader does'nt speak whole table row when table reading mode setted up row mode.
See my bugreport with http://bugzilla.gnome.org/show_bug.cgi?id=570859

What can I wrong? I would like help testing if possible

Attila
Comment 7 Matthias Clasen 2009-02-22 07:00:53 UTC
Patch seems to overlap with the one in bug 325809
Comment 8 Li Yuan 2009-02-23 02:21:58 UTC
Oh, yes. We can ignore the second part of patch for bug #325809.
Comment 9 Li Yuan 2009-02-23 02:24:02 UTC
As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can you confirm that?
Comment 10 Willie Walker 2009-02-23 13:56:36 UTC
(In reply to comment #9)
> As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can
> you confirm that?

Heh - it's on my list.  Building GTK+ from sources has always been a source of trouble for me, though.  I usually end up toasting my desktop.  :-(  Do you have a recommendation for how I might do this on an OpenSolaris 2008.11 b107 machine?
Comment 11 Joanmarie Diggs (IRC: joanie) 2009-02-23 22:07:56 UTC
BEFORE:

[table cell | January] False
[table cell | ] False
[table cell | ] False
[table cell | ] False
[table cell | ] False
[table cell | ] False
[table cell | New Years Day] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | Presidential Inauguration] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | Martin Luther King Jr. day] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True

AFTER:

[table cell | January] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | New Years Day] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | Presidential Inauguration] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | Martin Luther King Jr. day] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
[table cell | ] True
Comment 12 Joanmarie Diggs (IRC: joanie) 2009-02-23 22:09:33 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can
> > you confirm that?
> 
> Heh - it's on my list.  Building GTK+ from sources has always been a source of
> trouble for me, though.  I usually end up toasting my desktop.  :-(  Do you
> have a recommendation for how I might do this on an OpenSolaris 2008.11 b107
> machine?
> 

1. Get automake 1.7 (http://ftp.gnu.org/gnu/automake/)
2. Build glib from svn trunk
3. Get libjasper from the 'pending' repo
4. (Make a special BE and/or take a "before" snapshot ;-) )
Comment 13 Joanmarie Diggs (IRC: joanie) 2009-02-23 22:55:02 UTC
Sorry for the spam.

Li, I just examined this via Accerciser. Try the following:

1. In Accerciser select 'Administrative Professionals' as the accessible. Use the Interface Viewer to examine its state (and leave the Accerciser window in such a way that you can continue to monitor the state while in gtk-demo).

In the tree store demo:

2. Use the mouse to scroll the scroll pane and also to click on rows.

3. Use the keyboard to arrow around.

Administrative Professionals seems to get STATE_SHOWING one row early and lose it as you scroll further down (even though it's still on screen).

Are you seeing this as well?
Comment 14 Li Yuan 2009-02-24 05:59:20 UTC
Created attachment 129386 [details] [review]
new patch
Comment 15 Li Yuan 2009-02-24 06:00:00 UTC
(In reply to comment #13)

Thank you Joanie. 

> 
> Administrative Professionals seems to get STATE_SHOWING one row early 
I think this is not one row early. This is because the cell has a very little part showing on the screen.

> and lose it as you scroll further down (even though it's still on screen).

I found this too. Turns out gtk_tree_view_get_visible_rect return values in tree coordinates. I am changing it to bin_window coordinates.

Thanks for your test case.
Comment 16 Joanmarie Diggs (IRC: joanie) 2009-02-24 08:56:12 UTC
(In reply to comment #15)

> I think this is not one row early. This is because the cell has a very little
> part showing on the screen.

Ok, if I get really, really, really close to my monitor... ;-) Yeah, you're right. Sorry!

> I found this too. Turns out gtk_tree_view_get_visible_rect return values in
> tree coordinates. I am changing it to bin_window coordinates.

I've played with this for a while now, both using Accerciser and using Orca. STATE_SHOWING seems to be exposed (and removed) as expected for all of the tests I've done (clicking, arrowing, scrolling with and without giving focus, etc.)

Thanks!!