Bug 164849 - MacOS a11y, editing: VoiceOver doesn't read text in many documents correctly due to inconsistent accessibility tree structure
Summary: MacOS a11y, editing: VoiceOver doesn't read text in many documents correctly ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
24.8.4.2 release
Hardware: All macOS (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks: a11y-macOS
  Show dependency treegraph
 
Reported: 2025-01-25 09:13 UTC by Marco Zehe
Modified: 2025-01-29 14:39 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
test docx file, created in Open-Xchange text (8.86 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2025-01-25 09:15 UTC, Marco Zehe
Details
Same document with additions made in Writer, saved in Writer as ODF. (2.51 KB, application/vnd.oasis.opendocument.text)
2025-01-25 09:16 UTC, Marco Zehe
Details
ODF file initially created from EtherPad export. (20.69 KB, application/vnd.oasis.opendocument.text)
2025-01-25 09:19 UTC, Marco Zehe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Zehe 2025-01-25 09:13:52 UTC
Description:
When importing the attached documents, try to read them with VoiceOver on MacOS when they appear.

Results:
1. The .docs file reads the first line, but doesn't read many of the others.
2. The same named .odt file is the converted .docs file, with some additions. As soon as down arrowing into these additions, reading becomes better, but VoiceOver reads each paragraph as a new text field accessible, e.g. treats each new paragraph as if it was a true focus change.
3. The third file, the .odt file, is an ODF export from EtherPad. It also has some additions at the bottom. Notice how VoiceOver reads the first bit, which was the original .ODF exported, as a single unit, treating new paragraphs no differently. But as soon as the additions are reached, again treats new paragraphs as separate accessible entities.

Steps to Reproduce:
1. Open the attached documents in turn.
2. Try to read them line by line while VoiceOver is turned on.
3.Notice the difference when moving into the lowest paragraphs.

Actual Results:
VoiceOver reads many lines incosistently or not at all. Treats new paragraphs as separate accessible entities, including pretending that focus changes happen.

Expected Results:
It should read all lines, treat all paragraphs as just lines separated by blank lines in one accessible entity. Or if it needs to separate paragraphs into their own accessibles, do so consistently for _all_ paragraphs.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
MacOS 15.2 sequoia, but I remember seeing this behavior much earlier in earlier LO versions, but just now methodically reported this since I want to start using it more. And it really hinders productivity and sometimes makes it impossible to work with documents at all.
Comment 1 Marco Zehe 2025-01-25 09:15:47 UTC
Created attachment 198754 [details]
test docx file, created in Open-Xchange text

Initially created in Open-Xchange Text on the web. TextEditor and Pages read this document fine, LibreOffice Writer does not.
Comment 2 Marco Zehe 2025-01-25 09:16:38 UTC
Created attachment 198755 [details]
Same document with additions made in Writer, saved in Writer as ODF.
Comment 3 Marco Zehe 2025-01-25 09:19:42 UTC
Created attachment 198756 [details]
ODF file initially created from EtherPad export.

Lowest paragraph has additions made in Writer and saved from Writer. Initial file was the same ODF created by exporting from an EtherPad.
Comment 4 Michael Weghorn 2025-01-29 14:39:02 UTC
Thanks for the report.

(In reply to Marco Zehe from comment #0)
> Results:
> 1. The .docs file reads the first line, but doesn't read many of the others.

I can reproduce that VoiceOver doesn't read most of the paragraphs in attachment 198754 [details] when moving between paragraphs using the cursor up/down keys.

> Actual Results:
> VoiceOver reads many lines incosistently or not at all. Treats new
> paragraphs as separate accessible entities, including pretending that focus
> changes happen.
> 
> Expected Results:
> It should read all lines, treat all paragraphs as just lines separated by
> blank lines in one accessible entity.

Not having a separate accessible object for each paragraph is tracked in tdf#67918, so I suggest to focus on non-announcement of paragraphs even when they receive focus in this report.


Version: 25.8.0.0.alpha0+ (AARCH64) / LibreOffice Community
Build ID: 6ab7c31a7ef9249be2e7eede31c83d9f2aa71b5b
CPU threads: 10; OS: macOS 15.2; UI render: Skia/Metal; VCL: osx
Locale: en-US (en_DE.UTF-8); UI: en-US
Calc: threaded