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 423435 - [verified] Orca is too chatty when loading a page in Firefox
[verified] Orca is too chatty when loading a page in Firefox
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal normal
: 2.20.0
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks: 404403
 
 
Reported: 2007-03-27 18:36 UTC by Willie Walker
Modified: 2008-07-22 19:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to reduce chattiness (5.44 KB, patch)
2007-05-11 14:47 UTC, Willie Walker
none Details | Review
Revised patch based upon communication with Aaron Leventhal (6.00 KB, patch)
2007-05-11 15:26 UTC, Willie Walker
none Details | Review
Revision on first patch (10.81 KB, patch)
2007-05-11 16:50 UTC, Willie Walker
committed Details | Review
Patch to work with new FF behavior (FF from 29-May) (2.33 KB, patch)
2007-05-29 17:17 UTC, Willie Walker
committed Details | Review

Description Willie Walker 2007-03-27 18:36:44 UTC
When it takes a long time to load a page in Firefox, Orca outputs a bunch of chatty information that is irrelevant and confusing (e.g., it sometimes speaks the name of the current window over and over) before finally saying "Finished loading."  This chattiness should be reduced to relevant information only.
Comment 1 Willie Walker 2007-04-04 14:07:57 UTC
A possible solution to this might be to maintain some sort of state (i.e., Gecko is currently loading a web page) and prevent speech/braille from being updated during this time.  This might be a terrible hairball if we want to globally prevent speech/braille.  A more isolated approach might be to see what kinds of events we are getting while a page is loading and selectively filter on those.
Comment 2 Willie Walker 2007-04-05 20:17:42 UTC
I did some digging into this to see what events were being delivered between the time I caused Firefox to want to go somewhere (e.g., activate a link, enter a URL, etc.), and the time the page was ultimately loaded.  I'm seeing the following important events that cause us to speak information in between the "Loading" and "Finished Loading" messages:

OBJECT EVENT: focus:                                   detail=(0,0)
    app.name='Minefield'          name=None role='document frame' state='BUSY ENABLED FOCUSABLE FOCUSED HORIZONTAL OPAQUE SENSITIVE SHOWING VISIBLE' relations=''
SPEECH OUTPUT: 'http://bugzilla.gnome.org/attachment.cgi?id=85866&action=view html content'

OBJECT EVENT: object:state-changed:focused             detail=(1,0)
    app.name='Minefield'          name='http://bugzilla.gnome.org/attachment.cgi?id=85866&action=view' role='document frame' state='BUSY ENABLED FOCUSABLE FOCUSED HORIZONTAL OPAQUE SENSITIVE SHOWING VISIBLE' relations=''
SPEECH OUTPUT: 'Google page'

OBJECT EVENT: object:visible-data-changed              detail=(0,0)
    app.name='Minefield'          name='Google - Minefield' role='frame' state='ACTIVE ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations=''

Notice that during this time, the document frame marks itself as having STATE_BUSY.  This might be a useful indicator for us somehow.  In particular, we might attempt to ignore focus events on the document frame while it is STATE_BUSY, and we might also ignore visible-data-changed events on a frame if the document frame is STATE_BUSY.

I'll hack unless someone else beats me to it.
Comment 3 Willie Walker 2007-05-11 14:47:05 UTC
Created attachment 88016 [details] [review]
Patch to reduce chattiness
Comment 4 Willie Walker 2007-05-11 15:26:16 UTC
Created attachment 88020 [details] [review]
Revised patch based upon communication with Aaron Leventhal
Comment 5 Willie Walker 2007-05-11 16:50:16 UTC
Created attachment 88027 [details] [review]
Revision on first patch

This patch is a variant on the first patch.  It turns out that acting on the document load-completed event is too soon since the title of the window hasn't been updated yet.  If we wait until the busy state clears (the second time), things seem to be stable and we can present them.
Comment 6 Mike Pedersen 2007-05-11 18:12:39 UTC
This is working much better.  Should I file a separate bug for pages that don't update the braille focus correctly?  I think this has to do with weather or not firefox places focus correctly in the document or not.  
Comment 7 Willie Walker 2007-05-11 18:20:06 UTC
(In reply to comment #6)
> This is working much better.  Should I file a separate bug for pages that don't
> update the braille focus correctly?  I think this has to do with weather or not
> firefox places focus correctly in the document or not.  

I think there are two different additional bugs:

1) Once a page is loaded, also present the current locus of focus on the page (if it exists) in both speech and braille.  If Firefox didn't give anything focus in the document, should we set the locus of focus to the first thing on the page (I guess) and present that?

2) You mentioned something about navigation of menus and the autocomplete URL location bar causing spurious speech output.
Comment 8 Joanmarie Diggs (IRC: joanie) 2007-05-11 19:15:01 UTC
> 2) You mentioned something about navigation of menus and the autocomplete URL
> location bar causing spurious speech output.

w.r.t. the location bar, there are a couple of things going on which I noticed while working on the solution to Find support:

1. The location bar seems to have acquired an ancestor of ROLE_UNKNOWN.   This occurred a few days ago.  Who knows why?  Haven't had time to ask yet.

2. getSpeechContext() was frequently "bubbling up" the hierarchy to the application frame,

I took a stab at handling both issues in my Find patch (bug 407663), so Mike when you are trying the Find stuff, please also check the address bar chattiness.  Thanks!

Comment 9 Willie Walker 2007-05-11 21:13:26 UTC
OK - I'm closing this as FIXED.  The problem of not speaking the current object with focus in a new page is tracked in bug 437753, and the spurious speech problem might be fixed in bug 407663.  If the spurious speech problem is not fixed with bug 407663, then a new bug should be opened.
Comment 10 Willie Walker 2007-05-29 17:10:06 UTC
Reopening -- the fix for https://bugzilla.mozilla.org/show_bug.cgi?id=381832 hurt this logic.  Patch coming soon.
Comment 11 Willie Walker 2007-05-29 17:17:48 UTC
Created attachment 89018 [details] [review]
Patch to work with new FF behavior (FF from 29-May)

The new behavior of FF simplifies the amount of work we need to do in Orca.
Comment 12 Willie Walker 2007-05-29 17:22:40 UTC
Committed.  Mike, please test -- you'll need a FF from at least 29-May.
Comment 13 Mike Pedersen 2007-05-29 18:24:50 UTC
I've tested this while moving between lots of web pages and it seems to be working well.
Comment 14 Willie Walker 2007-05-29 19:52:06 UTC
Thanks!  Closing as FIXED.