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 443067 - [verified] sayAll by sentence skips content that is in HTML tables in Firefox
[verified] sayAll by sentence skips content that is in HTML tables in Firefox
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: speech
2.19.x
Other All
: Normal normal
: 2.20.0
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks: 404403
 
 
Reported: 2007-06-01 23:18 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2008-07-22 19:27 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
patch to hopefully solve the problem (2.00 KB, patch)
2007-06-01 23:20 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2007-06-01 23:18:52 UTC
Steps to reproduce:

1. Navigate to some text in Firefox that precedes an HTML table
2. With sayAll set to read by sentence, launch sayAll

Expected results:  Orca would read the entire page from the present location.

Actual results:  Orca speaks the table description and then skips the remainder of the table with the exception of the last table cell.

patch to follow
Comment 1 Joanmarie Diggs (IRC: joanie) 2007-06-01 23:20:15 UTC
Created attachment 89213 [details] [review]
patch to hopefully solve the problem

This should also solve the problem Will commented about here: http://bugzilla.gnome.org/show_bug.cgi?id=437753#c6

Mike please test.
Comment 2 Joanmarie Diggs (IRC: joanie) 2007-06-01 23:43:56 UTC
This doesn't solve it for me on techbargains.com; it does on sfgate.com and live.gnome.org.  Time to figure out what's going on with techbargains....
Comment 3 Joanmarie Diggs (IRC: joanie) 2007-06-01 23:46:32 UTC
Sorry to be spammy:  If I move focus to the top of the page of techbargains.com, sayAll works as expected.  
Comment 4 Willie Walker 2007-06-01 23:50:52 UTC
The code that's doing 'autospeak' is as follows.  I wonder if the lines marked with "-->" are not ending up at the same spot as when you move focus to the top of the page by hand.  What do you think?

                if finishedLoading:
                    # We want to present something regarding where the
                    # caret is in the newly loaded page.  If the caret
                    # isn't anywhere, we will set it to the top of the
                    # page.
                    #
                    [obj, characterOffset] = self.getCaretContext()
                    if not obj:
--->                    [obj, characterOffset] = self.findNextCaretInOrder()
--->                    self.setCaretContext(obj, characterOffset)
                    if not obj:
                        return

                    # When a document is loaded, we are going to
                    # assume that the newly loaded document frame has
                    # focus.  Gecko doesn't seem to give us a focus
                    # event for this, though, so we will force the
                    # locus of focus here.
                    #
                    orca.setLocusOfFocus(event, obj, False)

                    # For braille, we just show the current line
                    # containing the caret.  For speech, however, we
                    # will start a Say All operation if the caret is
                    # in an uneditable area (e.g., it's not in a text
                    # entry area such as Google's search text entry).
                    # Otherwise, we'll just speak the line that the
                    # caret is on.
                    #
                    self.updateBraille(obj)
                    if obj.state.count(atspi.Accessibility.STATE_EDITABLE):
                        self.speakContents(
                            self.getObjectContentsAtOffset(obj,
                                                           characterOffset))
                    elif settings.enableSpeech:
                        self.sayAll(None)
Comment 5 Mike Pedersen 2007-06-02 20:55:26 UTC
While we still have the problem of not starting from the correct place when a new page is opened I think this patch solves the origional problem reported in the bug.  Sayall now seems to work when encountering tables when reading by sentense.  
Comment 6 Joanmarie Diggs (IRC: joanie) 2007-06-02 21:25:50 UTC
Okie dokie.  Patch checked in.
Comment 7 Joanmarie Diggs (IRC: joanie) 2007-06-02 21:46:02 UTC
I see it's verified by Mike.  Closing as FIXED.