Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-132935

a11y: Qt application on Linux doesn't report accessible parent

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • 6.9.0 Beta3, 6.10.0 FF
    • 6.10.0 FF
    • None
    • Debian testing, qtbase git dev as of commit b119fee87d5579dc1c4bfc2f508b0e3a75d69fa3
    • Linux/Wayland, Linux/X11
    • befce757f (dev), bd1cb1547 (6.9)

      On Linux with AT-SPI2, applications are part of the accessibility hierarchy that has the desktop as it's root object.

      However, Qt applications currently don't report any accessible parent.

      Steps to reproduce:

      1. start any Qt application e.g. the spinboxes example (qt5/qtbase/examples/widgets/widgets/spinboxes/spinboxes)
      2. start Accerciser
      3. select the Qt application in Accerciser's tree view showing all applications registered via AT-SPI (and their hierarchy)
      4. in Accerciser's IPython console, query the parent of the application: 
        In [7]: acc.parent
        In [8]: acc.parent == None
        Out[8]: True 

      Actual result:

      No parent is reported (s. above)

      Expected result:
      The AT-SPI desktop object should be reported.

      This e.g. works just fine for GTK applications like gtk3-demo:

      In [9]: acc.parent
      Out[9]: <Atspi.Accessible object at 0x7fbebc3fc1c0 (AtspiAccessible at 0x139d6410)>
      In [10]: acc.parent.role
      Out[10]: <enum ATSPI_ROLE_DESKTOP_FRAME of type Atspi.Role> 

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            michaelweghorn Michael Weghorn
            michaelweghorn Michael Weghorn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes