Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.15.4, 6.2.4, 6.5
-
None
-
Debian testing, qtbase built from dev branch as of commit fa4db87706c39c62b94017a724159c55ecc0053f
-
-
7594e8ca4d (qt/qtbase/dev) 7594e8ca4d (qt/tqtc-qtbase/dev) 4864251636 (qt/qtbase/6.3) 4864251636 (qt/tqtc-qtbase/6.3) f43e0f44c3 (qt/tqtc-qtbase/6.2) 37045f8efc (qt/qtbase/6.4) 37045f8efc (qt/tqtc-qtbase/6.4)
Description
Curently, Qt returns the result of the "GetCaption" method of the AT-SPI table interface in an incorrect D-Bus type, which means it can't be processed properly by AT (assistive technology).
Sample steps to reproduce, with qtbase dev branch as of commit fa4db87706c39c62b94017a724159c55ecc0053f follow.
Steps to reproduce:
- build and run the "tabdialog" example from qtbase:
$ qtbase/examples/widgets/dialogs/tabdialog/tabdialog
- run the attached sample pyatspi script that finds an object with AT-SPI table role and calls the "GetCaption" method on it.
Alternative:
- build and run the sample program as mentioned above
- start Accerciser ( https://gitlab.gnome.org/GNOME/accerciser ) from a terminal (to see the output)
- in Accerciser, navigate to the a11y object for the QListWidget in the "Applications" tab of the sample application.
(QListWidget implements QAccessibleTableInterface, which maps to AT-SPI's table interface, and Accerciser automatically queries the attributes when the object is clicked.)
Actual result:
The script (or Accerciser, for the alternative) print something like this on stderr:
(accerciser:181933): dbind-WARNING **: 11:50:36.394: atspi_dbus_get_property: expected a variant when fetching Caption from interface org.a11y.atspi.Table; got (so)
Expected result:
No warning due to incorrect types should appear in the output of the script/Accerciser.