On Thu, 29 May 2025 07:03:58 GMT, Abhishek Kumar <abhis...@openjdk.org> wrote:

>> 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:
> 
>   code optimization

Looks good.

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

Marked as reviewed by kizune (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25470#pullrequestreview-2878711796

Reply via email to