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

a11y: Missing NameChanged event for updated window title

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.8
    • None
    • Debian testing, qtbase self-compiled from dev branch as of commit d77a38f2aab5f4e6cd3f5ce41d9faee9294d5788
    • Linux/Wayland, Linux/X11

    Description

      If no explicit accessible name for a window is set, Qt reports the window title as the accessible name of the window.

      However, when changing the window title, no QAccessible::NameChanged is sent, so assistive technology is not notified of the change, and e.g. on Linux, the AT-SPI cache is not updated accordingly, resulting in the obsolete window title still being used.

       

      Steps to reproduce:

      (s.a. attached screencast)

      1) compile and run attached sample program main.cpp

      2) start Accerciser ( https://gitlab.gnome.org/GNOME/accerciser ) and expand the tree of the sample application

      3) press the button in the sample application that results in both, the button text and the window title getting updated

      4) check the accessible name shown in Accerciser for both, the button and the window

      Actual result:

      For the window, the accessible name shown in Accerciser is still "Initial window title" even though the window title was updated.

      Expected result:

      The new window title "New title" should be displayed as the accessible name for the window in Accerciser, just as the new button text "new button text" is shown as the new accessible name for the button.

       

      Further information:

      Using the IPython console in Accerciser, it can be seen that the AT-SPI cache still contains the obsolete accessible name for the window, but the correct value is returned after explicitly clearing the cache:

      In [1]: acc.name
      Out[1]: 'Initial window title'
      In [2]: acc.clearCache()
      In [3]: acc.name
      Out[3]: 'New title'
      

      Monitoring the events sent on the AT-SPI level, it becomes clear that an object:property-change:accessible-name event is missing, as only one for the button gets sent, but not for the window:

      82.7 object:property-change:accessible-name(0, 0, new button text)
          source: [push button | new button text]
          application: [application | sample-windowtitle] 
      

      Attachments

        For Gerrit Dashboard: QTBUG-124192
        # Subject Branch Project Status CR V

        Activity

          People

            smd Jan Arve
            michaelweghorn Michael Weghorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change