Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8088387

[Accessibility, Mac] Modena apps does not respond to VoiceOver

    Details

      Description

      The first page in the Modena app has a panel with a very large list of controls, running voice over is tabbing to this panel causes VoiceOver to reply 'java busy' continuously.

      What is happening is that VoiceOver is asking for the children for the panel, but the process of computing this list requires to traverse all the direct children and replace the ignored one by its decedents. See
      https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Accessibility/cocoaAXManipulateHierarchy/cocoaAXManipulateHier.html#//apple_ref/doc/uid/20001064-BCIGJBCF

      This creates, for the panel in case, a list with over 800 elements.
      I tried.

      * Using accessibilityArrayAttributeCount and accessibilityArrayAttributeValues to access the children array, but these were not send by the OS.

      * Use NSAccessibilityVisibleChildrenAttribute, again not used by the OS.

      * Save (cache) the children array (the java long[] that is), no visible performance improvement.

      * Save the NSArray, to avoid the long[] to NSArray in native code, no visible performance improvement.

      So it seems the problem is not generating the children array but the time VoiceOver spends traversing the list poking each child.

      See also: http://lists.apple.com/archives/accessibility-dev/2014/Jun/msg00011.html


        Attachments

          Activity

            People

            • Assignee:
              ptbrunet Pete Brunet (Inactive)
              Reporter:
              fheidric Felipe Heidrich (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Imported: