Bug 124832 - NVDA does not read the (original) cell range of a merged cell
Summary: NVDA does not read the (original) cell range of a merged cell
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
6.2.1.2 release
Hardware: All All
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:7.3.0
Keywords: accessibility
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2019-04-18 23:52 UTC by Franklin Weng
Modified: 2021-10-14 06:11 UTC (History)
4 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 Franklin Weng 2019-04-18 23:52:41 UTC
An issue reported in AskLibreOffice zh_TW"
https://ask.libreoffice.org/zh-tw/question/190388/calc-ru-he-jie-jue-shi-yong-yu-yin-fu-zhu-ji-shu-wu-fa-du-chu-he-bing-chu-cun-ge-zuo-biao/

OS: Windows 6.1.7601 service pack 1
LibreOffice: 6.1.2.1
NVDA: 2019.1

The user merged cell A1-A3.  When NVDA read the spreadsheet it read A1 only, instead of read A1-A3.

The user tried to report the issue to NVDA developers:

https://github.com/nvaccess/nvda/issues/9310

The developers replied:
LibreOffice Table Cells don't implement IAccessibleTableCell, and therefore there's no way to get the row and column span. LibreOffice itself also does not expose the merged state in the accessible name of the cell.
Comment 1 Heiko Tietze 2019-04-23 09:51:28 UTC
Alex, can you confirm this issue?
Comment 2 SherrieKirch 2020-05-21 11:13:34 UTC Comment hidden (spam)
Comment 3 Adriani90 2020-05-24 14:57:25 UTC
I am an NVDA user, using NVDA 2020.1 and Libre Office 6.4.4.2, this issue is reproducible. The same behavior is also in Open Office Calc 4.1.7. Would be very appreciated to see some improvements in Libreoffice regarding to accessibility in general, including also reporting of merged cells.
Comment 4 Telesto 2020-07-30 21:05:53 UTC
@V Stuart
Any change to check if this a regression
Comment 5 V Stuart Foote 2020-07-30 22:51:54 UTC
It is not a regression, rather we chose to not implement the IA2 IAccessibleTableCell. It is mapped back to ACC "system" Table_Cell

No help for the Windows IA2 based AT.  ATK role seems better behaved, but even there have issue of bug 87680 where the accessible events (e.g. caret movements) and role changes needed by the AT, are masked by other GUI events.
Comment 6 Commit Notification 2021-09-08 18:06:51 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/839dbf9ecf9f8fbec7de983d1a2e16d7de6f868c

tdf#100086 tdf#124832 wina11y: Implement IAccessibleTable2

It will be available in 7.3.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 2021-09-08 18:07:08 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/97a88e30e2e084ab860635ff4e0a03442d8a12af

tdf#100086 tdf#124832 wina11y: Implement IAccessibleTableCell

It will be available in 7.3.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 2021-09-09 06:50:14 UTC
(In reply to Franklin Weng from comment #0)
> The user tried to report the issue to NVDA developers:
> 
> https://github.com/nvaccess/nvda/issues/9310
> 
> The developers replied:
> LibreOffice Table Cells don't implement IAccessibleTableCell, and therefore
> there's no way to get the row and column span. LibreOffice itself also does
> not expose the merged state in the accessible name of the cell.

With the commits from comments 6 and 7, LibreOffice implements the IAccessibleTableCell interface now. I'll leave a comment in the corresponding NVDA issue [1] as well.

[1] https://github.com/nvaccess/nvda/issues/9310
Comment 9 Michael Weghorn 2021-09-16 07:56:08 UTC
Some further discussion currently going on in this NVDA issue: https://github.com/nvaccess/nvda/issues/9310

It works with LO master and a current draft NVDA pull request by Leonard de Ruijter:  https://github.com/nvaccess/nvda/pull/12849
Comment 10 Michael Weghorn 2021-10-14 05:57:39 UTC
(In reply to Michael Weghorn from comment #9)
> Some further discussion currently going on in this NVDA issue:
> https://github.com/nvaccess/nvda/issues/9310
> 
> It works with LO master and a current draft NVDA pull request by Leonard de
> Ruijter:  https://github.com/nvaccess/nvda/pull/12849

The NVDA PR is now scheduled to be merged for NVDA 2022.1.

I'm closing this, since the LO side has already been merged and will be available from LO 7.3 on.