> VoiceOver announce incorrect number of child for a submenu of JPopupMenu when 
> it is visible for the first time only. After that VO is able to announce the 
> number of items correctly.
> 
> Issue: Problem is with the a11y subsystem method call to get the accessible 
> children details.
> 
> Analysis: When the Submenu of a JPopupMenu is opened, accessible component of 
> PopupMenu is created dynamically in the native side implementation and 
> `PostMenuOpened` notification is sent to the a11y subsystem for the newly 
> created PopupMenu. Once the notification is sent to a11y sub-system, it 
> invokes the `accessibilityChildren` method to get the children details for 
> the menu component. A11y subsystem always retrieve the information of the 
> root level PopupMenu irrespective of the submenu's PopupMenu (PopupMenu is 
> associated with each JMenu) and thus announce the root level PopupMenu child 
> count which is incorrect.
> 
> Proposed Fix: Proposed fix is to ensure the correct child details are sent 
> back to a11y sub-system for correct announcement. So, whenever the 
> `accessibilityChildren` method is invoked, first try to find out the current 
> accessible PopupMenu which is opened for the Submenu and then return the 
> child details.
> 
> Testing : Manual test case is attached to verify the fix and there is no 
> failure with fix in CI pipeline.
> 
> `Current fix also ensures the correct child counts are announced for the 
> JMenu's Submenu which are present in the JMenubar.`
> 
> **Note :** While verifying the fix, a new issue is unearthed for multi-level 
> submenu where VO is failed to announce the Submenu's text. Since the issue 
> exists without the proposed fix too, it shall be treated as a new bug finding 
> and will raise a separate JBS issue.

Abhishek Kumar has updated the pull request incrementally with one additional 
commit since the last revision:

  Minor update

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/25470/files
  - new: https://git.openjdk.org/jdk/pull/25470/files/a225bf4b..6cebdff4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25470&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25470&range=00-01

  Stats: 4 lines in 1 file changed: 2 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/25470.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25470/head:pull/25470

PR: https://git.openjdk.org/jdk/pull/25470

Reply via email to