Bug 146306 - Sluggishness with NVDA and Calc
Summary: Sluggishness with NVDA and Calc
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.1.0.3 release
Hardware: All Windows (All)
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:7.4.0 target:7.3.0.2
Keywords: accessibility, perf
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2021-12-18 19:12 UTC by Richard B. McDonald
Modified: 2022-01-17 16:02 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
Screncast showing the issues described in tdf#146306 and tdf#146307 (6.35 MB, video/webm)
2021-12-19 18:48 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard B. McDonald 2021-12-18 19:12:58 UTC
Description:
I am using Windows 10 64-bit version 20H2, LibreOffice 7.2.4 and NVDA 2021.3.  With Calc, there is a great amount of sluggishness, as outlined below:

- With a spreadsheet open, each time I enter a number into a cell, there is like a 15 second delay before NVDA responds with the number entered.

- When using the enter or arrow keys after entering a number into a cell to move to a new cell, it takes like 15 seconds before NVDA responds.

I do not have any special settings in either NVDA or LO.  When using JAWS and Excel, I experience none of this sluggishness.   This is not a new issue; this sluggishness has been present since at least LO 7.x.  Also, this sluggishness is reported by other users on the NVDA support list.

I also tried it with JAWS (2020) and Narrator.  Basically, I experienced the same sluggishness; although it was a bit worse with JAWS and a bit less with Narrator.  The file I am working with is in Excel (.xlsx) format.

In testing other issues using LibreOffice Dev 7.4.0 (December 17,2021), this same sluggishness exists; albeit at a lesser rate similar to what Michael reports below.

Michael Weghorn <m.weghorn@posteo.de> (a LO Developer) took a look at this issue. He was able to reproduce the issue; albeit with a 4 -5 second lag instead of my ~15 second lag.  He said that it seems that a significant amount of time is spent on retrieving/generating an accessible description of involved accessibility objects.  He also said that this issue does not occur when just navigating through the spreadsheet using the arrow keys (i.e., without making any changes) or when using the Orca screen reader with the gtk3 VCL plugin on Linux.

Simon Eigeldinger <simon.eigeldinger@vol.at> (a LO User on the Accessibility list) said that he also has something to add to this issue.  Though he is not certain it is the same sluggishness issue reported in this bug.  He has the feeling it has something to do with loosing focus or having tracking issues.  When navigating very quickly through the sheet, NVDA cannot track the cursor in the sheet window and on the braille display - you just see the word “Cell.”  Speech stops after that.  You can see that the cursor still moves because when you alt+tab out of the window and back into again you are on the cell where you wanted to be.  The problem is then when navigating to the next cell you have the same tracking/focus issues again.


Steps to Reproduce:
See description1.
2.
3.

Actual Results:
See description

Expected Results:
See description


Reproducible: Always


User Profile Reset: No



Additional Info:
See description
Comment 1 V Stuart Foote 2021-12-18 21:53:37 UTC
please retest with a 7.3 build, or current nightly master build against a 7.4 release. 

Also, MS Excel is not a "native" format--in genearl ODF Spreadsheet document will have better conformance and support in Libreoffice Calc.

At 7.3 Michael W. has implemented IAccessible2 table and table cell support in the Calc UI.  A 7.2 build will not make use of the enhanced AT provided.
Comment 2 Michael Weghorn 2021-12-19 18:48:24 UTC
Created attachment 177025 [details]
Screncast showing the issues described in tdf#146306 and tdf#146307
Comment 3 Michael Weghorn 2021-12-19 18:50:32 UTC
@Richard: Thanks for creating the bug reports. For reference: This and tdf#146307 were originally reported/discussed on the accessibility mailing list, thread starts at https://listarchives.libreoffice.org/global/accessibility/msg00972.html .

I can reproduce with a current master build.  attachment 177025 [details] is a screencast demonstrating the issues. (For the first cells, tab or enter were pressed right after entering the number, for the later ones, it's only pressed later, so you can hear the full cell announcement.)

Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: c40df02caa6b5473f80bd8c2ed14763dac2076cd
CPU threads: 4; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 4 Michael Weghorn 2022-01-05 14:06:30 UTC
Pending fix: https://gerrit.libreoffice.org/c/core/+/128006
Comment 5 Commit Notification 2022-01-06 09:10:40 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/fcf4a26275d7503835f9aa23cb94938809840300

tdf#146306 wina11y: Retrieve accessible desc on demand

It will be available in 7.4.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 6 Commit Notification 2022-01-11 09:03:10 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-7-3":

https://git.libreoffice.org/core/commit/f1fb66b02d72d4b2e6f3321fa5426c9f7c04c48c

tdf#146306 wina11y: Retrieve accessible desc on demand

It will be available in 7.3.0.2.

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 7 Richard B. McDonald 2022-01-17 16:02:26 UTC
I tested this with LO Dev 7.4.1 Alpha, NVDA 2021.3 and Windows 10.  Essentially, although I still seem to have a ~1.00 second latency between the press of a key and when NVDA speaks, the issue is now reduced by ~90%; making it very tolerable.  Indeed, although Excel (for example) seems more responsive with a ~0.25 second latency, this much reduced now ~1.00 second latency with Calc is fine.  And, I suspect that even that ~1.00 second latency has to do with other things on my personal user side, such as perhaps my voice synthesizer and the like.  (I do not think it relates to my PC’s hardware: P5, 8 GB RAM, SSD.)