GNOME Bugzilla – Bug 486969
Status bar not being read with Where Am I
Last modified: 2008-07-22 19:32:58 UTC
Steps to reproduce: 1) Run the "Application main window" demo of gtk-demo 2) Press Insert+KP_Enter twice 3) Orca should present the status bar at the bottom of the window ("Cursor at row 0..."). It doesn't present it. I can find the status bar via Accerciser, and it looks like a status bar. But, the hierarchy might be odd. As an extra test, try Where Am I to read the status bar in a gedit window. It works. So, when fixing this bug, make sure not to break the gedit functionality.
See also test/keystrokes/gtk-demo/role_status_bar.py
Created attachment 98928 [details] [review] proposed patch _speakStatusBar() seems to assume one of two conditions: 1. The status bar has no children, therefore the status bar contents can be found in the status bar's name. 2. The status bar has children, therefore the status bar contents can be found in the names of the status bar's immediate children. In the case of the gtk-demo app in this bug, the immediate child of the status bar is a nameless panel whose children contain the desired names. However, the status bar itself has a name which reflects the contents. This patch checks for a name before looking at the children and works with the demo app, Gedit, Thunderbird, Firefox 3, Calc, and Writer. I suppose there may be cases where the status bar has no name, its immediate children are similarly anonymous, but somewhere buried deep in the hierarchy are named descendants. This patch cannot be bothered to look for them. ;-) If such a test case presents itself, we can adjust accordingly.
Looks like a nice simple patch to me. :-) Please also adjust the assertion in test/keystrokes/gtk-demo/role_status_bar.py to reflect the improved functionality. Once you've done that, and it's good for you, feel free to commit and close. Thanks!
Created attachment 98936 [details] [review] updated role_status_bar.py Now Will.... You didn't say "fix also"; you said "see also." I saw it. ;-) ;-) ;-) (And then promptly forgot about it. Sorry!!!) I changed the assertion, verified that the test came back as succeeding, and checked in the attached.