https://bugs.documentfoundation.org/show_bug.cgi?id=150683
Bug ID: 150683
Summary: Calc: With >16k column support, screen readers don't
announce all cells
Product: LibreOffice
Version: 7.5.0.0 alpha0+ Master
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: accessibility
Severity: normal
Priority: medium
Component: Calc
Assignee: [email protected]
Reporter: [email protected]
Blocks: 101912
Created attachment 182091
--> https://bugs.documentfoundation.org/attachment.cgi?id=182091&action=edit
Screencast with Orca/gtk3
With the support for > 16000 columns enabled by default (in commit
4c5f8ccf0a2320432b8fe91add1dcadf54d9fd58, "change default Calc number of
columns to 16384 (tdf#50916)"), screen readers have issues announcing some
cells properly, e.g. in the last row.
# Sample steps to reproduce with either NVDA on Windows or Orca on Linux:
0) start the screen reader
1) start Calc, open a new spreadsheet
2) move focus from cell A1 to A2 by using the arrow key, then to A3
3) select a few cells by using Shift+arrow key
4) move focus to the last row (Ctrl+Down)
5) move focus from the current cell to another one in the last row by using the
arrow key
6) select a few cells in the last row by using Shift+arrow key
# Actual behavior:
* up to step 3: focused and selected cells are announced just fine with both,
Orca and NVDA
* with Orca: selection in step 6) is not announced, stderr shows below output
for a debug build
* with NVDA: focus in step 5) is not announced properly:
* when using NVDA 2022.2.2, the *previously* selected cell is announced
* when using a development version of NVDA (I tried master as of commit
8c982cd16c6461c34abd56f1777a56ae704997ea), NVDA "beeps" to indicate that there
was an error and shows the below backtrace
Screencasts will be attached (slightly different cells selected there than in
the "Steps to reproduce", but same pattern).
# Expected behavior:
Focused/Selected cells should properly be announced by screen readers in all
steps.
Version: 7.5.0.0.alpha0+ / LibreOffice Community
Build ID: 5bf4f36b509ae2bdc507074d53af007b4852013d
CPU threads: 12; OS: Linux 5.18; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded
Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 79ccc9172c9f7c16d636b21a85f548ed4db6e864
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
(The Windows build is essentially also master as of
5bf4f36b509ae2bdc507074d53af007b4852013d with just some local unrelated patches
on top.)
## Additional information
LO output with gtk3 VCL plugin:
> ** (soffice:37345): WARNING **: 08:53:05.840: Exception in getAccessibleRow()
>
> ** (soffice:37345): WARNING **: 08:53:05.840: Exception in
> getAccessibleColumn()
NVDA backtrace:
ERROR - eventHandler.executeEvent (08:55:03.927) - MainThread (8360):
error executing event: gainFocus on
<NVDAObjects.Dynamic_SymphonyIATableCellEditableTextWithAutoSelectDetectionIAccessible
object at 0x07C03930> with extra args of {}
Traceback (most recent call last):
File "eventHandler.py", line 301, in executeEvent
_EventExecuter(eventName,obj,kwargs)
File "eventHandler.py", line 102, in __init__
self.next()
File "eventHandler.py", line 111, in next
return func(*args, **self.kwargs)
File "NVDAObjects\behaviors.py", line 242, in event_gainFocus
super().event_gainFocus()
File "NVDAObjects\__init__.py", line 1197, in event_gainFocus
self.reportFocus()
File "NVDAObjects\__init__.py", line 1094, in reportFocus
speech.speakObject(self, reason=controlTypes.OutputReason.FOCUS)
File "speech\speech.py", line 608, in speakObject
_prefixSpeechCommand,
File "speech\speech.py", line 653, in getObjectSpeech
**allowProperties
File "speech\speech.py", line 500, in getObjectPropertiesSpeech
newPropertyValues[name]=getattr(obj,tryName)
File "baseObject.py", line 42, in __get__
return instance._getPropertyViaCache(self.fget)
File "baseObject.py", line 146, in _getPropertyViaCache
val=getterMethod(self)
File "NVDAObjects\IAccessible\__init__.py", line 1171, in _get_rowNumber
return tableCell.rowIndex+1
File "monkeyPatches\comtypesMonkeyPatches.py", line 32, in __call__
return super().__call__(*args,**kwargs)
_ctypes.COMError: (-2147467259, 'Unspecified error', (None, None, None, 0,
None))
Referenced Bugs:
https://bugs.documentfoundation.org/show_bug.cgi?id=101912
[Bug 101912] [META] Accessibility (a11y) bugs and enhancements
--
You are receiving this mail because:
You are the assignee for the bug.