accessibility/inc/extended/AccessibleGridControlBase.hxx | 2 -- accessibility/source/extended/AccessibleGridControlBase.cxx | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-)
New commits: commit fbe4d77d961975bafe8ea3e419651df4d418f92b Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu Mar 3 15:34:06 2022 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Mar 4 08:05:33 2022 +0100 tdf#147742 a11y: AccessibleGridControlBase: get accessible desc on demand Previously, the accessible description was retrieved in the `AccessibleGridControlBase` ctor and stored in a class member. Change that to fetch the description on demand. `TableControl::GetAccessibleObjectDescription` is used to get the description, which currently uses the row and column index of the currently active cell. When using the macro from the sample document in tdf#147742 with the Orca screen reader active, no cell was active at the point that the ctor was called, so `ROW_INVALID`/`COL_INVALID` were used, resulting in a crash later (s. backtrace in tdf#147742). If necessary, `TableControl::GetAccessibleObjectDescription` could be extended to allow passing an explicit row/column index, as is the case for `TableControl::GetAccessibleName`, then override `AccessibleGridControlBase::getAccessibleDescription` in `AccessibleGridControlCell`, similar to how it is done for the accessible name in Change-Id I87eabb2ce3c99d4a622d919ab0fb8d7fb3beed6b ("tdf#147742 a11y: AccessibleGridControl...: get accessible name on demand"). Change-Id: I58f3a2b0c83e2cdbae103811505d7d0a4f8bfc52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130934 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/accessibility/inc/extended/AccessibleGridControlBase.hxx b/accessibility/inc/extended/AccessibleGridControlBase.hxx index 4075b7f7964f..7da777d8dac2 100644 --- a/accessibility/inc/extended/AccessibleGridControlBase.hxx +++ b/accessibility/inc/extended/AccessibleGridControlBase.hxx @@ -253,8 +253,6 @@ protected: ::vcl::table::AccessibleTableControlObjType m_eObjType; private: - /** Localized description text. */ - OUString m_aDescription; ::comphelper::AccessibleEventNotifier::TClientId m_aClientId; }; diff --git a/accessibility/source/extended/AccessibleGridControlBase.cxx b/accessibility/source/extended/AccessibleGridControlBase.cxx index c02d921fa1a1..915aeb7e373e 100644 --- a/accessibility/source/extended/AccessibleGridControlBase.cxx +++ b/accessibility/source/extended/AccessibleGridControlBase.cxx @@ -54,7 +54,6 @@ AccessibleGridControlBase::AccessibleGridControlBase( m_xParent( rxParent ), m_aTable( rTable), m_eObjType( eObjType ), - m_aDescription( rTable.GetAccessibleObjectDescription( eObjType ) ), m_aClientId(0) { } @@ -134,7 +133,7 @@ OUString SAL_CALL AccessibleGridControlBase::getAccessibleDescription() SolarMutexGuard g; ensureIsAlive(); - return m_aDescription; + return m_aTable.GetAccessibleObjectDescription(m_eObjType); } OUString SAL_CALL AccessibleGridControlBase::getAccessibleName()