Bug 147084 - I can’t read tables with NVDA screen reader in Writer, Windows builds
Summary: I can’t read tables with NVDA screen reader in Writer, Windows builds
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.2.5.2 release
Hardware: All Windows (All)
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:7.5.0 target:7.4.0.0.beta2
Keywords: accessibility
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2022-01-31 09:23 UTC by pax
Modified: 2022-06-16 05:56 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample document that has a table (13.36 KB, application/vnd.oasis.opendocument.text)
2022-02-03 15:41 UTC, Michael Weghorn
Details
Screencast demonstrating issue (7.81 MB, video/webm)
2022-02-03 15:42 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description pax 2022-01-31 09:23:13 UTC
Description:
When I tried, it’s not working.

Steps to Reproduce:
1. start NVDA
2. open a document, tried with docs, in the open office writer.
3. try to navigate in the table1.
2.
3.

Actual Results:
it do’es’nt read at all!

Expected Results:
it would allow me to navigate using standard NVDA’s keystrokes.


Reproducible: Always


User Profile Reset: No



Additional Info:
latest NVDA and latest open office
Comment 1 Timur 2022-01-31 11:39:36 UTC
I guess you are reporting problem with screen reader for LibreOffice. 
And that OpenOffice was written by mistake. 
Let's wait for someone to confirm or find an existing report.
Comment 2 Michael Weghorn 2022-02-03 15:41:50 UTC
Created attachment 178019 [details]
Sample document that has a table
Comment 3 Michael Weghorn 2022-02-03 15:42:16 UTC
Created attachment 178020 [details]
Screencast demonstrating issue
Comment 4 Michael Weghorn 2022-02-03 15:53:04 UTC
I can reproduce at least one way where announcement doesn't happen as expected, using the attached sample document attachment 178019 [details] (and screencast attachment 178020 [details]) demonstrates that.

The sample doc contains two lines of text and then a table with 2 rows and 2 columns.

1) open attachment 178019 [details]
2) press "Down" key
-> cursor moves to the second line of text, it is announced -> OK
3) press "Down" again
-> cursor moves into the first cell of the table, but nothing is announced -> NOK
4) press "Down" key again
-> cursor moves into row 2 of the table, nothing is announced -> NOK
5) press Up key
-> cursor moves to first row of the table again, and now NVDA does announce the table + cell -> OK

From then on, NVDA announces the new cursor position even if moving out of the table and back in. (At least usually, in some cases that was not working 100 % reliable as well, while the above is reproducible at least most of the time for me.)

At step 3, this can be seen in NVDA log:

    ERROR - eventHandler.executeEvent (15:12:28.115) - MainThread (7144):
    error executing event: caret on <NVDAObjects.Dynamic_SymphonyParagraphSymphonyTextEditableTextWithAutoSelectDetectionIAccessible object at 0x03E344B0> with extra args of {}
    Traceback (most recent call last):
      File "eventHandler.pyc", line 284, in executeEvent
      File "eventHandler.pyc", line 98, in __init__
      File "eventHandler.pyc", line 107, in next
      File "compoundDocuments.pyc", line 482, in event_caret
      File "documentBase.pyc", line 22, in makeTextInfo
      File "compoundDocuments.pyc", line 227, in __init__
      File "documentBase.pyc", line 22, in makeTextInfo
      File "textInfos\offsets.pyc", line 470, in __init__
      File "NVDAObjects\IAccessible\__init__.pyc", line 195, in _getCaretOffset
    RuntimeError: no active caret in this object


When using Orca on Linux, step 3) worked for my case, while 4) was also silent, see also bug 87680, which might be caused the same underlying issue and has some more information.


I can reproduce with NVDA 2021.3.1 and current NVDA master, LO 7.2 and LO master.

Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: c0f914ad912796ef521ea151abf8ea7e9bc2f771
CPU threads: 4; OS: Windows 10.0 Build 19044; UI render: default; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 5 Michael Weghorn 2022-02-18 10:41:40 UTC
I'm working on a fix.
Comment 6 Michael Weghorn 2022-06-15 08:58:52 UTC
Pending potential fix: https://gerrit.libreoffice.org/c/core/+/135868
Comment 7 Commit Notification 2022-06-15 20:44:11 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/8bb6190dd406390b404f0c1855894e8a48d0fda2

tdf#147084 sw a11y: Ensure focus event gets sent when moving to table

It will be available in 7.5.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Michael Weghorn 2022-06-15 20:47:33 UTC
(In reply to Michael Weghorn from comment #4)
> When using Orca on Linux, step 3) worked for my case, while 4) was also
> silent, see also bug 87680, which might be caused the same underlying issue
> and has some more information.

The commit from comment 7 fixes the issue that causes the problem with NVDA on Windows.

The Orca on Linux case in tdf#87680 has another underlying issue that probably needs to be fixed in the gtk3 VCL plugin.
Comment 9 Commit Notification 2022-06-16 05:56:15 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-7-4":

https://git.libreoffice.org/core/commit/2603a7d51d5c6a283831ba8b92af561eb5931692

tdf#147084 sw a11y: Ensure focus event gets sent when moving to table

It will be available in 7.4.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.