include/vcl/accessibility/AccessibleBrowseBox.hxx | 13 +++++-------- svtools/source/brwbox/brwbox3.cxx | 8 +++----- vcl/inc/accessibility/accessibletablistbox.hxx | 7 +++---- vcl/source/accessibility/AccessibleBrowseBox.cxx | 14 +++++++------- vcl/source/accessibility/accessibletablistbox.cxx | 4 ++-- vcl/source/treelist/svtabbx.cxx | 6 +++--- 6 files changed, 23 insertions(+), 29 deletions(-)
New commits: commit 58f4241207ae9e6aa80c8e3c48b9cc3850cdfde4 Author: Michael Weghorn <[email protected]> AuthorDate: Wed Sep 10 15:06:47 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Wed Sep 10 20:48:30 2025 +0200 vcl a11y: Require OAccessible for AccessibleBrowseBox parent Switch parent param in the AccessibleBrowseBox ctor from the abstract XAccessible UNO interface to the more concrete OAccessible. Adjust calling code to make clear it's always an OAccessible that gets passed. Change-Id: I1e0b4c4b075d5f0926c85b431e1fbc10334bea85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190769 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/accessibility/AccessibleBrowseBox.hxx b/include/vcl/accessibility/AccessibleBrowseBox.hxx index 003fc0d62267..f1b0a63dbe60 100644 --- a/include/vcl/accessibility/AccessibleBrowseBox.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBox.hxx @@ -33,7 +33,7 @@ class VCL_DLLPUBLIC AccessibleBrowseBox : public AccessibleBrowseBoxBase public: AccessibleBrowseBox( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, + const rtl::Reference<comphelper::OAccessible>& rpParent, ::vcl::IAccessibleTableProvider& _rBrowseBox ); diff --git a/svtools/source/brwbox/brwbox3.cxx b/svtools/source/brwbox/brwbox3.cxx index b7f209ac8180..f72903e089c8 100644 --- a/svtools/source/brwbox/brwbox3.cxx +++ b/svtools/source/brwbox/brwbox3.cxx @@ -69,11 +69,9 @@ rtl::Reference<comphelper::OAccessible> BrowseBox::CreateAccessible() { if (!m_xAccessible) { - Reference<XAccessible> xAccParent = GetAccessibleParent(); - if( xAccParent.is() ) - { - m_xAccessible = new AccessibleBrowseBox(xAccParent, *this); - } + rtl::Reference<comphelper::OAccessible> pAccParent = GetAccessibleParent(); + if (pAccParent.is()) + m_xAccessible = new AccessibleBrowseBox(pAccParent, *this); } return m_xAccessible; diff --git a/vcl/inc/accessibility/accessibletablistbox.hxx b/vcl/inc/accessibility/accessibletablistbox.hxx index 5b6e0ea60576..f1678f0c6ab6 100644 --- a/vcl/inc/accessibility/accessibletablistbox.hxx +++ b/vcl/inc/accessibility/accessibletablistbox.hxx @@ -30,10 +30,10 @@ private: public: /** ctor() - @param rxParent XAccessible interface of the parent object. + @param rpParent Accessible parent object. @param rBox The HeaderTabListBox control. */ AccessibleTabListBox( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, + const rtl::Reference<comphelper::OAccessible>& rpParent, SvHeaderTabListBox& rBox ); // XAccessibleContext ----------------------------------------------------- diff --git a/vcl/source/accessibility/AccessibleBrowseBox.cxx b/vcl/source/accessibility/AccessibleBrowseBox.cxx index 011c47f08679..934f82a6e804 100644 --- a/vcl/source/accessibility/AccessibleBrowseBox.cxx +++ b/vcl/source/accessibility/AccessibleBrowseBox.cxx @@ -35,9 +35,9 @@ using namespace ::com::sun::star::accessibility; // Ctor/Dtor/disposing AccessibleBrowseBox::AccessibleBrowseBox( - const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, + const rtl::Reference<comphelper::OAccessible>& rpParent, ::vcl::IAccessibleTableProvider& _rBrowseBox) - : AccessibleBrowseBoxBase(_rxParent, _rBrowseBox, nullptr, + : AccessibleBrowseBoxBase(rpParent, _rBrowseBox, nullptr, AccessibleBrowseBoxObjType::BrowseBox) { m_xFocusWindow.set(mpBrowseBox->GetWindowInstance()->GetComponentInterface(), css::uno::UNO_QUERY); diff --git a/vcl/source/accessibility/accessibletablistbox.cxx b/vcl/source/accessibility/accessibletablistbox.cxx index 5e08e5ceee74..9479bf5494a6 100644 --- a/vcl/source/accessibility/accessibletablistbox.cxx +++ b/vcl/source/accessibility/accessibletablistbox.cxx @@ -32,9 +32,9 @@ using namespace ::com::sun::star; // Ctor() and Dtor() -AccessibleTabListBox::AccessibleTabListBox(const Reference<XAccessible>& rxParent, +AccessibleTabListBox::AccessibleTabListBox(const rtl::Reference<comphelper::OAccessible>& rpParent, SvHeaderTabListBox& rBox) - : AccessibleBrowseBox(rxParent, rBox) + : AccessibleBrowseBox(rpParent, rBox) , m_pTabListBox(&rBox) { } diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index 8607d40a1cfb..ebed8e79ac8e 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -1100,10 +1100,10 @@ rtl::Reference<comphelper::OAccessible> SvHeaderTabListBox::CreateAccessible() if (m_xAccessible.is()) return m_xAccessible; - Reference< XAccessible > xAccParent = GetAccessibleParent(); - if ( xAccParent.is() ) + rtl::Reference<comphelper::OAccessible> pAccParent = GetAccessibleParent(); + if (pAccParent.is()) { - m_xAccessible = new AccessibleTabListBox(xAccParent, *this); + m_xAccessible = new AccessibleTabListBox(pAccParent, *this); return m_xAccessible; } return nullptr; commit 89bb4bf32f5ad3060af8fea6ca7224b71234d890 Author: Michael Weghorn <[email protected]> AuthorDate: Wed Sep 10 14:58:12 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Wed Sep 10 20:48:23 2025 +0200 vcl a11y: Return OAccessible in misc AccessibleBrowseBox methods Return more concrete OAccessible instead of the abstract XAccessible UNO interface. Change-Id: I8a54e5f206fcff601770376a3fdeff1e737a72a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190768 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/accessibility/AccessibleBrowseBox.hxx b/include/vcl/accessibility/AccessibleBrowseBox.hxx index 77f9a91aef17..003fc0d62267 100644 --- a/include/vcl/accessibility/AccessibleBrowseBox.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBox.hxx @@ -107,12 +107,11 @@ public: /** returns the accessible object for the row or the column header bar */ - css::uno::Reference<css::accessibility::XAccessible> - getHeaderBar(AccessibleBrowseBoxObjType eObjType); + rtl::Reference<comphelper::OAccessible> getHeaderBar(AccessibleBrowseBoxObjType eObjType); /** returns the accessible object for the table representation */ - css::uno::Reference<css::accessibility::XAccessible> getTable(); + rtl::Reference<comphelper::OAccessible> getTable(); protected: // internal virtual methods @@ -126,10 +125,8 @@ protected: /** This method returns one of the children that are always present: Data table, row and column header bar or corner control. @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the specified child. */ - css::uno::Reference< - css::accessibility::XAccessible > - implGetFixedChild( sal_Int64 nChildIndex ); + @return The accessible object of the specified child. */ + rtl::Reference<comphelper::OAccessible> implGetFixedChild(sal_Int64 nChildIndex); /** This method creates and returns an accessible table. @return An AccessibleBrowseBoxTable. */ diff --git a/vcl/inc/accessibility/accessibletablistbox.hxx b/vcl/inc/accessibility/accessibletablistbox.hxx index 59050a82540c..5b6e0ea60576 100644 --- a/vcl/inc/accessibility/accessibletablistbox.hxx +++ b/vcl/inc/accessibility/accessibletablistbox.hxx @@ -45,8 +45,7 @@ public: virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 nChildIndex ) override; - css::uno::Reference< css::accessibility::XAccessible > - getHeaderBar() + rtl::Reference<comphelper::OAccessible> getHeaderBar() { return AccessibleBrowseBox::getHeaderBar( AccessibleBrowseBoxObjType::ColumnHeaderBar ); } diff --git a/vcl/source/accessibility/AccessibleBrowseBox.cxx b/vcl/source/accessibility/AccessibleBrowseBox.cxx index 602789b90843..011c47f08679 100644 --- a/vcl/source/accessibility/AccessibleBrowseBox.cxx +++ b/vcl/source/accessibility/AccessibleBrowseBox.cxx @@ -158,7 +158,7 @@ tools::Rectangle AccessibleBrowseBox::implGetBoundingBox() return mpBrowseBox->GetWindowExtentsRelative( *pParent ); } -css::uno::Reference<css::accessibility::XAccessible> AccessibleBrowseBox::getTable() +rtl::Reference<comphelper::OAccessible> AccessibleBrowseBox::getTable() { if( !mxTable.is() ) { @@ -168,7 +168,7 @@ css::uno::Reference<css::accessibility::XAccessible> AccessibleBrowseBox::getTab return mxTable; } -css::uno::Reference<css::accessibility::XAccessible> +rtl::Reference<comphelper::OAccessible> AccessibleBrowseBox::getHeaderBar(AccessibleBrowseBoxObjType eObjType) { if( eObjType == AccessibleBrowseBoxObjType::RowHeaderBar ) @@ -184,11 +184,11 @@ AccessibleBrowseBox::getHeaderBar(AccessibleBrowseBoxObjType eObjType) return mxColumnHeaderBar; } - return css::uno::Reference<css::accessibility::XAccessible>(); + return {}; } -css::uno::Reference< css::accessibility::XAccessible > -AccessibleBrowseBox::implGetFixedChild( sal_Int64 nChildIndex ) +rtl::Reference<comphelper::OAccessible> +AccessibleBrowseBox::implGetFixedChild(sal_Int64 nChildIndex) { switch( nChildIndex ) {
