comphelper/source/misc/OAccessible.cxx | 2 + include/comphelper/OAccessible.hxx | 5 ++++ include/svx/AccessibleShape.hxx | 2 - offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl | 2 - sc/source/ui/Accessibility/AccessibleCell.cxx | 9 ++------ sc/source/ui/inc/AccessibleCell.hxx | 11 +--------- sc/source/ui/inc/AccessibleDocument.hxx | 7 ++---- sd/source/ui/inc/AccessibleDocumentViewBase.hxx | 5 ---- sw/source/core/access/acccell.hxx | 3 -- sw/source/core/access/accdoc.cxx | 2 - sw/source/core/access/accdoc.hxx | 8 ++----- sw/source/core/access/accembedded.cxx | 2 - sw/source/core/access/accembedded.hxx | 5 ---- sw/source/core/access/accpara.hxx | 4 --- 14 files changed, 25 insertions(+), 42 deletions(-)
New commits: commit dd0f5953c04bc6b192bbe6e7ae9fb4d3985a1406 Author: Michael Weghorn <[email protected]> AuthorDate: Wed Mar 4 21:23:27 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Mar 5 11:21:52 2026 +0100 a11y: Fix typo in XAccessibleExtendedComponent doc Change-Id: Id0f6951b1030b63c4dbb22f55c9fd39cbb6e4ba1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200973 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl index ea9afea783b1..8e375169dc3d 100644 --- a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl +++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl @@ -55,7 +55,7 @@ interface XAccessibleExtendedComponent : XAccessibleComponent @return Returns the localized tool tip text of the object. If tool tips - are not supported and empty string is returned. + are not supported an empty string is returned. */ string getToolTipText (); }; commit 9ec6cec8fcb15f37b1ce3f4ac81d0eb58dc27004 Author: Michael Weghorn <[email protected]> AuthorDate: Wed Mar 4 19:36:53 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Mar 5 11:21:40 2026 +0100 a11y: Let OAccessible implement XAccessibleExtendedAttributes iface Let the OAccessible base class used by most a11y implementations implement the XAccessibleExtendedAttributes interface and add a default implementation for XAccessibleExtendedAttributes::getExtendedAttributes that simply returns an empty string. Platform/Toolkit a11y bridges were prepared for this in previous commit Change-Id: I84252f8764d3385d71b9ada24125ca96762baf9d Author: Michael Weghorn <[email protected]> Date: Wed Mar 4 19:30:05 2026 +0100 a11y: Handle empty extended attributes string This simplifies those subclasses that were already implementing the XAccessibleExtendedAttributes interface so far and will allow further refactoring. Change-Id: I05f02b57f4c32be42232a52b24fe13c945090836 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200971 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/comphelper/source/misc/OAccessible.cxx b/comphelper/source/misc/OAccessible.cxx index 579d686c1245..84cb5f1d6fc1 100644 --- a/comphelper/source/misc/OAccessible.cxx +++ b/comphelper/source/misc/OAccessible.cxx @@ -194,6 +194,8 @@ Locale SAL_CALL OAccessible::getLocale() return xParentContext->getLocale(); } +OUString SAL_CALL OAccessible::getExtendedAttributes() { return OUString(); } + Reference<XAccessibleContext> OAccessible::implGetParentContext() { Reference< XAccessible > xParent = getAccessibleParent(); diff --git a/include/comphelper/OAccessible.hxx b/include/comphelper/OAccessible.hxx index 27b95037d7f6..7d58c77abde7 100644 --- a/include/comphelper/OAccessible.hxx +++ b/include/comphelper/OAccessible.hxx @@ -21,6 +21,7 @@ #include <com/sun/star/accessibility/XAccessibleContext2.hpp> #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> +#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> #include <comphelper/accessibleeventnotifier.hxx> #include <cppuhelper/basemutex.hxx> @@ -38,6 +39,7 @@ class COMPHELPER_DLLPUBLIC OAccessible public cppu::WeakComponentImplHelper<css::accessibility::XAccessible, css::accessibility::XAccessibleContext2, css::accessibility::XAccessibleEventBroadcaster, + css::accessibility::XAccessibleExtendedAttributes, css::accessibility::XAccessibleExtendedComponent> { friend class OContextEntryGuard; @@ -90,6 +92,9 @@ public: */ virtual css::lang::Locale SAL_CALL getLocale( ) override; + // XAccessibleExtendedAttributes + virtual OUString SAL_CALL getExtendedAttributes() override; + protected: // OComponentHelper virtual void SAL_CALL disposing() override; diff --git a/include/svx/AccessibleShape.hxx b/include/svx/AccessibleShape.hxx index 94f7dc2aefd5..d851829db538 100644 --- a/include/svx/AccessibleShape.hxx +++ b/include/svx/AccessibleShape.hxx @@ -24,7 +24,6 @@ #include <com/sun/star/accessibility/AccessibleScrollType.hpp> #include <com/sun/star/accessibility/TextSegment.hpp> #include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp> #include <com/sun/star/accessibility/XAccessibleHypertext.hpp> #include <com/sun/star/awt/Point.hpp> @@ -81,7 +80,6 @@ class IAccessibleParent; class SVX_DLLPUBLIC AccessibleShape : public cppu::ImplInheritanceHelper< AccessibleContextBase, css::accessibility::XAccessibleSelection, - css::accessibility::XAccessibleExtendedAttributes, css::accessibility::XAccessibleGroupPosition, css::accessibility::XAccessibleHypertext, css::document::XShapeEventListener, css::lang::XUnoTunnel>, public IAccessibleViewForwarderListener diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx index 5e401d3fc082..8344029c3f83 100644 --- a/sc/source/ui/Accessibility/AccessibleCell.cxx +++ b/sc/source/ui/Accessibility/AccessibleCell.cxx @@ -110,17 +110,14 @@ void SAL_CALL ScAccessibleCell::disposing() //===== XInterface ===================================================== -IMPLEMENT_FORWARD_XINTERFACE3( ScAccessibleCell, ScAccessibleCellBase, AccessibleStaticTextBase, ScAccessibleCellAttributeImpl ) +IMPLEMENT_FORWARD_XINTERFACE2(ScAccessibleCell, ScAccessibleCellBase, AccessibleStaticTextBase) //===== XTypeProvider =================================================== css::uno::Sequence< css::uno::Type > SAL_CALL ScAccessibleCell::getTypes() { - return ::comphelper::concatSequences( - ScAccessibleCellBase::getTypes(), - AccessibleStaticTextBase::getTypes(), - ScAccessibleCellAttributeImpl::getTypes() - ); + return ::comphelper::concatSequences(ScAccessibleCellBase::getTypes(), + AccessibleStaticTextBase::getTypes()); } IMPLEMENT_GET_IMPLEMENTATION_ID( ScAccessibleCell ) diff --git a/sc/source/ui/inc/AccessibleCell.hxx b/sc/source/ui/inc/AccessibleCell.hxx index b6c93a32993a..6e6135495e45 100644 --- a/sc/source/ui/inc/AccessibleCell.hxx +++ b/sc/source/ui/inc/AccessibleCell.hxx @@ -23,8 +23,6 @@ #include "AccessibleCellBase.hxx" #include "viewdata.hxx" #include <com/sun/star/accessibility/AccessibleRelationType.hpp> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> -#include <cppuhelper/implbase1.hxx> #include <rtl/ref.hxx> #include <editeng/AccessibleStaticTextBase.hxx> #include <comphelper/uno3.hxx> @@ -34,19 +32,14 @@ namespace utl { class AccessibleRelationSetHelper; } class ScTabViewShell; class ScAccessibleDocument; -typedef cppu::ImplHelper1< css::accessibility::XAccessibleExtendedAttributes> - ScAccessibleCellAttributeImpl; - using css::accessibility::AccessibleRelationType; /** @descr This base class provides an implementation of the <code>AccessibleCell</code> service. */ -class ScAccessibleCell final - : public ScAccessibleCellBase, - public accessibility::AccessibleStaticTextBase, - public ScAccessibleCellAttributeImpl +class ScAccessibleCell final : public ScAccessibleCellBase, + public accessibility::AccessibleStaticTextBase { public: static rtl::Reference<ScAccessibleCell> create( diff --git a/sc/source/ui/inc/AccessibleDocument.hxx b/sc/source/ui/inc/AccessibleDocument.hxx index 456229e0a80e..90fedc526559 100644 --- a/sc/source/ui/inc/AccessibleDocument.hxx +++ b/sc/source/ui/inc/AccessibleDocument.hxx @@ -24,7 +24,6 @@ #include <com/sun/star/accessibility/XAccessibleSelection.hpp> #include <com/sun/star/view/XSelectionChangeListener.hpp> #include <cppuhelper/implbase3.hxx> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <svx/IAccessibleViewForwarder.hxx> class ScTabViewShell; @@ -39,9 +38,9 @@ namespace utl } class ScAccessibleDocument final - : public cppu::ImplInheritanceHelper< - ScAccessibleDocumentBase, css::accessibility::XAccessibleSelection, - css::accessibility::XAccessibleExtendedAttributes, css::view::XSelectionChangeListener>, + : public cppu::ImplInheritanceHelper<ScAccessibleDocumentBase, + css::accessibility::XAccessibleSelection, + css::view::XSelectionChangeListener>, public accessibility::IAccessibleViewForwarder { public: diff --git a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx index 079a3885e70f..9c9d1fc969e1 100644 --- a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx +++ b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx @@ -31,8 +31,6 @@ #include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <tools/link.hxx> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> - #include "Window.hxx" namespace com::sun::star::accessibility { class XAccessible; } @@ -83,8 +81,7 @@ class AccessibleDocumentViewBase public IAccessibleViewForwarderListener, public css::beans::XPropertyChangeListener, public css::awt::XWindowListener, - public css::awt::XFocusListener, - public css::accessibility::XAccessibleExtendedAttributes + public css::awt::XFocusListener { public: /** Create a new object. Note that the caller has to call the diff --git a/sw/source/core/access/acccell.hxx b/sw/source/core/access/acccell.hxx index 289568ef95d0..08875d2e67a2 100644 --- a/sw/source/core/access/acccell.hxx +++ b/sw/source/core/access/acccell.hxx @@ -29,8 +29,7 @@ class SwFrameFormat; using SwAccessibleCell_BASE = cppu::ImplInheritanceHelper<SwAccessibleContext, css::accessibility::XAccessibleValue, - css::accessibility::XAccessibleSelection, - css::accessibility::XAccessibleExtendedAttributes>; + css::accessibility::XAccessibleSelection>; class SwAccessibleCell : public SwAccessibleCell_BASE { // Implementation for XAccessibleSelection interface diff --git a/sw/source/core/access/accdoc.cxx b/sw/source/core/access/accdoc.cxx index 663aa68a85ae..b56664c87de4 100644 --- a/sw/source/core/access/accdoc.cxx +++ b/sw/source/core/access/accdoc.cxx @@ -286,7 +286,7 @@ void SwAccessibleDocument::GetStates( sal_Int64& rStateSet ) SwAccessibleDocument::SwAccessibleDocument( std::shared_ptr<SwAccessibleMap> const& pInitMap) - : SwAccessibleDocument_BASE(pInitMap) + : ImplInheritanceHelper(pInitMap) , maSelectionHelper(*this) { SetName(pInitMap->GetDocName()); diff --git a/sw/source/core/access/accdoc.hxx b/sw/source/core/access/accdoc.hxx index 1d72cfa1ef4c..81187b0501b0 100644 --- a/sw/source/core/access/accdoc.hxx +++ b/sw/source/core/access/accdoc.hxx @@ -21,7 +21,6 @@ #include "acccontext.hxx" #include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include "accselectionhelper.hxx" #include <vcl/window.hxx> @@ -76,13 +75,12 @@ public: virtual css::awt::Point SAL_CALL getLocationOnScreen() override; }; -using SwAccessibleDocument_BASE = cppu::ImplInheritanceHelper<SwAccessibleDocumentBase, - css::accessibility::XAccessibleSelection, - css::accessibility::XAccessibleExtendedAttributes>; /** * access to an accessible Writer document */ -class SwAccessibleDocument : public SwAccessibleDocument_BASE +class SwAccessibleDocument + : public cppu::ImplInheritanceHelper<SwAccessibleDocumentBase, + css::accessibility::XAccessibleSelection> { // Implementation for XAccessibleSelection interface SwAccessibleSelectionHelper maSelectionHelper; diff --git a/sw/source/core/access/accembedded.cxx b/sw/source/core/access/accembedded.cxx index 11fef0f2b51a..18b1ed152365 100644 --- a/sw/source/core/access/accembedded.cxx +++ b/sw/source/core/access/accembedded.cxx @@ -32,7 +32,7 @@ using namespace ::com::sun::star::accessibility; SwAccessibleEmbeddedObject::SwAccessibleEmbeddedObject( std::shared_ptr<SwAccessibleMap> const& pInitMap, const SwFlyFrame* pFlyFrame) - : ImplInheritanceHelper(pInitMap, AccessibleRole::EMBEDDED_OBJECT, pFlyFrame) + : SwAccessibleNoTextFrame(pInitMap, AccessibleRole::EMBEDDED_OBJECT, pFlyFrame) { } diff --git a/sw/source/core/access/accembedded.hxx b/sw/source/core/access/accembedded.hxx index f3d8aa28874e..7f0ea3381425 100644 --- a/sw/source/core/access/accembedded.hxx +++ b/sw/source/core/access/accembedded.hxx @@ -21,12 +21,9 @@ #include "accnotextframe.hxx" -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <cppuhelper/implbase.hxx> -class SwAccessibleEmbeddedObject - : public cppu::ImplInheritanceHelper<SwAccessibleNoTextFrame, - css::accessibility::XAccessibleExtendedAttributes> +class SwAccessibleEmbeddedObject : public SwAccessibleNoTextFrame { protected: diff --git a/sw/source/core/access/accpara.hxx b/sw/source/core/access/accpara.hxx index 81607e3f9cc7..cf1d199e3bbf 100644 --- a/sw/source/core/access/accpara.hxx +++ b/sw/source/core/access/accpara.hxx @@ -27,7 +27,6 @@ #include <com/sun/star/accessibility/XAccessibleTextMarkup.hpp> #include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp> #include <com/sun/star/accessibility/XAccessibleTextSelection.hpp> -#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp> #include "accselectionhelper.hxx" #include <unordered_map> @@ -56,8 +55,7 @@ using SwAccessibleParagraph_BASE = cppu::ImplInheritanceHelper<SwAccessibleConte css::accessibility::XAccessibleTextMarkup, css::accessibility::XAccessibleMultiLineText, css::accessibility::XAccessibleTextAttributes, - css::accessibility::XAccessibleTextSelection, - css::accessibility::XAccessibleExtendedAttributes>; + css::accessibility::XAccessibleTextSelection>; class SwAccessibleParagraph : public SfxListener, public SwAccessibleParagraph_BASE
