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 566954 - ARIA toggle button state not handled correctly
ARIA toggle button state not handled correctly
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other opensolaris
: Normal normal
: 2.24.3
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks: 404403
 
 
Reported: 2009-01-07 22:49 UTC by Willie Walker
Modified: 2009-01-21 14:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Pylinted, but unregression-tested patch (2.22 KB, patch)
2009-01-07 22:52 UTC, Willie Walker
needs-work Details | Review
Revised patch -- pylints, spot tests well (2.40 KB, patch)
2009-01-08 18:06 UTC, Willie Walker
none Details | Review
Patch with regression tests fixed (5.43 KB, patch)
2009-01-09 16:35 UTC, Willie Walker
committed Details | Review

Description Willie Walker 2009-01-07 22:49:29 UTC
It turns out that some ARIA widgets use the "PRESSED" state instead of the "CHECKED" state for toggle buttons and also issue state change events for "pressed" instead of "checked".  Since the AT-SPI spec is so vague about these things, this is probably a legal interpretation.

So, Orca should attempt to handle the PRESSED state for ARIA toggle buttons in addition to the CHECKED state used everywhere else.
Comment 1 Willie Walker 2009-01-07 22:51:37 UTC
I forgot to add a pointer to an example: http://codetalks.org/source/widgets/button/button1.html.  Go to any of the "i" or "B" buttons on the page and change their state.

PS - Note that there seems to be other issues, such as Orca presenting "B Bold Toggle Button" for the "B" button.  Need to dig into that, too.
Comment 2 Willie Walker 2009-01-07 22:52:48 UTC
Created attachment 125980 [details] [review]
Pylinted, but unregression-tested patch

Just a quickie patch.  Not regression tested.
Comment 3 Willie Walker 2009-01-08 13:34:47 UTC
(In reply to comment #2)
> Created an attachment (id=125980) [edit]
> Pylinted, but unregression-tested patch
> 
> Just a quickie patch.  Not regression tested.

Heh - makes the gtk-demo role_toggle_button.py test regress:

Test 3 of 5 FAILED: /export/home/orca/orca/devel/test/keystrokes/gtk-demo/role_toggle_button.py:Toggle button pressed
DIFFERENCES FOUND:
+ 
- BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog &=y Details ToggleButton'
-      VISIBLE:  '&=y Details ToggleButton', cursor=1
- SPEECH OUTPUT: 'pressed'
[FAILURE WAS UNEXPECTED]
Test 5 of 5 FAILED: /export/home/orca/orca/devel/test/keystrokes/gtk-demo/role_toggle_button.py:Toggle button not pressed
DIFFERENCES FOUND:
+ 
- BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog & y Details ToggleButton'
-      VISIBLE:  '& y Details ToggleButton', cursor=1
- SPEECH OUTPUT: 'not pressed'
[FAILURE WAS UNEXPECTED]
Comment 4 Willie Walker 2009-01-08 18:06:53 UTC
Created attachment 126046 [details] [review]
Revised patch -- pylints, spot tests well

Here's a new patch that pylints and spot tests well.  Running the complete gtk-demo and Firefox suites now.
Comment 5 Willie Walker 2009-01-09 16:35:21 UTC
Created attachment 126117 [details] [review]
Patch with regression tests fixed

Everything checked out with the previous patch, and it uncovered a bug that was in the uiuc_button.py test.  That test is fixed with this patch, which has been checked into trunk and gnome-2-24.