GNOME Bugzilla – Bug 719470
If previous have any active window and I run orca --replace command, the active window not get right focused state
Last modified: 2013-11-28 20:23:44 UTC
Created attachment 263003 [details] Debug file with possible show why happening this issue Dear Joanie, I see an interesting thing, but I not verified yet with Orca gnome-3-10 branch version. If I previous working any application and run orca --replace command or restart the screen reader with SUPER+ALT+S keystrokes, the active window not get right focus. An example testcase with Gedit application, I always reproduce the issue: 1. Launch Gedit, and type three line. After this, positioning top of the file. 2. Press ALT+F2 key combination, and run orca --replace command. After this, Orca will announce screen reader is on, and Gedit partialy get focused state. 3. Try moving the caret the typed text. Orca will not spokening any lines. 4. Finaly, press one ALT+TAB keystroke. Gedit will be correct focused and Orca reading the highlighted lines when you using the arrow keys. Expected result when Orca restarted with orca --replace command or the SUPER+ALT+S keystrokes: the previous active window or the first activatable window get correct full focused state. Actual status: this is partialy happening for example with Gedit application. Orca announce the "unnamed1 - Gedit frame and page tab, but the multiline editbox not get focus. One ALT+TAB key temporary resolve the problem. My environment: OS: Ubuntu 13.10 GNOME Shell version: 3.8 Session: GNOME Shell classic mode Orca version: latest master branch, all updates installed Hopefuly we not coming back a GNOME Shell related bug with you wrote in Orca-list the Orca preferences dialog related after login operation happened and Orca initialy started. After login for example not focused any windows and the desktop area not activated automaticaly, this is resulting for example Orca preferences dialog unable to presenting the users before not activate any application windows or the desktop. Attila Attila
This is not so much a bug as it is an unhandled edge case. Here's what's going on: 1. Focus is in Gedit's text widget. 2. You press Alt+F2. Now focus is in the Run dialog's text widget. 3. You type "orca --replace" and press return. Now focus is in Gedit's text widget again. 4. Orca quits and restarts itself. Focus has not left Gedit's text widget, therefore we do not expect Gedit (or anything else) to emit a focus-changed event. The same is true for window-activate events because the active window has not changed. What Orca does upon launch is go looking for the active window. Doing this is quite performant. What Orca does *not* do upon launch is go looking for the focused object in that active window. Doing so tends to be extremely non-performant because Orca has to go looking through potentially a *ton* of accessible objects trying to figure out which one is the focused one. In addition, it is error prone because some applications lie to us and tell us something is focused when it is not, or not focused when it is. So fixing the bug you report will have negative side effects which will be seen each time Orca is launched. And your particular bug doesn't occur each time Orca is launched; it only occurs when you have to replace the currently running Orca in an active session. That shouldn't happen very often, and those cases that cause you to have to do that are the real bugs to be fixed. And you can work around the issue as you stated: Do something to cause a proper focused event to be emitted. The proper fix for the bug you reported here is implementing what I described in bug 651368. When that is in place, Orca can ask the application via at-spi2 to tell it what the focused object is. That should be both reliable and performant. As such, I'm closing this bug as a duplicate of 651368. *** This bug has been marked as a duplicate of bug 651368 ***