GNOME Bugzilla – Bug 357923
[a11y] Welcome message will not be reported by orca.
Last modified: 2021-05-19 12:27:44 UTC
Please describe the problem: The evolution welcome message in the first screen of mail account setting can not be reported by orca. Steps to reproduce: 1. Launch orca and evolution. 2. For first time launching evolution, there will popup a setting wizard window to help you finish the evolution mail account settings. 3. For others, please go to Evolution top menu Edit->Preferences->Mail Account->Add to pop this window. Actual results: The welcome message in this evolution window will not be reported by orca. Expected results: The evolution welcome message should be reported to user. Does this happen every time? Yes. Other information: This bug is visible with evolution 2.8 and gnome 2.16 on solaris vermillion 50.
Hi Will, I'm look this bug. This is relative to gnome-druid. I have taked a look at Orca's code here, Orca is waiting SHOWING signal, right? I used at-poke's eventlog, and find out gnome-druid does emit SHOWING signal for the first page(druid-page-edge). But after that, a FOCUS signal is emit by FORWARD button, I think maybe this will block Orca read the content of the page? BTW: I will take a vacation in the next 4 days. We can discuss this after that.
Hi, I am back. Any updates?
Hi Li: Rich worked on the wizard windows for Evolution, so I've asked him to take a deeper look into this. Thanks!
Created attachment 75444 [details] Orca debug log to show events from time the "Add" button is pressed It looks like the panel containing the "Welcome" content for the wizard says it is SHOWING before the window for the panel is activated. Odd. Here's what seem to be the relevant order of events we're getting: line 2928: panel showing (setup wizard) line 3022: window deactivate (main evo window) line 3060: window activate (setup wizard) line 3267: button focus (setup wizard) It puzzles me how the panel could be showing before the window is activated. I'd expect this order: line 3022: window deactivate (main evo window) line 3060: window activate (setup wizard) line 2928: panel showing (setup wizard) line 3267: button focus (setup wizard) Here's the relevant lines from the debug log... Starting at line 2928: vvvvv PROCESS OBJECT EVENT object:state-changed:showing vvvvv OBJECT EVENT: object:state-changed:showing detail=(1,0) app.name='evolution-2.8' name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations='' evolution.onStateChanged - setup assistant. util.getObjects looking at child 0 ---------> QUEUEING EVENT object:state-changed:visible util.getObjects looking at child 0 util.getObjects looking at child 0 ---------> QUEUEING EVENT object:state-changed:visible util.getObjects looking at child 0 util.getObjects looking at child 1 util.getObjects looking at child 0 util.getObjects looking at child 1 ---------> QUEUEING EVENT object:state-changed:visible util.getObjects looking at child 2 util.getObjects looking at child 3 ---------> QUEUEING EVENT object:state-changed:visible SPEECH OUTPUT: 'Welcome to the Evolution Mail Configuration Assistant. Click "Forward" to begin. ' SPEECH OUTPUT: 'Mail Configuration screen' ^^^^^ PROCESS OBJECT EVENT object:state-changed:showing ^^^^^ Then...starting at line 3022: vvvvv PROCESS OBJECT EVENT window:deactivate vvvvv OBJECT EVENT: window:deactivate detail=(0,0) app.name='evolution-2.8' name='Evolution Preferences' role='dialog' state='ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations='' LOCUS OF FOCUS: None event='window:deactivate' OBJECT EVENT: window:deactivate detail=(0,0) app.name='evolution-2.8' name='Evolution Preferences' role='dialog' state='ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations='' ^^^^^ PROCESS OBJECT EVENT window:deactivate ^^^^^ Then...starting at line 3060: vvvvv PROCESS OBJECT EVENT window:activate vvvvv OBJECT EVENT: window:activate detail=(0,0) app.name='evolution-2.8' name='Evolution Account Assistant' role='frame' state='ACTIVE ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations='' ACTIVE SCRIPT: evolution-2.8 (module=orca.scripts.Evolution) LOCUS OF FOCUS: app='evolution-2.8' name='Evolution Account Assistant' role='frame' event='window:activate' OBJECT EVENT: window:activate detail=(0,0) app.name='evolution-2.8' name='Evolution Account Assistant' role='frame' state='ACTIVE ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations='' GENERATOR: _getDefaultBrailleRegions obj = evolution-2.8 role = application GENERATOR: _getBrailleRegionsForFrame obj = Evolution Account Assistant role = frame GENERATOR: _getDefaultBrailleRegions obj = Evolution Account Assistant role = frame BRAILLE LINE: 'evolution-2.8 Application Evolution Account Assistant Frame' VISIBLE: 'Evolution Account Assistant Fram', cursor=1 default.findCommonAncestor... GENERATOR: _getDefaultSpeech obj = Evolution Account Assistant role = frame already_focused = False utterances: (Evolution Account Assistant) (frame) GENERATOR: _getSpeechForFrame obj = Evolution Account Assistant role = frame already_focused = False utterances: (Evolution Account Assistant) (frame) SPEECH OUTPUT: 'Evolution Account Assistant frame' ^^^^^ PROCESS OBJECT EVENT window:activate ^^^^^ Then...starting at line 3267: vvvvv PROCESS OBJECT EVENT focus: vvvvv OBJECT EVENT: focus: detail=(0,0) app.name='evolution-2.8' name='Forward' role='push button' state='ENABLED FOCUSABLE FOCUSED SENSITIVE SHOWING VISIBLE' relations='' LOCUS OF FOCUS: app='evolution-2.8' name='Forward' role='push button' event='focus:' OBJECT EVENT: focus: detail=(0,0) app.name='evolution-2.8' name='Forward' role='push button' state='ENABLED FOCUSABLE FOCUSED SENSITIVE SHOWING VISIBLE' relations='' evolution.locusOfFocusChanged - setup assistant. GENERATOR: _getBrailleRegionsForFrame obj = Evolution Account Assistant role = frame GENERATOR: _getDefaultBrailleRegions obj = Evolution Account Assistant role = frame GENERATOR: _getDefaultBrailleRegions obj = evolution-2.8 role = application GENERATOR: _getBrailleRegionsForPushButton obj = Forward role = push button BRAILLE LINE: 'evolution-2.8 Application Evolution Account Assistant Frame Forward Button' VISIBLE: 'Forward Button', cursor=1 default.findCommonAncestor... ...default.findCommonAncestor GENERATOR: _getDefaultSpeech obj = Forward role = push button already_focused = False utterances: (Forward) (button) GENERATOR: _getSpeechForPushButton obj = Forward role = push button already_focused = False utterances: (Forward) (button) SPEECH OUTPUT: '' SPEECH OUTPUT: 'Forward button' ^^^^^ PROCESS OBJECT EVENT focus: ^^^^^
With the Evolution Setup assistant code, I have to do some funky hacking in the Orca script because of the way that Evolution creates this wizard. Namely, (at about line 166), there is the comment: # We are only interested in a label if all the panels in the # component hierarchy have states of ENABLED, SHOWING and VISIBLE. # If this is not the case, then just return. Id the Evolution setup wizard could be reworked so that it only had one pane showing at any one time, it would make our life a lot easier.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines and create a new bug report ticket at https://gitlab.gnome.org/GNOME/evolution/-/issues/ Thank you for your understanding and your help.