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

Android A11Y TalkBack: Item not detected if toggled by loader

    XMLWordPrintable

    Details

    • Platform/s:
      Android
    • Story Points:
      21
    • Sprint:
      Team One Foundation Sprint 51

      Description

      Context

      Items on Android Phone with TalkBack activated should be shown as dedicated elements a blind person can navigate through. It has to fulfill requirements of WCAG 2.0 / WCAG2ICT

      Expectations

      • Item can be shown/hidden by loaders and be supported by Talkback
      • After clicking the button, a swipe to the right should focus "Button 2".

      Observation

      Items loaded dynamically are not always found by Talkback. After clicking "Button 1", a swipe to the right tells: "No next control". A swipe to the left tells "No previous control".

       Code

      import QtQuick 2.15
      import QtQuick.Window 2.15
      import QtQuick.Controls 2.15
      
      Window {
          visible: true
      
          Loader {
              id: loader1
              sourceComponent: Component {
                  Button {
                      text: "Button 1"
                      Accessible.onPressAction: () => loader1.active = !loader1.active
                  }
              }
          }
      
          Loader {
              id: loader2
              active: !loader1.active
              sourceComponent: Component {
                  Button {
                      text: "Button 2"
                      Accessible.onPressAction: () => loader1.active = !loader1.active
                  }
              }
          }
      }
      

       Output

      Output after opening the app, focus button and "click" on it via Android TalkBack.

      W Qt A11Y : Could not (yet) activate platform accessibility.
      W Qt A11Y : AccessibilityNodeInfo with empty contentDescription: -2147483647
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      W Qt A11Y : AccessibilityEvent with empty description
      W Qt A11Y : Accessibility: populateNode for Invalid ID
      I chatty  : uid=10281(org.qtproject.example.A11Y) identical 66 lines
      W Qt A11Y : Accessibility: populateNode for Invalid ID

        Attachments

        1. accessibilityIssueListView.zip
          3 kB
          Tuukka Kettunen
        2. IMG_4756.MOV
          9.30 MB
          Michael Piendl
        3. IMG_4758.MOV
          5.32 MB
          Michael Piendl

          Issue Links

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

            Activity

              People

              Assignee:
              ivan.solovev Ivan Solovev
              Reporter:
              michl86 Michael Piendl
              PM Owner:
              Vladimir Minenko Vladimir Minenko
              RnD Owner:
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes