Bug 156473 - NVDA doesn't announce cells in UNO grid control
Summary: NVDA doesn't announce cells in UNO grid control
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
24.2.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:24.2.0 target:7.5.6 target:7.6.1
Keywords: accessibility
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2023-07-26 07:25 UTC by Michael Weghorn
Modified: 2023-08-28 13:07 UTC (History)
2 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 Michael Weghorn 2023-07-26 07:25:51 UTC
Steps to reproduce:

1) start NVDA screen reader on Windows
2) open attachment 178634 [details] from bug 147742
3) Click the "Run the macro" button
4) put focus on the table and move around between the cells using arrow keys

Expected result:
NVDA should announce the focused cell and its content.

Actual result:
NVDA doesn't announce anything about the newly focused cell, just what key was pressed ("down arrow", "right arrow", etc.)


tested with NVDA 2023.1

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 88790291ddc00bfa18d3f7bcc0825b1ce14cb490
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-US (en_DE); UI: en-US
Calc: threaded

Note that this works fine on Linux (Debian testing) with Orca 43.1-1 and the gtk3 VCL plugin instead:

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 94ca402cd1fe2fd9776d08448f7216b7f638e69a
CPU threads: 12; OS: Linux 6.3; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded
Comment 1 Michael Weghorn 2023-07-26 07:29:53 UTC
From a user perspective, this looks a bit like tdf#99609, just with a different control.

Another issue I see in that scenario is that LO crashes on Windows once I close the window with the grid control when NVDA is running.

Note: It might also make sense to consider how exactly announcement for tables and selected rows by NVDA should be and possibly take a look at this (either in the context of this bug, or as a follow-up, might also need looking into what NVDA does and possibly suggesting changes there), s.a. bug 99609 comment 17.
Comment 2 Michael Weghorn 2023-07-26 07:35:23 UTC
(In reply to Michael Weghorn from comment #1)
> Note: It might also make sense to consider how exactly announcement for
> tables and selected rows by NVDA should be and possibly take a look at this
> (either in the context of this bug, or as a follow-up, might also need
> looking into what NVDA does and possibly suggesting changes there), s.a. bug
> 99609 comment 17.
Looking at other scenarios might give some input here, e.g. how the tdf#99609 scenario is announced by Orca on Linux or how NVDA announces all row headers and values of the currently selected rows in the "Add-ins" table in "File" > "Options" > "Add-ins".
Comment 3 Michael Weghorn 2023-08-01 19:16:27 UTC
I'm looking into this.
Comment 4 Commit Notification 2023-08-02 03:09:16 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/256926cace5819b0107e8d24579e05bcab9b5a7e

tdf#156473 a11y: Don't use selection index as child index

It will be available in 24.2.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 5 Commit Notification 2023-08-02 03:10:19 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#156473 a11y: Properly retrireve a11y context from XAccessible

It will be available in 24.2.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 2023-08-03 14:54:52 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/18aed6fc4ff5b981ae7deb6584197b661721e7df

tdf#156473 a11y: Use actual row/col index/count in grid control header

It will be available in 24.2.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 7 Commit Notification 2023-08-03 14:55:54 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#156473 a11y: Implement AccessibleGridControlHeader::getAccessibleCellAt

It will be available in 24.2.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 Commit Notification 2023-08-03 15:55:01 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/2b30d37bd555188733a006e1a5796461ab11d326

tdf#156473 wina11y: Fix invalid write due to row/col mismatch

It will be available in 24.2.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 9 Commit Notification 2023-08-04 08:37:58 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/1019104d9b2754aa8efaadb4aef046e732189b9b

tdf#156473 wina11y: Fix invalid write due to row/col mismatch

It will be available in 7.5.6.

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 10 Commit Notification 2023-08-04 08:39:01 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

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

tdf#156473 wina11y: Fix invalid write due to row/col mismatch

It will be available in 7.6.1.

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 11 Commit Notification 2023-08-22 20:27:50 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#156473 a11y: Keep a reference to table's a11y object

It will be available in 24.2.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 12 Commit Notification 2023-08-23 20:22:43 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#99609 tdf#156473 a11y: Check whether row header exists

It will be available in 24.2.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 13 Michael Weghorn 2023-08-28 13:07:01 UTC
The original issues that this bug is about and some more are fixed now.

(In reply to Michael Weghorn from comment #2)
> (In reply to Michael Weghorn from comment #1)
> > Note: It might also make sense to consider how exactly announcement for
> > tables and selected rows by NVDA should be and possibly take a look at this
> > (either in the context of this bug, or as a follow-up, might also need
> > looking into what NVDA does and possibly suggesting changes there), s.a. bug
> > 99609 comment 17.
> Looking at other scenarios might give some input here, e.g. how the
> tdf#99609 scenario is announced by Orca on Linux or how NVDA announces all
> row headers and values of the currently selected rows in the "Add-ins" table
> in "File" > "Options" > "Add-ins".

I've created a separate bug report to keep track of this now: tdf#156968 
@Thorsten: I've added you in CC there as well.