[Libreoffice-bugs] [Bug 140762] No text spoken by screen reader for "Borders" dropdown button items in Calc's formatting toolbar (NVDA on Windows)

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Thu Mar 4 15:57:36 UTC 2021


https://bugs.documentfoundation.org/show_bug.cgi?id=140762

--- Comment #7 from Michael Weghorn <m.weghorn at posteo.de> ---
I've taken a look at what happens on Win for the "Borders" dropdown button. As
far as I understand it so far, the XAccessibleEventListener responsible for
notifying AT is only set once mouse hovering happens.

For that reason, the call to 'ImplHasAccessibleListeners()' in
'ValueSet::SelectItem' [1] returns false if that hasn't happened yet, and no
a11y event is triggered.

For the mouse hovering case, the XAccessibleEventListener is set, backtrace:

> 1   ValueSetAcc::addAccessibleEventListener valueacc.cxx              678  0x7ff8cffb5e37 
> 2   AccObjectWinManager::InsertAccObj       AccObjectWinManager.cxx   725  0x7ff8cccb6a10 
> 3   AccObjectManagerAgent::InsertAccObj     AccObjectManagerAgent.cxx 148  0x7ff8cccbdc38 
> 4   CMAccessible::GetChildInterface         MAccessible.cxx           1398 0x7ff8cc8ec486 
> 5   CMAccessible::accHitTest                MAccessible.cxx           993  0x7ff8cc8f1e3e 
> 6   CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 7   CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 8   CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 9   CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 10  CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 11  CMAccessible::accHitTest                MAccessible.cxx           994  0x7ff8cc8f1e95 
> 12  NdrSendReceive                          RPCRT4                         0x7ff90ac18fd3 
> 13  NdrStubCall2                            RPCRT4                         0x7ff90abbc6c3 
> 14  NdrStubCall3                            RPCRT4                         0x7ff90abbb294 
> 15  CStdStubBuffer_Invoke                   combase                        0x7ff90aff297c 
> 16  CStdStubBuffer_Invoke                   RPCRT4                         0x7ff90abfa92b 
> 17  CoWaitForMultipleObjects                combase                        0x7ff90afced43 
> 18  CoWaitForMultipleObjects                combase                        0x7ff90afceace 
> 19  HSTRING_UserSize                        combase                        0x7ff90aff84b6 
> 20  CoGetCurrentLogicalThreadId             combase                        0x7ff90af5e6b3 
> ...

and after that has happened once, the listener is already set when above code
passage is reached again when using the keyboard afterwards, which explains the
behaviour described earlier.

The registration of the a11y listener is specific to the "platform"
implementation, i.e. it's different for Win ('winaccessibility/' subdir) than
it is for the gtk3 case, where the listener is registered earlier.
As a side note, it doesn't happen for the gtk3 case with env var
'SAL_NO_MOUSEGRABS=1' set, which makes debugging more complicated...

Therefore, from how I understand it so far, the case covered here is different
from what tdf#113488 covers.

That's just a first analysis of someone who is mostly using Linux. As of now, I
don't have any specific plan to continue looking into this right now (but might
still come back to it at some point in time in the future). If anyone wants to
work on it, please feel free. :-)

[1]
https://git.libreoffice.org/core/+/23548f4ff51e28fec6751604a0a28197d6680773/svtools/source/control/valueset.cxx#794

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210304/b619e1c5/attachment.htm>


More information about the Libreoffice-bugs mailing list