Issue 81824 - [a11y] Orca is too chatty when navigating by paragraph in OOo Writer
Summary: [a11y] Orca is too chatty when navigating by paragraph in OOo Writer
Status: CLOSED FIXED
Alias: None
Product: Writer
Classification: Application
Component: ui (show other issues)
Version: OOo 1.0.0
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: eric.savary
QA Contact: issues@sw
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2007-09-21 15:31 UTC by richburridge
Modified: 2013-08-07 14:43 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description richburridge 2007-09-21 15:31:04 UTC
See Orca bug #435201 which has been reopen and is blocked by this issue.
http://bugzilla.gnome.org/show_bug.cgi?id=435201

This is with OpenOffice 2.3.0 RC1 (ubuntu2) on latest Gutsy.

A simple OOo file to use -- spanish.odt -- can be found at:
http://bugzilla.gnome.org/attachment.cgi?id=95966&action=view

Steps to reproduce:

1/ Start Orca
2/ Start oowriter spanish.odt
3/ Type Control-home to get to the top of the document.
4/ Type Control-down to get to the second paragraph.
   This first line is spoken correctly.
5/ Type Control-down to get to the first blank paragraph.
6/ Type Control-down to get to the next paragraph.
   The first line is spoken three times.

See our (the Orca team's) analysis at:

http://bugzilla.gnome.org/show_bug.cgi?id=435201#c23

and

http://bugzilla.gnome.org/show_bug.cgi?id=435201#c24
Comment 1 richburridge 2007-09-21 16:22:23 UTC
Will asked me to ask you (the OOo a11y team) what your
intended meaning of a detail=-1 on a caret-moved event is?

Thanks.
Comment 2 richburridge 2007-09-21 18:13:20 UTC
The other thing I forgot to mention is that when running the steps
to recreate this problem, the following is output to the terminal
window in which I started oowriter:

** (soffice:17642): WARNING **: Exception in getText()

** (soffice:17642): WARNING **: Exception in getText()

** (soffice:17642): WARNING **: Exception in getText()

** (soffice:17642): WARNING **: Exception in getText()
Comment 3 williewalker 2007-11-15 20:14:55 UTC
Two main comments to add here to hopefully help progress on this bug:

1) I'm assuming a object:text-caret-moved event with a detail=(-1,0) means that
the caret is no longer positioned anywhere in the text.

2) I think we might be getting a spurious focus event from OOo when we shouldn't
be, and that seems to be what is causing the excessive chattiness.  Please see
also http://bugzilla.gnome.org/show_bug.cgi?id=435201#c30 for an example
sequence of events delivered by OOo when navigating by paragraph.

Thanks!
Comment 4 nospam4obr 2007-12-04 20:09:17 UTC
Yes, a caret position of '-1' means the caret is no longer in this particular
paragraph object.

The exception warning should not hurt, but I will have a look at it.

On the spurious focus events: what you are observing (at least according to the
log you referenced) are state change events. Those are by design dispatched
synchronously, in contrast to the global focus events which are only sent when idle.

So it seems the empty paragraph temporarily gains the keyboard focus and I doubt
this behavior can easily be changed in writer. Can't you just ignore state
change events for "focused" and rely on the global focus events ?
Comment 5 williewalker 2007-12-06 21:18:19 UTC
>Yes, a caret position of '-1' means the caret is no longer in this 
>particular paragraph object.

Thanks!

> The exception warning should not hurt, but I will have a look at it.

It's scary, though, to users who don't expect these kinds of things.  :-)

> So it seems the empty paragraph temporarily gains the keyboard focus 
> and I doubt this behavior can easily be changed in writer. 

Bummer.  :-(

> Can't you just ignore state change events for "focused" and rely on the
> global focus events ?

I see.  We might be able to do this, though we have various bugs in various
toolkits that we've needed to work around and it requires us to handle both the
focus: and state-changed:focused events.

At this point, however, we've been able to work around the spurious event.  If
you have a way to prevent it from being issued, however, it would be great. 
Thanks for your work on this!
Comment 6 eric.savary 2008-09-15 16:24:55 UTC
As described: the 3rd text paragraph "Now old lady" is reapated 3 times, the
second "NOBODY expects" is repeated 2 times.
Comment 7 ab 2008-09-19 13:42:22 UTC
STARTED, OOo 3.1
Comment 8 ab 2008-12-19 13:56:46 UTC
Evaluation showed that in case of traveling to another paragraph using
Ctrl-up/down SwAccessibleParagraph::_InvalidateCursorPos() is called
6 times (3 times focus lost, 3 times focus gained) whereas when just
traveling with simple Cursor-up/down it's only called twice correctly.

->od as discussed
Comment 9 Oliver-Rainer Wittmann 2009-01-06 10:52:57 UTC
fixed in cws sw31a11y01 - changed file:
/sw/source/ui/wrtsh/wrtsh4.cxx, rev. 265904

defect cause:
unnecessary cursor movements to move the cursor to the previous/next paragraph.
Comment 10 Oliver-Rainer Wittmann 2009-01-20 13:40:33 UTC
OD->ES: Please verify in internal installation
Comment 11 eric.savary 2009-01-30 13:53:08 UTC
Verified in CWS sw31a11y01
Comment 12 eric.savary 2009-03-17 17:46:35 UTC
Ok in OOO310m5