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 486899 - Where Am I doesn't present checkbox state in tables
Where Am I doesn't present checkbox state in tables
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal normal
: 2.22.0
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks: 468098 487237
 
 
Reported: 2007-10-15 17:54 UTC by Willie Walker
Modified: 2008-07-22 19:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (3.44 KB, patch)
2007-12-01 22:27 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
modified test assertions (6.00 KB, patch)
2007-12-02 02:20 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Willie Walker 2007-10-15 17:54:26 UTC
Steps to reproduce:

1) Run the Tree View -> List Store demo of gtk-demo

2) Arrow down to the first line and arrow left to the checkbox in the first column.

3) Press KP_Enter.  Orca outputs the following:

     "BRAILLE LINE:  'gtk-demo Application GtkListStore demo Frame ScrollPane Table Fixed? ColumnHeader < > Fixed? 60482 Normal scrollable notebooks and hidden tabs'",
     "     VISIBLE:  '< > Fixed? 60482 Normal scrollab', cursor=1",
     "SPEECH OUTPUT: ''",
-->  "SPEECH OUTPUT: 'cell'",
     "SPEECH OUTPUT: ''",
     "SPEECH OUTPUT: '60482'",
     "SPEECH OUTPUT: 'Normal'",
     "SPEECH OUTPUT: 'scrollable notebooks and hidden tabs'",
     "SPEECH OUTPUT: 'row 1 of 14'"


Expected results:

In step 3, Orca should speak the checkbox state for the first column.  I'd expect something like the following:

     "BRAILLE LINE:  'gtk-demo Application GtkListStore demo Frame ScrollPane Table Fixed? ColumnHeader < > Fixed? 60482 Normal scrollable notebooks and hidden tabs'",
     "     VISIBLE:  '< > Fixed? 60482 Normal scrollab', cursor=1",
     "SPEECH OUTPUT: ''",
-->  "SPEECH OUTPUT: 'checkbox not checked'",
     "SPEECH OUTPUT: ''",
     "SPEECH OUTPUT: '60482'",
     "SPEECH OUTPUT: 'Normal'",
     "SPEECH OUTPUT: 'scrollable notebooks and hidden tabs'",
     "SPEECH OUTPUT: 'row 1 of 14'"

I'm not sure if it should say "Fixed? checkbox not checked" or just "checkbox not checked" though.  Mike?
Comment 1 Mike Pedersen 2007-10-16 17:21:54 UTC
I think it should say "Fixed? checkbox not checked" because that better shows the context. 
Comment 2 Willie Walker 2007-10-26 21:56:49 UTC
See also role_column_header.py and role_tree_table.py in the test/keystrokes/gtk-demo directory.
Comment 3 Willie Walker 2007-11-01 19:39:51 UTC
I think it would be a good idea to fix bug 487237 before or as part of this work.  We duplicate the cell role inference logic too much right now.
Comment 4 Joanmarie Diggs (IRC: joanie) 2007-12-01 17:05:08 UTC
I discussed bug 487237 with Rich.  The plan is for me to fix this bug first and THEN for Rich to generalize the code.  Changing the depends to a blocks.
Comment 5 Joanmarie Diggs (IRC: joanie) 2007-12-01 22:27:35 UTC
Created attachment 100006 [details] [review]
proposed patch

There are several issues mentioned in this bug:

1. The generic "we don't present checkbox state in tables"
2. We don't speak the info for the cell we're on.
3. We should speak the column header of the cell we're on.

Issues 2 and 3 are addressed by bug #486897.  That leaves the generic speaking of them.  This patch will cause checkboxes to be spoken when the entire row gets read.

In the process of testing this (to be sure I hadn't broken regular checkbox where am I), I was struck by the pauses that result from making the role (checkbox) and the state (checked/not checked) each be its own utterance.  So I tried combining the role and the state and I think it sounds better -- especially when you have a bunch of checkboxes in a row (see the gtk-demo Tree Store example).  I'm tossing this out for consideration.  If the verdict is that the strings should be combined, I'll look for the affected test assertions and update those.  If instead the verdict is to keep the pauses, I'll put them back.  Let me know.

Finally, our current where am I code had this comment:

      # Don't speak check box cells that area not checked.

That rather contradicts what we want to achieve in this bug. :-)  The only rationale I could think of was not saying irrelevant stuff in Evolution and Thunderbird (such as the lack of attachment or the lack of flagged status).  I tested this patch with Thunderbird 3 and Evolution 2.21.2 and we are not speaking such irrelevant information.  If folks wouldn't mind testing this with earlier versions of Evolution (and any place else they could think of with similar structures) that would be great.

Thanks!
Comment 6 Mike Pedersen 2007-12-02 00:08:57 UTC
I think this patch is what we are looking for including the removal of the pauses.
Comment 7 Joanmarie Diggs (IRC: joanie) 2007-12-02 02:20:00 UTC
Created attachment 100025 [details] [review]
modified test assertions

Thanks Mike!

Will: I modified gtk_role_checkbox.py and gtk_role_tree_table.py accordingly.  Please review.  Thanks!

(already pylinted)
Comment 8 Willie Walker 2007-12-02 19:20:11 UTC
(In reply to comment #7)
> Created an attachment (id=100025) [edit]
> modified test assertions

This looks good.  Thanks!
Comment 9 Joanmarie Diggs (IRC: joanie) 2007-12-02 21:05:07 UTC
Committed.  Moving to pending.
Comment 10 Mike Pedersen 2007-12-04 18:18:54 UTC
looks great
Comment 11 Joanmarie Diggs (IRC: joanie) 2007-12-04 19:19:27 UTC
Thanks Mike.  Closing as FIXED.