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 455342 - flat-review problem with Swing buttons and check boxes
flat-review problem with Swing buttons and check boxes
Status: RESOLVED NOTABUG
Product: orca
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Lynn Monsanto
Orca Maintainers
Depends on:
Blocks: orca-java
 
 
Reported: 2007-07-09 23:08 UTC by Lynn Monsanto
Modified: 2007-07-18 12:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description Lynn Monsanto 2007-07-09 23:08:36 UTC
When you tab through the components at the top of the Swing open file dialog, Orca  correctly speak the name and state of the 'list' and 'details' buttons. However, when you use KP-6 to move through the same components, flat-review acts like there are components just to the left of the 'list' and 'details' buttons. Flat-review speaks the 'list' button state for the first pseudo-compnent and the 'details' button state for the second pseudo-component.
Comment 1 Lynn Monsanto 2007-07-09 23:29:58 UTC
This is a more general problem. Try flat-reviewing the right-hand panel in the SwingSet2 Button Demo page. Flat-review acts like there is a component just to the right of the 'Display Options' check boxes. Flat-review speaks the check box state for this pseudo-component. The same goes for the 'Text Position' buttons.
Comment 2 Lynn Monsanto 2007-07-11 17:07:19 UTC
Will,

I found the flat-review.Context._insertStateZone method that inserts a state zone next to the Swing buttons, check boxes, etc. 

I'm not sure what to do with this bug. For Swing components, it appears that the appropriate behavior when navigating by word or characters should be:

1. If the zone is a StateZone, don't draw a zone rectangle or speak/Braille the StateZone.

2. If the zone is not a StateZone, and the previous zone is a StateZone, append the StateZone utterances to the utterances for this zone.

There's also the issue of whether the StateZone is to the left or right of the component, plus the issue of whether flat-review navigation is to the left or to the right.

What should I do here?

Comment 3 Willie Walker 2007-07-11 17:28:25 UTC
Ignoring where/if the rectangle is drawn, does the speech/braille output provide the desirable user experience?  (i.e., what is the output when you navigate word by word or character by character?)
Comment 4 Lynn Monsanto 2007-07-11 23:25:48 UTC
IMHO, the user experience is not desirable. When navigating left-to-right by character or word, one key press causes the component state to be presented and the next key press causes the component name to be spoken. The reverse is true naviaging from right-to-left. One key press causes the component name to be spoken. The next key press causes the component state to be spoken. I would think that users would expect one key press to cause both the compoent name and state to be spoken.
'
Comment 5 Mike Pedersen 2007-07-12 17:54:46 UTC
Actually the usibility here is what Will and I origionally discussed and is correct.  
Comment 6 Willie Walker 2007-07-12 18:34:23 UTC
(In reply to comment #5)
> Actually the usibility here is what Will and I origionally discussed and is
> correct.  

Phew.  Thanks for checking on this Mike.  Lynn, I believe the one confusing thing that is left is the debug rectangle that is drawn to indicate the state of the component.  The main problem I was facing when working on this was that I could not figure out a way to determine the bounds of just the indicator -- the only bounds I was able to determine reliably where the bounds of the label and the bounds of the entire component.  

I tried doing some heuristics, such as comparing the two different bounds (i.e., component versus just the text) to infer the bounds of the indicator, but couldn't come up with anything reliable.  If I recall, the main problem was that the bounds of the component might be really really wide.  For example, the bounds of a checkbox widget might be the entire line that it is on, even if the label is very short.  So, I punted and just put an imaginary rectangle in there to handle the indicator state.  Visually, the debug rectangle can be confusing, but the braille/speech user experience is the desired one.

If you can devise a way to infer the bounds of the indicator reliably, then it probably would be a good thing to get in.  Otherwise, we probably should close this as NOTABUG.
Comment 7 Lynn Monsanto 2007-07-16 21:27:18 UTC
I don't think the indicator rectangle is a significant problem. I was only really concerned about the speech/Braille behavior. Closing as NOTABUG.
Comment 8 Willie Walker 2007-07-18 12:10:53 UTC
Thanks Lynn!