GNOME Bugzilla – Bug 566954
ARIA toggle button state not handled correctly
Last modified: 2009-01-21 14:59:16 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.
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.
Created attachment 125980 [details] [review] Pylinted, but unregression-tested patch Just a quickie patch. Not regression tested.
(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]
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.
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.