Bug 137955 - Browse Mode in LibreOffice Writer
Summary: Browse Mode in LibreOffice Writer
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.0.3.1 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2020-11-03 09:22 UTC by juergenkohler23
Modified: 2024-07-16 08:59 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description juergenkohler23 2020-11-03 09:22:23 UTC
Description:
With the browse mode you get completely different possibilities in word processors like Microsoft Office. It would be good if LibreOffice Writer would also support the browse mode. The navigator in LibreOffice is not sufficient. Further information can be found here:
https://github.com/nvaccess/nvda/issues/8148

Actual Results:
There is no browse mode in LibreOffice

Expected Results:
Lots of new possibilities thanks to a browse mode


Reproducible: Always


User Profile Reset: No



Additional Info:
-
Comment 1 Peter Franke 2020-11-03 10:25:08 UTC
We have read the github link and can confirm that the navigator in LibreOffice is not sufficient. For example, in Word in browse mode it is possible to navigate from spelling mistake to spelling mistake, which is not allowed by the LibreOffice navigator. In order to work with text documents faster and more efficiently, the implementation of the browse mode would be very useful.
Comment 2 V Stuart Foote 2020-11-04 01:26:02 UTC
If NVDA 'Browse mode' is dependent on any UIA, pretty clearly unsupportable in LibreOffice where we support only accessible event triggers--as mapped back to IA2.

If we're missing accessible events, fine--that is on us.

But, we will not implement native MS Windows code needed for UIA.

Similar to 'Say-all' fix likely has to be within the the IA2 module of NVDA.

But I won't close this NOT OUR BUG just yet. Need technical exchange from NVDA devs as to what's potentially required within IA2 event framework.
Comment 3 juergenkohler23 2020-11-26 08:43:28 UTC
(In reply to V Stuart Foote from comment #2)
> If NVDA 'Browse mode' is dependent on any UIA, pretty clearly unsupportable
> in LibreOffice where we support only accessible event triggers--as mapped
> back to IA2.
> 
> If we're missing accessible events, fine--that is on us.
> 
> But, we will not implement native MS Windows code needed for UIA.
> 
> Similar to 'Say-all' fix likely has to be within the the IA2 module of NVDA.
> 
> But I won't close this NOT OUR BUG just yet. Need technical exchange from
> NVDA devs as to what's potentially required within IA2 event framework.

Hello Stuart,

has anyone from NVDA contacted you yet?
Comment 4 V Stuart Foote 2020-11-26 17:47:56 UTC
(In reply to juergenkohler23 from comment #3)
> (In reply to V Stuart Foote from comment #2)
> > If NVDA 'Browse mode' is dependent on any UIA, pretty clearly unsupportable
> > in LibreOffice where we support only accessible event triggers--as mapped
> > back to IA2.
> > 
> > If we're missing accessible events, fine--that is on us.
> > 
> > But, we will not implement native MS Windows code needed for UIA.
> > 
> > Similar to 'Say-all' fix likely has to be within the the IA2 module of NVDA.
> > 
> > But I won't close this NOT OUR BUG just yet. Need technical exchange from
> > NVDA devs as to what's potentially required within IA2 event framework.
> 
> Hello Stuart,
> 
> has anyone from NVDA contacted you yet?

Neither Quentin, Jaime, nor Mick--nor any of the developer community. It would/will be reflected here in the BZ.
Comment 5 QA Administrators 2021-05-26 04:53:24 UTC Comment hidden (obsolete)
Comment 6 juergenkohler23 2021-05-26 08:28:56 UTC
I have tried again to contact the NVDA developers; without their help the necessary information will probably not be available...
Comment 7 QA Administrators 2021-05-27 05:02:43 UTC Comment hidden (obsolete)
Comment 8 Dieter 2022-12-07 05:31:08 UTC
(In reply to juergenkohler23 from comment #6)
> I have tried again to contact the NVDA developers; without their help the
> necessary information will probably not be available...

Jürgen, any news?
=> NEEDINFO
Comment 9 Quentin Christensen 2022-12-07 06:00:45 UTC
(In reply to V Stuart Foote from comment #4)

> > > If NVDA 'Browse mode' is dependent on any UIA, pretty clearly unsupportable
> > > in LibreOffice where we support only accessible event triggers--as mapped
> > > back to IA2.

I can answer this (all speaking generally at least, since I haven't looked at the code on either side here) - while NVDA now uses UIA by default in recent builds of Word, because the experience there has improved to where it is better and more responsive than iA2 *in that situation* in general for the majority of users, we have otherwise (and still offer) iA2 support.  So that should be possible in LO as well.

I know one of our developers, Reef, commented previously that we weren't in a position to take on the whole project - https://github.com/nvaccess/nvda/issues/8148#issuecomment-744228528 - At the time he suggested looking at how NVDA handles browse mode using iA2 in browsers.

I don't think we're currently in a better position to own the endeavour, but I'm happy to keep the dialog open.
Comment 10 Joanmarie Diggs 2024-06-12 12:42:23 UTC
As the Orca maintainer, who would like to implement Browse Mode in Orca for LO Writer, I suspect that a big blocker for NVDA is the fact that only the visible page's contents are in the accessibility tree. That's the only real thing blocking Orca. Orca (and NVDA) cannot navigate to the next heading or table or link or whatever if they have no way of knowing those things exist.

See related https://bugs.documentfoundation.org/show_bug.cgi?id=35652.
Comment 11 Michael Weghorn 2024-06-12 15:03:40 UTC
(In reply to Joanmarie Diggs from comment #10)
> As the Orca maintainer, who would like to implement Browse Mode in Orca for
> LO Writer, I suspect that a big blocker for NVDA is the fact that only the
> visible page's contents are in the accessibility tree. That's the only real
> thing blocking Orca. Orca (and NVDA) cannot navigate to the next heading or
> table or link or whatever if they have no way of knowing those things exist.
> 
> See related https://bugs.documentfoundation.org/show_bug.cgi?id=35652.

A related discussion is currently happening on the dev mailing list, thread starts here: [1]

Similar to practical problems with Calc exposing all cells (see tdf#156657), concerns about exposing the whole Writer document content have been mentioned (see e.g. [2]).

@joanie/all: Do you think the flows-from/flows-to relations (related: tdf#96492) could potentially be an alternative to always exposing the whole doc content, or some other (maybe still to be developed) navigation API as mentioned in [2]? Any further thoughts on that?

[1] https://lists.freedesktop.org/archives/libreoffice/2024-June/092039.html
[2] https://lists.freedesktop.org/archives/libreoffice/2024-June/092063.html
Comment 12 Joanmarie Diggs 2024-07-16 08:59:15 UTC
Michael: Regarding flows-to/flows-from as the alternative, that *might* be doable, however:

1. It will be super non-performant for large documents, at least in the case of AT-SPI2. The way AtspiCollection works is that a single query goes over dbus and the results are returned. If we instead have to use flows-to/flows-from, I believe that's going to be one query *per object* as Orca traverses the entire document. And in addition to those queries, Orca is going to have to do additional work to determine if the thing is part of the collection being sought. That additional work may involve more queries over dbus, possible one per each object retrieved. There may be a way to instead do all the work in AT-SPI2 to make it less horrible, but that would need some investigation and consultation with the AT-SPI2 maintainer.

2. (Much more minor) the flows-to/flows-from relations will have to provide access to all document objects. I believe they currently skip over things like tables and embedded objects.