a11y tests: Use OAccessible for Window accessible

Let test::AccessibleTestBase::getWindowAccessible
return an OAccessible and drop
test::AccessibleTestBase::getWindowAccessibleContext,
as OAccessible implements the XAccessibleContext
interface as well.

Change-Id: I50308897a1539521f09fae0b13a56813077c7cc4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188635
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
Michael Weghorn
2025-08-01 11:32:09 +02:00
parent 5255279d63
commit dd19b689ee
7 changed files with 16 additions and 20 deletions
+4 -3
View File
@@ -23,6 +23,7 @@
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <comphelper/OAccessible.hxx>
#include <vcl/ITiledRenderable.hxx>
#include <vcl/window.hxx>
@@ -51,8 +52,7 @@ protected:
virtual void load(const rtl::OUString& sURL);
virtual void loadFromSrc(const rtl::OUString& sSrcPath);
void close();
css::uno::Reference<css::accessibility::XAccessible> getWindowAccessible();
css::uno::Reference<css::accessibility::XAccessibleContext> getWindowAccessibleContext();
rtl::Reference<comphelper::OAccessible> getWindowAccessible();
virtual css::uno::Reference<css::accessibility::XAccessibleContext>
getDocumentAccessibleContext();
@@ -146,7 +146,8 @@ protected:
template <typename... Ts> bool activateMenuItem(Ts... names)
{
auto menuBar = AccessibilityTools::getAccessibleObjectForRole(
getWindowAccessibleContext(), css::accessibility::AccessibleRole::MENU_BAR);
css::uno::Reference<css::accessibility::XAccessibleContext>(getWindowAccessible()),
css::accessibility::AccessibleRole::MENU_BAR);
CPPUNIT_ASSERT(menuBar.is());
return activateMenuItem(menuBar, names...);
}
+2
View File
@@ -18,7 +18,9 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_a11y, \
$(eval $(call gb_CppunitTest_use_libraries,sw_a11y, \
sal \
comphelper \
cppu \
cppuhelper \
cui \
subsequenttest \
test \
+2
View File
@@ -15,7 +15,9 @@ $(eval $(call gb_CppunitTest_add_exception_objects,test_a11y, \
$(eval $(call gb_CppunitTest_use_libraries,test_a11y, \
sal \
comphelper \
cppu \
cppuhelper \
subsequenttest \
test \
))
+2 -13
View File
@@ -81,22 +81,11 @@ void test::AccessibleTestBase::loadFromSrc(const rtl::OUString& sSrcPath)
load(m_directories.getURLFromSrc(sSrcPath));
}
uno::Reference<accessibility::XAccessible> test::AccessibleTestBase::getWindowAccessible()
rtl::Reference<comphelper::OAccessible> test::AccessibleTestBase::getWindowAccessible()
{
vcl::Window* pWindow = VCLUnoHelper::GetWindow(mxWindow);
assert(pWindow);
css::uno::Reference<css::accessibility::XAccessible> xAccessible = pWindow->GetAccessible();
return xAccessible;
}
uno::Reference<accessibility::XAccessibleContext>
test::AccessibleTestBase::getWindowAccessibleContext()
{
css::uno::Reference<css::accessibility::XAccessible> xAccessible = getWindowAccessible();
assert(xAccessible.is());
return xAccessible->getAccessibleContext();
return pWindow->GetAccessible();
}
bool test::AccessibleTestBase::isDocumentRole(const sal_Int16 role)
@@ -69,7 +69,7 @@ public:
uno::Reference<accessibility::XAccessibleContext> AccessibleStatusBarTest::getTestObject()
{
uno::Reference<accessibility::XAccessibleContext> xWinContext = getWindowAccessibleContext();
uno::Reference<accessibility::XAccessibleContext> xWinContext = getWindowAccessible();
std::cout << "got accessible: " << xWinContext << std::endl;
std::cout << "accessible name: " << AccessibilityTools::debugString(xWinContext) << std::endl;
+2
View File
@@ -38,7 +38,9 @@ $(eval $(call gb_CppunitTest_add_libs,vcl_gtk3_a11y,\
$(eval $(call gb_CppunitTest_use_libraries,vcl_gtk3_a11y, \
sal \
comphelper \
cppu \
cppuhelper \
subsequenttest \
test \
i18nlangtag \
+3 -3
View File
@@ -477,10 +477,10 @@ CPPUNIT_TEST_FIXTURE(Atspi2TestTree, Test1)
accessibility::AccessibleRelationType_CONTENT_FLOWS_TO));
// END HACK
auto xContext = getWindowAccessibleContext();
CPPUNIT_ASSERT(xContext.is());
rtl::Reference<comphelper::OAccessible> pAccessible = getWindowAccessible();
CPPUNIT_ASSERT(pAccessible.is());
//~ dumpA11YTree(xContext);
//~ dumpA11YTree(pAccessible);
// get the window manager frame
auto xAtspiWindow = getDescendentAtPath(m_pAtspiApp, 0, ATSPI_ROLE_FRAME);