Stop using the XServiceInfo UNO interface to
retrieve the service implementation name just
to print it.
The fact that the a11y implementation of a
button currently implements that interface
is an implementation detail and will no longer
be true after upcoming commit
Change-Id: Ib008df81a22a23239be369605b790c86a92c743d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Sep 2 10:12:08 2026 +0200
vcl a11y: Stop declaring support for AccessibleContext service
Printing the implementation name isn't any
crucial part of the test anyway. The a11y
name is still printed as before.
Change-Id: I030f0ad60e1e159e116ff1af16a692eaea99e66b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210421
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Those Java a11y/UNO tests have been disabled since
commit d3d4b6789d
Author: sb <sb@openoffice.org>
Date: Mon Apr 19 17:00:47 2010 +0200
sb120: #i110988# disable failing tests for now
The test can still be seen failing e.g. by enabling the
first one locally again and then running
`make JunitTest_svtools_unoapi`.
Drop the broken tests altogether.
If there should be a relevant tests again in the future,
writing new (presumably C++, see [1]) ones from scratch seems more
promising than having to deal with these outdated and disabled
tests.
Dropping them also prepares for an upcoming a11y change
that would break even more assumptions that the tests make.
[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests
Change-Id: I919a9908cc39d5cfefb6368433ed0e2bbe16cc78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210359
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
That Java a11y/UNO test has been disabled since
commit 553eedabbc
Author: Vladimir Glazounov <vg@openoffice.org>
Date: Tue Oct 23 08:46:59 2007 +0000
INTEGRATION: CWS unoapi1 (1.3.508); FILE MERGED
2007/08/15 13:44:01 cn 1.3.508.1: #i79479# update files
The test can still be seen failing by enabling it locally
like this
diff --git a/dbaccess/qa/unoapi/dbaccess.sce b/dbaccess/qa/unoapi/dbaccess.sce
index 13fa966abe1a..cc67e49a98a9 100644
--- a/dbaccess/qa/unoapi/dbaccess.sce
+++ b/dbaccess/qa/unoapi/dbaccess.sce
@@ -29,4 +29,4 @@
-o dbaccess.OSQLMessageDialog
-o dbaccess.OSingleSelectQueryComposer
#i95611 -o dbaccess.SbaXGridControl
-#i84128 -o dbaccess.TableWindowAccessibility
+-o dbaccess.TableWindowAccessibility
and then running `make JunitTest_dbaccess_unoapi`.
Drop the broken test altogether.
If there should be a relevant test again in the future,
writing a new (presumably C++, see [1]) one from scratch seems more
promising than having to deal with this outdated and disabled
test.
Dropping it also prepares for an upcoming dbaccess a11y change
that would break even more assumptions that the test makes.
[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests
Change-Id: I540668d84a867e2c051f6c327a0b9c62e594db1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210358
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.awt.AccessibleComboBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
In addition, VCLXAccessibleListBox::getSupportedServiceNames
was actually reporting a different service name:
"com.sun.star.accessibility.AccessibleComboBox"" instead of
"com.sun.star.awt.AccessibleComboBox".
Change-Id: I5b53dae6c6546ad9f8f641a64970389d308bc219
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210353
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
That Java a11y test has been disabled since
commit d595547fa6
Author: Vladimir Glazounov <vg@openoffice.org>
Date: Tue Oct 23 08:38:02 2007 +0000
INTEGRATION: CWS unoapi1 (1.2.440); FILE MERGED
2007/10/15 15:04:34 cn 1.2.440.3: #i79479# update Lists
2007/10/15 09:27:54 cn 1.2.440.2: #i79479# update Lists
2007/08/24 15:17:25 cn 1.2.440.1: #i79479# updateLists
. As the comment in qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
says, it would try to run the hyperlink dialog and then
find various widgets using the a11y API. However, assumptions
that the test has do not match what widgets and corresponding
a11y implementations would be relevant for that dialog
today.
The test can be seen failing by enabling it locally
like this
--- a/toolkit/qa/unoapi/toolkit_1.sce
+++ b/toolkit/qa/unoapi/toolkit_1.sce
@@ -21,7 +21,7 @@
#i86008 -o toolkit.AccessibleComboBox
-o toolkit.AccessibleDropDownComboBox
#i86110 -o toolkit.AccessibleEdit
-#i86110 -o toolkit.AccessibleList
+-o toolkit.AccessibleList
#i86110 -o toolkit.AccessibleListItem
-o toolkit.AccessibleMenu
-o toolkit.AccessibleMenuBar
and then running `make JunitTest_toolkit_unoapi_1`.
Just drop the test altogether.
If there should be a relevant test again in the future,
writing a new (C++, see [1]) one from scratch seems more
promising than having to deal with this outdated and disabled
test.
Dropping it also prepares for more upcoming vcl a11y changes
that would break even more assumptions that the test makes.
This commit is similar to the previous
Change-Id: Idbd01f92c78cd78005b306114c53f9946fa4d35f
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Sep 1 16:28:30 2026 +0200
a11y tests: Drop obsolete, long disabled AccessibleListBox Java test
, but now for the AccessibleList test.
[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests
Change-Id: I1e0469f8f265d564cdcaf81aa1bdc8e718e49a26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210349
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
That Java a11y test has been disabled since
commit d595547fa6
Author: Vladimir Glazounov <vg@openoffice.org>
Date: Tue Oct 23 08:38:02 2007 +0000
INTEGRATION: CWS unoapi1 (1.2.440); FILE MERGED
2007/10/15 15:04:34 cn 1.2.440.3: #i79479# update Lists
2007/10/15 09:27:54 cn 1.2.440.2: #i79479# update Lists
2007/08/24 15:17:25 cn 1.2.440.1: #i79479# updateLists
. As the comment in qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
says, it would try to run the hyperlink dialog and then
find various widgets using the a11y API. However, assumptions
that the test has do not match what widgets and corresponding
a11y implementations would be relevant for that dialog
today.
The test can be seen failing by enabling it locally
like this
--- a/toolkit/qa/unoapi/toolkit_1.sce
+++ b/toolkit/qa/unoapi/toolkit_1.sce
@@ -22,7 +22,7 @@
-o toolkit.AccessibleDropDownComboBox
#i86110 -o toolkit.AccessibleEdit
#i86110 -o toolkit.AccessibleList
-#i86110 -o toolkit.AccessibleListBox
+-o toolkit.AccessibleListBox
#i86110 -o toolkit.AccessibleListItem
-o toolkit.AccessibleMenu
-o toolkit.AccessibleMenuBar
and then running `make JunitTest_toolkit_unoapi_1`.
Just drop the test altogether.
If there should be a relevant test again in the future,
writing a new (C++, see [1]) one from scratch seems more
promising than having to deal with this outdated and disabled
test.
Dropping it also prepares for more upcoming vcl a11y changes
that would break even more assumptions that the test makes.
[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests
Change-Id: Idbd01f92c78cd78005b306114c53f9946fa4d35f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210348
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.awt.AccessibleScrollBar"
because it's unnecessary. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Also drop VCLXAccessibleScrollBar::getImplementationName
as there is no need to report a different implementation name
than the base class implementation.
The only place that would use the implementation name is
for a special handling in the _XAccessibleValue Java
unit test logic, but that one is apparently not/no more
necessary as the a11y tests pass just fine without the special
handling. Therefore, drop that, too.
Change-Id: Idbbb77740085d349afa394fb1eec1c5a5eb6809b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210328
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
`git grep ValueNotPersistent` makes clear that this is
never set anywhere, so drop evaluating it.
See also
commit fcb9e950fb
Date: Thu Aug 20 13:18:06 2020 +0200
Fix typo in code
which changed the string used in a single place only,
without any effect on CI test results.
Change-Id: Ie978392158ca51a3a967e0dc66822a9518178327
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210327
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
The comment was documenting the earlier implementation,
but is no longer accurate/up to date after that was
changed in
commit f708e783ca
Author: Rüdiger Timm <rt@openoffice.org>
Date: Mon Sep 8 12:01:00 2003 +0000
INTEGRATION: CWS qadev11 (1.3.14); FILE MERGED
2003/09/03 15:29:47 sw 1.3.14.1: #112049#
. Adjust the comment/doc accordingly.
Change-Id: I7bd4c9f97fa1e6013e0f2be933fac1c87b9e1a2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210024
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
JunitTest_svtools_unoapi's svtools.AccessibleTabBar failed its
XAccessibleComponent check:
> LOG> Checking child with bounds (0,35),(754,0): 40,():
> LOG> StateType containsPoint SHOWING: true
> LOG> finding the point which lies on the component
> LOG> Child found at point (377,35) - OK
> LOG> The children found is not the same
> LOG> Expected:
> LOG> Found:
> LOG> (xAccCh==null: false; expIndex: 3; gotIndex: 0)
> LOG> ... FAILED
The tested object is the first PANEL of a Calc window, which has an empty
SfxInfoBarContainerWindow child: a shown, zero-height accessible at
(0,35),(754,0) overlapping the document panel below it. The test picks each
child's centre and expects getAccessibleAtPoint there to return that child, but
a zero-area child contains no point, so the probe at (377,35) returns the
overlapping document panel (index 0) instead of the container (index 3).
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I3f9b6378c036e26b4ec4c30ee65bc7cd0dba6ac2
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4177
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 9a1c9dc5c46632a858a74930f3432c0f6d76027b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206432
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Adjust the AccessibleDropDownComboBox Java a11y
test to not rely on the object implementing
the logic to report a service name containing
"AccessibleDropDownComboBox".
The fact that VCLXAccessibleDropDownComboBox
currently does so is an implementation detail
that will change in an upcoming commit.
Change-Id: Ife12f14cb48b039379ddca2d9c32eedbfdefefcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200967
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
With upcoming
Change-Id: I2b75ccd3eed57f276feab303d63038299ceb90d7
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Jun 25 12:51:52 2025 +0200
sw a11y: Let SwAccessibleContext subclass OAccessible
, the SwAccessibleTextGraphicObject java a11y test
was seen failing when running the JunitTest_sw_unoapi_1
test suite as can be seen in the CI log [1] (relevant part
below).
This is because with the above-mentioned commit in place,
the XAccessible::getAccessibleContext implementation
for SwAccessibleContext and subclasses throws a
DisposedException if the object has already been disposed,
while that was not the case previously.
That seems fair, however. The problem in the
SwAccessibleTextGraphicObject test is that the
XAccessibleEventListener tests resulted in the
object getting disposed, and the already disposed
object would then be used in the following test of the
XAccessible interface.
Stop changing view zoom settings to trigger accessible
events, which was the trigger for disposing the object,
as Writer only exposes objects visible on screen as part
of its a11y hierarchy.
Backtrace of how the object was previously disposed:
1 comphelper::OAccessible::disposing OAccessible.cxx 55 0x7ff4676d54d1
2 cppu::WeakComponentImplHelperBase::dispose implbase.cxx 104 0x7ff46713dbf0
3 cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::dispose compbase.hxx 90 0x7ff43608ccd5
4 SwAccessibleContext::Dispose acccontext.cxx 956 0x7ff43609a284
5 SwAccessibleFrameBase::Dispose accframebase.cxx 230 0x7ff4360b40a3
6 SwAccessibleNoTextFrame::Dispose accnotextframe.cxx 128 0x7ff436111b23
7 SwAccessibleContext::ScrolledOut acccontext.cxx 311 0x7ff436095972
8 SwAccessibleContext::ChildrenScrolled acccontext.cxx 169 0x7ff43609508b
9 SwAccessibleContext::ChildrenScrolled acccontext.cxx 228 0x7ff43609540d
10 SwAccessibleContext::Scrolled acccontext.cxx 237 0x7ff4360954fb
11 SwAccessibleDocumentBase::SetVisArea accdoc.cxx 88 0x7ff4360a326a
12 SwAccessibleMap::GetDocumentView_ accmap.cxx 1638 0x7ff4360c9762
13 SwAccessibleMap::GetDocumentView accmap.cxx 1646 0x7ff4360ca24b
14 SwViewShellImp::UpdateAccessible viewimp.cxx 369 0x7ff437315e08
15 SwViewShell::VisPortChgd viewsh.cxx 1466 0x7ff4373224fd
16 SwCursorShell::VisPortChgd crsrsh.cxx 1850 0x7ff43626b931
17 SwView::SetVisArea viewport.cxx 249 0x7ff437a8f5ab
18 SwView::CalcVisArea viewport.cxx 818 0x7ff437a92efa
19 SwView::SetZoom_ viewmdi.cxx 205 0x7ff437a8bcaa
20 SwView::SetZoom viewmdi.cxx 74 0x7ff437a8ac70
21 SwXViewSettings::_postSetValues unomod.cxx 765 0x7ff437afe542
22 comphelper::ChainablePropertySet::setPropertyValue ChainablePropertySet.cxx 66 0x7ff46780a6fe
23 gcc3::callVirtualMethod callvirtualmethod.cxx 87 0x7ff4578ee2cd
24 cpp_call uno2cpp.cxx 229 0x7ff4578ed03b
25 unoInterfaceProxyDispatch uno2cpp.cxx 409 0x7ff4578ec806
26 binaryurp::IncomingRequest::execute_throw incomingrequest.cxx 236 0x7ff456cd0a9c
27 binaryurp::IncomingRequest::execute incomingrequest.cxx 79 0x7ff456ccf060
28 request reader.cxx 86 0x7ff456cf9ae3
29 cppu_threadpool::JobQueue::enter jobqueue.cxx 100 0x7ff46897e96e
30 cppu_threadpool::ORequestThread::run thread.cxx 165 0x7ff46898585c
31 threadFunc thread.hxx 189 0x7ff468989d3e
32 osl_thread_start_Impl thread.cxx 237 0x7ff4694774ab
33 start_thread pthread_create.c 448 0x7ff468e9cb7b
34 clone clone.S 100 0x7ff468f1a5f0
Instead, change the graphic object's title/name to
trigger an AccessibleEventId::NameChanged event instead,
see the SfxHintId::SwTitleChanged case in AccessibleNoTextFrame::Notify.
Relevant part of output for failed test without this
change in place:
***************************************************
Creating: sw.SwAccessibleTextGraphicObject
LOG> Log started 26.05.2025 - 01:14:13
LOG> creating a text document
LOG> inserting graphic
LOG> ImplementationName Unknown, does not implement XServiceInfo
Environment created
LOG> Log started 26.05.2025 - 01:14:14
checking: [sw.SwAccessibleTextGraphicObject::com::sun::star::accessibility::XAccessibleEventBroadcaster] is iface: [com.sun.star.accessibility.XAccessibleEventBroadcaster] testcode: [ifc.accessibility._XAccessibleEventBroadcaster]
LOG> Execute: addEventListener()
LOG> adding listener
LOG> fire event
LOG> Listener, Event : 10
EventID: 10
LOG> Listener, Event : 10
EventID: 10
LOG> Listener, Event : 10
EventID: 10
LOG> Listener, Event : 4
EventID: 4
Method addEventListener() finished with state OK
LOG> addEventListener(): COMPLETED.OK
LOG> Execute: removeEventListener()
LOG> starting required method: addEventListener()
LOG> remove listener
LOG> fire event
LOG> listener wasn't called -- OK
Method removeEventListener() finished with state OK
LOG> removeEventListener(): COMPLETED.OK
***** State for sw.SwAccessibleTextGraphicObject::com::sun::star::accessibility::XAccessibleEventBroadcaster ******
Whole interface: COMPLETED.OK
*******************************************************************************************************************
LOG> Log started 26.05.2025 - 01:14:14
checking: [sw.SwAccessibleTextGraphicObject::com::sun::star::accessibility::XAccessible] is iface: [com.sun.star.accessibility.XAccessible] testcode: [ifc.accessibility._XAccessible]
LOG> Execute: getAccessibleContext()
com.sun.star.lang.DisposedException: at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/comphelper/source/misc/OAccessible.cxx:140
at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:158)
at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:122)
at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:312)
at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:281)
at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:81)
at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:619)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:145)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:129)
at jdk.proxy2/jdk.proxy2.$Proxy39.getAccessibleContext(Unknown Source)
at ifc.accessibility._XAccessible._getAccessibleContext(_XAccessible.java:44)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at lib.MultiMethodTest.invokeTestMethod(MultiMethodTest.java:386)
at lib.MultiMethodTest.callMethod(MultiMethodTest.java:364)
at lib.MultiMethodTest.executeMethod(MultiMethodTest.java:352)
at lib.MultiMethodTest.run(MultiMethodTest.java:216)
at base.java_fat.executeInterfaceTest(java_fat.java:445)
at base.java_fat.executeTest(java_fat.java:185)
at org.openoffice.Runner.run(Runner.java:175)
at org.openoffice.test.UnoApiTest.test(UnoApiTest.java:41)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
LOG> getAccessibleContext(): at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/comphelper/source/misc/OAccessible.cxx:140.FAILED
***** State for sw.SwAccessibleTextGraphicObject::com::sun::star::accessibility::XAccessible ******
[sw.SwAccessibleTextGraphicObject::com::sun::star::accessibility::XAccessible::getAccessibleContext()] is testcode: [getAccessibleContext()] - at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/comphelper/source/misc/OAccessible.cxx:140.FAILED
Whole interface: COMPLETED.FAILED
[1] https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/185066/console
Change-Id: I6ed2f1c32517b60aa981de60aa4df4abc41cc0b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187036
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
In order to retrieve the XAccessible associated with
a window in AccessibilityTools.getAccessibleObject,
no longer directly query the XWindow for the XAccessible
interface, but instead (temporarily) introduce and use a
new "XAccessible" property for the deprecated XVclWindowPeer
interface (which "gives access to the VCL window implementation")
in VCLXWindow to get the XAccessible for the underlying
vcl::Window.
This ensures this will continue to work when the VCLXWindow
no longer is the accessible for its associated vcl::Window,
s. upcoming commit
Change-Id: I25de1ab0f8b47b12346abd01bad05cb54fb75f52
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon May 26 09:45:11 2025 +0200
vcl a11y: Let vcl::Window create accessible directly, drop a11y factory
Once all Java a11y tests have been ported to C++, this
property will no longer be needed, because direct access to
the vcl::Window will be possible then, see e.g.
commit d3262b72f6
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon May 26 09:23:29 2025 +0200
a11y tests: Don't rely on XWindow being window's XAccessible
, but Java tests rely on the information being available
somehow via UNO API.
Change-Id: Id96a2104d87c998b0bdcbce36451499484d81272
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186680
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Port this Java a11y test to C++.
This mostly ports the existing logic from
Java to C++ and switches to the existing
helpers for testing the XAccessible* interfaces.
Change-Id: Ib39b2d301b98896a5ce29cd90c56c0d97e8cb892
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186679
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
If creating the dialog fails, the rest of the
test won't be useful, so rather fail early in
that case.
Change-Id: I29093a91827ee69dea443ce8564cc3e70a1087dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186635
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The Toolkit instance assigned to `oObj` was never used.
Stop creating it. Use the more specific
XAccessibleContext type for the variable now that
its only assigned a value of that type, and rename it.
Change-Id: Id6b6002941ad70aabb2117bf3253ef1175c73d8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186634
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Now after
Change-Id: I9636c920ad44213d58b3848c2d85eb7c9af45e6e
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Jun 17 14:53:23 2025 +0200
java a11y test: Avoid detour to get XAccessibleContext
, all callers of AccessibilityTools.getAccessibleObject
pass an XWindow param, so switch the param to that type
instead of the more generic XInterface.
This prepares for adjusting the implementation to no longer
rely on the XWindow implementing the XAccessible interface
itself.
Change-Id: I198d29bd142ee9deaf3c8f9fa118473b622074b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186616
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
AccessibilityTools.getAccessibleObjectForRole already
returns an XAccessibleContext, so use that type directly
instead of an XInterface, and then getting access to the
same XAccessibleContext via an unnecessary detour.
Change-Id: I9636c920ad44213d58b3848c2d85eb7c9af45e6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186615
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Remove the existing Java AccessibleDropDownListBox
tests and introduce a new C++/cppunit test that
takes a bit of a different approach:
Other than
commit d2a5b4bc0b
Date: Tue Apr 26 16:56:56 2022 +0200
toolkit: convert AccessibleStatusBar test to C++
Just translate the test and add required or handy CppUnit helpers.
which basically translated the existing AccessibleStatusBar
test as is to C++/cppunit, don't do the same here,
but:
1) Move the test from toolkit to vcl, where the a11y
implementations for vcl widgets are located since
commit 9283da8585
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Dec 17 12:04:04 2024 +0100
a11y: Merge accessibility module into vcl
2) Instead of starting Writer and then searching for
the accessible object of the dropdown listbox in the
a11y tree, only create a simple dialog that contains
a dropdown listbox (VCL ListBox with WB_DROPDOWN set).
This minimizes the complexity/a11y tree to the object
of interest.
Apart from that, the general logic of what aspects are
tested is mostly unchanged, now using the C++ helpers
introduced in the above-mentioned d2a5b4bc0b
(and later commits) to test the various XAccessible* interfaces.
The XAccessibleEventBroadcaster interface is no more
explicitly tested, since the XAccessibleEventBroadcasterTester
would require an XWindow again.
However, the logic is implemented in the VCLXAccessibleComponent
subclass used by almost all widgets (vcl::Window subclasses), so
not explicitly testing it here shouldn't be a problem.
Change-Id: I61bfff515c5e9f7e2d18b9279861c09ceede403e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182986
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This method from the unpublished XAccessibleExtendedComponent
interface is not used by any of the a11y platform bridges, and
I don't know of any platform a11y API that would need it.
In order to report character/font attributes, there is the
XAccessibleText interface and its
XAccessiText::getCharacterAttributes method instead, which
actually gets used by the platform a11y bridges.
Therefore, drop this method to simplify code, and also decouple
the accessibility module a bit further from the toolkit
module without having to reorganize code further.
(VCLXFont from the toolkit module currently gets used in
various implementations.)
Change-Id: I06ea3cc5998a13927b3f869877b28f03ac07c89b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177809
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...which appears to be a better fit. Now, gb_JavaClassSet_JAVACDEBUG is
unconditionally defined as -g, but conditionally only used if
gb_target_symbols_enabled is true for the given target (where the target is
spelled "Jar/..." resp. "CustomTarget_jvmfwk/jreproperties" for the
--enable-sybmols=... mini-language in configure.ac). Also, the odd special case
to "force debug information for OOoRunner" has just been dropped.
Change-Id: Ief10efc689d65e2f50888d3e96cb40f43cbb1b2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165071
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
deprecated in 2008 (and seemingly never even implemented)
Replace the use of this property in sample code and
in Java unit tests with another property (I arbitrarily
selected "IsIgnoreControlCharacters")
Change-Id: I2cb474f895ac221952b59e98bfdbc01012095519
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164355
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>