summaryrefslogtreecommitdiff
path: root/winaccessibility/source/service/AccObjectContainerEventListener.cxx
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2022-01-05 13:41:53 +0000
committerXisco Fauli <xiscofauli@libreoffice.org>2022-01-11 10:02:31 +0100
commitf1fb66b02d72d4b2e6f3321fa5426c9f7c04c48c (patch)
tree6da24780283a34e10df8a39c53093d05d7293605 /winaccessibility/source/service/AccObjectContainerEventListener.cxx
parentd96eb0b381de5f87534215ef38e1af1b3bdfd0ab (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.cxx1
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);