accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx | 6 - accessibility/inc/standard/vclxaccessibletabpage.hxx | 5 - accessibility/inc/standard/vclxaccessibletoolboxitem.hxx | 6 - accessibility/source/standard/vclxaccessiblestatusbaritem.cxx | 2 accessibility/source/standard/vclxaccessibletabpage.cxx | 2 accessibility/source/standard/vclxaccessibletoolboxitem.cxx | 45 +++++----- 6 files changed, 31 insertions(+), 35 deletions(-)
New commits: commit 4b3d6fadf0b984e7e1c438c682e15a99124b9642 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Mon Feb 26 16:54:55 2024 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Mon Feb 26 22:55:02 2024 +0100 a11y: Drop some AccessibleTextHelper_BASE typedefs Just use `comphelper::OAccessibleTextHelper` directly where `AccessibleTextHelper_BASE` is a typedef for that. There are other `AccessibleTextHelper_BASE` typedefs with a different meaning elsewhere in the codebase, which are left unchanged. Change-Id: I323a2b103eccfcfc4f726caffa73e586decf6d65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163960 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx b/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx index 0ab119fe19eb..9556f961d140 100644 --- a/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx +++ b/accessibility/inc/standard/vclxaccessiblestatusbaritem.hxx @@ -28,12 +28,8 @@ #include <vcl/vclptr.hxx> - - -typedef ::comphelper::OAccessibleTextHelper AccessibleTextHelper_BASE; - class VCLXAccessibleStatusBarItem final : public cppu::ImplInheritanceHelper< - AccessibleTextHelper_BASE, + comphelper::OAccessibleTextHelper, css::accessibility::XAccessible, css::lang::XServiceInfo> { diff --git a/accessibility/inc/standard/vclxaccessibletabpage.hxx b/accessibility/inc/standard/vclxaccessibletabpage.hxx index bb3d720055a0..efdc75e2c677 100644 --- a/accessibility/inc/standard/vclxaccessibletabpage.hxx +++ b/accessibility/inc/standard/vclxaccessibletabpage.hxx @@ -30,11 +30,8 @@ class TabControl; - -typedef ::comphelper::OAccessibleTextHelper AccessibleTextHelper_BASE; - class VCLXAccessibleTabPage final : public cppu::ImplInheritanceHelper< - AccessibleTextHelper_BASE, + comphelper::OAccessibleTextHelper, css::accessibility::XAccessible, css::lang::XServiceInfo> { diff --git a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx index 4ba54023f163..6fbfc1e55138 100644 --- a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx +++ b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx @@ -30,10 +30,8 @@ #include <vcl/vclptr.hxx> -typedef ::comphelper::OAccessibleTextHelper AccessibleTextHelper_BASE; - class VCLXAccessibleToolBoxItem final : public cppu::ImplInheritanceHelper< - AccessibleTextHelper_BASE, + comphelper::OAccessibleTextHelper, css::accessibility::XAccessible, css::accessibility::XAccessibleAction, css::accessibility::XAccessibleValue, diff --git a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx index eab26ee708d3..db5e6cf140fe 100644 --- a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx +++ b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx @@ -181,7 +181,7 @@ void VCLXAccessibleStatusBarItem::implGetSelection( sal_Int32& nStartIndex, sal_ void VCLXAccessibleStatusBarItem::disposing() { - AccessibleTextHelper_BASE::disposing(); + comphelper::OAccessibleTextHelper::disposing(); m_pStatusBar = nullptr; m_sItemName.clear(); diff --git a/accessibility/source/standard/vclxaccessibletabpage.cxx b/accessibility/source/standard/vclxaccessibletabpage.cxx index ff37087366d5..dad454ab0021 100644 --- a/accessibility/source/standard/vclxaccessibletabpage.cxx +++ b/accessibility/source/standard/vclxaccessibletabpage.cxx @@ -224,7 +224,7 @@ void VCLXAccessibleTabPage::implGetSelection( sal_Int32& nStartIndex, sal_Int32& void VCLXAccessibleTabPage::disposing() { - AccessibleTextHelper_BASE::disposing(); + comphelper::OAccessibleTextHelper::disposing(); m_pTabControl = nullptr; m_sPageText.clear(); diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx index d338ec78e045..064d2ebb3037 100644 --- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx +++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx @@ -249,7 +249,7 @@ Any SAL_CALL VCLXAccessibleToolBoxItem::queryInterface( const Type& _rType ) void SAL_CALL VCLXAccessibleToolBoxItem::disposing() { - AccessibleTextHelper_BASE::disposing(); + comphelper::OAccessibleTextHelper::disposing(); m_pToolBox = nullptr; } commit c455fcd88f950c87c1588859100c1310122980fa Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Mon Feb 26 16:44:01 2024 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Mon Feb 26 22:54:51 2024 +0100 tdf#159910 a11y: Distinguish a11y name and text of toolbar item So far, the accessible name and the text of the item were considered to be the same, and fallbacks to still get something else for the accessible name in case of no item text (to use the quick help text or the item window's accessible name instead) were implemented directly in `VCLXAccessibleToolBoxItem::implGetText`. However, `VCLXAccessibleToolBoxItem::implGetText` is also used by the implementations for the methods from the `XAccessibleText` interface and that one is clearly about text displayed on screen, so using e.g. the quick help/tooltip text doesn't make sense then. Let `VCLXAccessibleToolBoxItem::implGetText` only handle the actual item text and move the fallbacks to a new helper method `VCLXAccessibleToolBoxItem::implGetAccessibleName` instead that is only used when the actual accessible name is wanted. Change-Id: Icc394022d036ca619622cee1390e28ab15014be1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163959 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx index 9676762d54bb..4ba54023f163 100644 --- a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx +++ b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx @@ -56,6 +56,8 @@ public: void setIndexInParent( sal_Int32 _nNewIndex ) { m_nIndexInParent = _nNewIndex; } private: + OUString implGetAccessibleName(); + virtual ~VCLXAccessibleToolBoxItem() override; virtual void SAL_CALL disposing() override; diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx index f8545eacc422..d338ec78e045 100644 --- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx +++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx @@ -69,7 +69,7 @@ VCLXAccessibleToolBoxItem::VCLXAccessibleToolBoxItem( ToolBox* _pToolBox, sal_In { assert( m_pToolBox ); m_nItemId = m_pToolBox->GetItemId( m_nIndexInParent ); - m_sOldName = implGetText(); + m_sOldName = implGetAccessibleName(); m_bIsChecked = m_pToolBox->IsItemChecked( m_nItemId ); m_bIndeterminate = ( m_pToolBox->GetItemState( m_nItemId ) == TRISTATE_INDET ); ToolBoxItemType eType = m_pToolBox->GetItemType( m_nIndexInParent ); @@ -162,7 +162,7 @@ void VCLXAccessibleToolBoxItem::SetIndeterminate( bool _bIndeterminate ) void VCLXAccessibleToolBoxItem::NameChanged() { - OUString sNewName = implGetText(); + OUString sNewName = implGetAccessibleName(); if ( sNewName != m_sOldName ) { Any aOldValue, aNewValue; @@ -219,21 +219,7 @@ OUString VCLXAccessibleToolBoxItem::implGetText() if (!m_pToolBox || m_nItemId <= ToolBoxItemId(0)) return OUString(); - OUString sRet = m_pToolBox->GetItemText( m_nItemId ); - if (!sRet.isEmpty()) - return sRet; - - sRet = m_pToolBox->GetQuickHelpText( m_nItemId ); - if (!sRet.isEmpty()) - return sRet; - - vcl::Window* pItemWindow = m_pToolBox->GetItemWindow( m_nItemId ); - if ( m_nRole == AccessibleRole::PANEL && pItemWindow && pItemWindow->GetAccessible().is() && - pItemWindow->GetAccessible()->getAccessibleContext().is() ) - { - sRet = pItemWindow->GetAccessible()->getAccessibleContext()->getAccessibleName(); - } - return sRet; + return m_pToolBox->GetItemText(m_nItemId); } Locale VCLXAccessibleToolBoxItem::implGetLocale() @@ -352,12 +338,29 @@ OUString SAL_CALL VCLXAccessibleToolBoxItem::getAccessibleDescription( ) } } +OUString VCLXAccessibleToolBoxItem::implGetAccessibleName() +{ + OUString sRet = implGetText(); + if (!sRet.isEmpty()) + return sRet; + + sRet = m_pToolBox->GetQuickHelpText( m_nItemId ); + if (!sRet.isEmpty()) + return sRet; + + vcl::Window* pItemWindow = m_pToolBox->GetItemWindow( m_nItemId ); + if ( m_nRole == AccessibleRole::PANEL && pItemWindow && pItemWindow->GetAccessible().is() && + pItemWindow->GetAccessible()->getAccessibleContext().is() ) + { + sRet = pItemWindow->GetAccessible()->getAccessibleContext()->getAccessibleName(); + } + return sRet; +} + OUString SAL_CALL VCLXAccessibleToolBoxItem::getAccessibleName( ) { OExternalLockGuard aGuard( this ); - - // entry text == accessible name - return implGetText(); + return implGetAccessibleName(); } Reference< XAccessibleRelationSet > SAL_CALL VCLXAccessibleToolBoxItem::getAccessibleRelationSet( )