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

Reply via email to