nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

Microsoft Office Excel 365 - wrong cell is read while navigating complex sheet #12108

Closed msuzu15 closed 1 year ago

msuzu15 commented 3 years ago

Steps to reproduce:

1( Restart PC. 2( Restart NVDA. 3( Open attached Excel file. Excel読み上げテスト_データマッピング.zip 4( Now BQ60 cell is focused. 5( Press left arrow key 9 times to move to BH60 cell. NVDA said "BH60". 7( Then, press left arrow key to navigate to left side cell. 8( Press left arrow key again. 9( Press left arrow key again. 10( Then, press right arrow key.

Actual behavior:

At step 7(, NVDA said "BH60". At step 8(, NVDA said "BG60". At step 9(, NVDA said "BF60". At step 10(, NVDA said "AE60 through BE60".

Expected behavior:

At step 7(, NVDA should say "BG60". At step 8(, NVDA should say "BF60". At step 9(, NVDA should say "AE60 through BE60". At step 10(, NVDA should say "BF60".

System configuration

NVDA installed/portable/running from source:

NVDA portable Synthesizer: Windows OneCore Voices Voice: Microsoft David

NVDA version:

NVDA 2020.4

Windows version:

Windows 10 version 1909 English

Name and version of other software in use when reproducing the issue:

Microsoft® Excel® for Microsoft 365 MSO (16.0.13231.20620) 32-bit English

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes.

Have you tried any other versions of NVDA? If so, please report their behaviors.

Same issue happen with NVDA version 2020.1, 2020.2 and 2020.3 and does not happen with 2019.3 and earlier version.

If addons are disabled, is your problem still occuring?

No addons are installed.

Did you try to run the COM registry fixing tool in NVDA menu / tools?

No because it happen with NVDA fresh install.

cary-rowen commented 3 years ago

The same error also occurred in my Microsoft365

cary-rowen commented 3 years ago

Hello,

The same problem occurs in Office2019. Can you investigate this? Using a lot of data can reproduce this problem stably.

@feerrenrut @seanbudd

Thank you, we think this is a very serious bug.

cary-rowen commented 2 years ago

Hi, @michaelDCurran @seanbudd @feerrenrut

I can still reproduce this, it's a disaster for people who work with Excel for a long time, does NVAccess have plans to fix it in the near future?

Thanks

seanbudd commented 2 years ago

@cary-rowen - can you reproduce the exact steps in #12108 or the steps in #12200?

I cannot reproduce #12108 with 2022.1beta4

cary-rowen commented 2 years ago

Hi, @seanbudd After I disabled UIA support for Excel, I can follow the steps in #12108 to reproduce the problem, but not a second time unless I close Excel completely and open excel again.

I cannot reproduce the issue if UIA support for Excel is enabled.

The sample I used is the attachment provided by this Issue.

Thanks

feerrenrut commented 2 years ago

We can reproduce this (reporting prior selected cell) by holding down the arrow key, we'll aim to fix this bug first.

Qchristensen commented 2 years ago

I've closed #13979 as a duplicate of this. My steps for that issue were to dump the WW1 Wikipedia page in Excel, hold down page down for a couple of seconds, release, read the current cell information (confirm with NVDA+del and NVDA+tab), but then press down arrow and note that the new cell is more than 1 row greater than previously reported, indicating the cell reported after page down was released is not correct.

Further, as per Carey's comment above, I can replicate (my issue) with UIA disabled for Excel, but not with UIA enabled.

cary-rowen commented 1 year ago

Hi, any update on this issue?

cary-rowen commented 1 year ago

I found that this problem is still very serious, especially in excel with a lot of data.

Adriani90 commented 1 year ago

@cary-rowen could you test with last alpha version of NVDA?

cary-rowen commented 1 year ago

Thanks, that's what I did before providing a comment.

cary-rowen commented 1 year ago

cc @michaelDCurran @jcsteh I can also reproduce this with the latest alpha, which is too bad for NVDA users. Do you have any solution ideas for this?

cc @seanbudd This also doesn't seem to be triaged.

michaelDCurran commented 1 year ago

On line 962 of source/NvDAObjects/window/excel.py, try changing the 0.15 to a higher number such as 0.2 or 0.25. This will cause NVDA to check for longer while the active cell is changing. Note that this will cause an extra lag for every cell change though. The only way to really fix this is to switch to using Excel events to detect the selection change rather than polling. But I seem to remember not having any luck with this years ago. Certainly worth someone trying this again though. Of course for basic spreadsheets, switching NVDA to using UIA to excel Excel should increase accuracy and speed.

cary-rowen commented 1 year ago

@michaelDCurran Yes, switching to UIA can effectively improve the situation, but UIA is currently too imperfect. I'd also try changing the numbers you said and build a version to test it out.

cary-rowen commented 1 year ago

@michaelDCurran Is there something else causing this problem, I tried increasing the time in line 962 of source/NvDAObjects/window/excel.py to 0.250.35, it doesn't seem to alleviate the problem.