This was originally discussed on the a11y mailing list: https://listarchives.libreoffice.org/global/accessibility/msg01259.html Steps to reproduce on Windows: 1) start NVDA screen reader 2) start Impress 3) make sure "View" -> "Slide Pane" is enabled 4) create a few slides using Ctrl+M (or alternatively open a presentation that has more than just 1 slide) 5) press F6 until focus is in the slides pane 6) press Tab to move focus to a slide in the slides pane 7) use Up/Down keys to switch between slides Actual result: NVDA doesn't announce the newly selected/focused slide in the slides view. Expected result: NVDA should announce the newly selected/focused slide. Additional information: NVDA 2025.1.2 With a current NVDA development version, this exception can be seen in NVDA log: ERROR - eventHandler.executeEvent (13:46:32.234) - MainThread (10300): error executing event: gainFocus on <NVDAObjects.IAccessible.IAccessible object at 0x0AEBDFF0> with extra args of {} Traceback (most recent call last): File "eventHandler.py", line 348, in executeEvent if isGainFocus and not doPreGainFocus(obj, sleepMode=sleepMode): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "eventHandler.py", line 382, in doPreGainFocus if not api.setFocusObject(obj): ^^^^^^^^^^^^^^^^^^^^^^^ File "api.py", line 189, in setFocusObject setNavigatorObject(obj, isFocus=True) File "api.py", line 348, in setNavigatorObject review.setCurrentMode("document", False) File "review.py", line 140, in setCurrentMode pos = func(obj) ^^^^^^^^^ File "review.py", line 59, in getDocumentPosition pos = obj.treeInterceptor.makeTextInfo(obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "documentBase.py", line 76, in makeTextInfo return self.TextInfo(self, position) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "compoundDocuments.py", line 287, in __init__ self._start = self._end = self._startObj.makeTextInfo(position) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "documentBase.py", line 76, in makeTextInfo return self.TextInfo(self, position) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "textInfos\offsets.py", line 505, in __init__ self._startOffset = self._endOffset = self._getCaretOffset() ^^^^^^^^^^^^^^^^^^^^^^ File "textInfos\offsets.py", line 267, in _getCaretOffset raise NotImplementedError NotImplementedError Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 19fa16859e65ebdf86554110cecbecf67e9594e1 CPU threads: 12; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Raster; VCL: win Locale: en-US (en_DE); UI: en-US Calc: threaded (which is master as of bc58a54d513702bc07906627dce073f05d7978fd + 2 unrelated pending Gerrit changes, see https://gerrit.libreoffice.org/c/core/+/187183/2
Pending fix: https://gerrit.libreoffice.org/c/core/+/187188
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/697fadb8f4efdc09091088261ca1b43984c029b4 tdf#167296 sd a11y: Use better accessible role for slides view It will be available in 26.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.