diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2022-01-05 13:41:53 +0000 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-01-11 10:02:31 +0100 |
commit | f1fb66b02d72d4b2e6f3321fa5426c9f7c04c48c (patch) | |
tree | 6da24780283a34e10df8a39c53093d05d7293605 /winaccessibility/source/service/AccObjectContainerEventListener.cxx | |
parent | d96eb0b381de5f87534215ef38e1af1b3bdfd0ab (diff) |
tdf#146306 wina11y: Retrieve accessible desc on demand
Adapt 'MAccessible::get_accDescription' to directly
retrieve the accessible description on demand via the
corresponding XAccessible, rather than keeping
track of it in a class member.
This simplifies the handling and makes it
unnecessary to "manually" update the description
on 'accessibility::AccessibleEventId::DESCRIPTION_CHANGED'
events, since the new value will
be queried next time it is needed anyway.
This also fixes the problem that a significant
amount of time was spent generating accessible
descriptions for all newly inserted a11y objects when
entering values into Calc cells with the NVDA
screen reader in use, resulting in several
seconds of delay.
Querying up-to-date values from the underlying
UNO interfaces on demand instead of doing extra
manual bookkeeping in the winaccessibility code
may be possible for more a11y attributes in addition
to the accessible description handled in this commit,
but each one will have to be looked at separately.
Change-Id: I57f4c523ca8b10afad3f9c347c8ff5e9420ad968
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128006
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit fcf4a26275d7503835f9aa23cb94938809840300)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128165
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'winaccessibility/source/service/AccObjectContainerEventListener.cxx')
-rw-r--r-- | winaccessibility/source/service/AccObjectContainerEventListener.cxx | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/winaccessibility/source/service/AccObjectContainerEventListener.cxx b/winaccessibility/source/service/AccObjectContainerEventListener.cxx index dc99d3394c4a..429e99734e78 100644 --- a/winaccessibility/source/service/AccObjectContainerEventListener.cxx +++ b/winaccessibility/source/service/AccObjectContainerEventListener.cxx @@ -52,7 +52,6 @@ void AccObjectContainerEventListener::HandleStateChangedEvent(Any oldValue, Any if (newV == AccessibleStateType::FOCUSED) { pAgent->UpdateAccName(m_xAccessible.get()); - pAgent->UpdateDescription(m_xAccessible.get()); } } AccContainerEventListener::HandleStateChangedEvent(oldValue, newValue); |