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 361624 - Flat review sometimes fails to move to second column of text in OOo Writer documents
Flat review sometimes fails to move to second column of text in OOo Writer do...
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.17.x
Other All
: Normal normal
: ---
Assigned To: Rich Burridge
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-10-12 05:53 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2006-10-18 16:43 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
sample document referenced in bug report (18.90 KB, application/vnd.oasis.opendocument.text)
2006-10-12 05:56 UTC, Joanmarie Diggs (IRC: joanie)
  Details
Simpler Column example. (8.76 KB, application/vnd.oasis.opendocument.text)
2006-10-18 14:30 UTC, Rich Burridge
  Details
Orca debug whilst trying to flat review (by line) the simpler column example. (70.06 KB, text/plain)
2006-10-18 14:33 UTC, Rich Burridge
  Details
Patch to fix the problem. (1008 bytes, patch)
2006-10-18 16:39 UTC, Rich Burridge
none Details | Review

Description Joanmarie Diggs (IRC: joanie) 2006-10-12 05:53:16 UTC
Please describe the problem:
Given an OOo Writer document in which the text is formatted in multiple columns, you cannot always flat review to the text in the second and subsequent columns

Steps to reproduce:
1. Open column-example.odt (to be attached)
2. Use flat review to navigate line by line
 


Actual results:
Orca flat reviews through the text in the left column and (for the most part) ignores the text in the right column.  When you reach the bottom of the column, flat review moves to the status bar rather than wrapping.

Expected results:
ONE of two things:
1. Flat review would provide access to the full line, ignoring the column division
2. Flat review would provide access to the first column, then wrap to the second column, and finally move to the status bar.

Does this happen every time?
Not with every document, but reliably with certain documents such as the attached.

Other information:
Comment 1 Joanmarie Diggs (IRC: joanie) 2006-10-12 05:56:47 UTC
Created attachment 74540 [details]
sample document referenced in bug report
Comment 2 Willie Walker 2006-10-15 00:25:39 UTC
Add accessibility keyword.  Apologies for spam.
Comment 3 Rich Burridge 2006-10-18 14:30:49 UTC
Created attachment 74951 [details]
Simpler Column example.

For me, Orca won't flat review the actual contents of the document at all
in this version of the columns example.

Investigating now...
Comment 4 Rich Burridge 2006-10-18 14:33:34 UTC
Created attachment 74953 [details]
Orca debug whilst trying to flat review (by line) the simpler column example.
Comment 5 Rich Burridge 2006-10-18 15:08:28 UTC
Here's the accessible component hierarchy for OOo Writer whilst
viewing the simple column example.

+-name='soffice.bin' role='application' state='' relations=''
  +-name='simpler_column_example.odt - OpenOffice.org Writer' role='frame' state='ACTIVE ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations=''
    +-name='simpler_column_example.odt - OpenOffice.org Writer' role='root pane' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
      +-name=None role='menu bar' state='ENABLED FOCUSABLE OPAQUE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='File' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Edit' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='View' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Insert' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Format' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Table' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Tools' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Window' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Help' role='menu' state='ENABLED OPAQUE SELECTABLE SENSITIVE SHOWING VISIBLE' relations=''
      +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Standard' role='tool bar' state='ENABLED FOCUSABLE HORIZONTAL SENSITIVE SHOWING VISIBLE' relations=''
          +-name='New' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Open' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Save' role='push button' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Document as E-mail' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Edit File' role='push button' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Export Directly as PDF' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Print File Directly' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Page Preview' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Spellcheck' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='AutoSpellcheck' role='push button' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Cut' role='push button' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Copy' role='push button' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Paste' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Format Paintbrush' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Can't Undo' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Can't Restore' role='push button' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Hyperlink' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Table' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Show Draw Functions' role='toggle button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Find & Replace' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Navigator' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Gallery' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Data Sources' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Nonprinting Characters' role='push button' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Zoom' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='OpenOffice.org Help' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Formatting' role='tool bar' state='ENABLED FOCUSABLE HORIZONTAL SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Styles and Formatting' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Apply Style' role='panel' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
            +-name='Apply Style' role='combo box' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
              +-name=None role='text' state='EDITABLE ENABLED FOCUSABLE SENSITIVE SHOWING SINGLE_LINE VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Font Name' role='panel' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
            +-name='Font Name' role='combo box' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
              +-name=None role='text' state='EDITABLE ENABLED FOCUSABLE SENSITIVE SHOWING SINGLE_LINE VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Font Size' role='panel' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
            +-name='Font Size' role='combo box' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
              +-name=None role='text' state='EDITABLE ENABLED FOCUSABLE SENSITIVE SHOWING SINGLE_LINE VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Bold' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Italic' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Underline' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Align Left' role='push button' state='CHECKED ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Centered' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Align Right' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Justified' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Numbering On/Off' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Bullets On/Off' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Decrease Indent' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Increase Indent' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
          +-name='Font Color' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Highlighting' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Background Color' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='separator' state='FOCUSABLE SHOWING VISIBLE' relations=''
      +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
      +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
      +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
      +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name=None role='scroll pane' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Document view' role='unknown' state='EDITABLE ENABLED MULTISELECTABLE OPAQUE SHOWING VISIBLE' relations=''
          +-name=None role='filler' state='ENABLED RESIZABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='panel' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='scroll bar' state='ENABLED FOCUSABLE HORIZONTAL SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Previous page' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Next page' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name='Navigation' role='push button' state='ENABLED FOCUSABLE SENSITIVE SHOWING VISIBLE' relations=''
          +-name=None role='scroll bar' state='ENABLED FOCUSABLE SENSITIVE SHOWING VERTICAL VISIBLE' relations=''
      +-name=None role='statusbar' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Page Number' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Page Style' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Zoom' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Insert Mode' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Selection Mode' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Hyperlinks Active' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Document Modified' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Digital Signatures' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''
        +-name='Size' role='label' state='ENABLED SENSITIVE SHOWING VISIBLE' relations=''

I think the problem is related to:

          +-name='Document view' role='unknown' state='EDITABLE ENABLED MULTISELECTABLE OPAQUE SHOWING VISIBLE' relations=''

which has an 'unknown' role. 

Still looking...

Comment 6 Willie Walker 2006-10-18 15:30:46 UTC
If you remove the blanks lines (e.g., <CR><CR>) from the right hand column, flat review seems to get the second column.  If go back and manually add a blank line, it also works.  Something seems like it might be odd with the document and we're getting something that is triggering the defensive checks or something else in flat_review.py:getZonesFromAccessible in the loop around line 1110.
Comment 7 Rich Burridge 2006-10-18 15:35:49 UTC
I think the problem is in getShowingZones() in flat_review.py at about
line 1445. There is the following code:

            elif child.state.count(atspi.Accessibility.STATE_SHOWING):
                objlist.extend(getShowingZones(child))

Inside the "Document View" in OOo, there are three children. Two have
role 'paragraph' and the other has a role of 'filler'.

Unfortunately, the STATE_SHOWING state for the two 'paragraph' children
is  0.

This looks like yet another OOo bug to me. I'll file one, and block
this bug against it.
Comment 8 Rich Burridge 2006-10-18 16:35:11 UTC
Ignore my last comment.

Will and I just debugged this. The problem was with edge conditions
in the visible() method in flat_review.py. All four tests involving
"<" should have been "<=". Patch to follow...
Comment 9 Rich Burridge 2006-10-18 16:39:53 UTC
Created attachment 74959 [details] [review]
Patch to fix the problem.
Comment 10 Rich Burridge 2006-10-18 16:43:09 UTC
Changes checked into CVS HEAD. Closed as FIXED.