On Mon, 9 Feb 2026 08:35:13 GMT, Jeremy Wood <[email protected]> wrote:
> This PR prevents VoiceOver from letting me navigate the VoiceOver cursor to > hidden components. > > ### Technical Details > > VoiceOver is responsible for a call to > `CAccessibility.getChildrenAndRoles(JFrame, JFrame, JAVA_AX_ALL_CHILDREN, > false)`. > > That last boolean is `allowIgnored`. > > When `allowedIgnored == false` we already omitted certain components based on > their AccessibleRole. This PR expands our definition of "what should be > ignored" to include invisible Components. > > ### Other Considerations > > 1. Originally I thought the resolution to this problem would be to change > JAVA_AX_ALL_CHILDREN to JAVA_AX_VISIBLE_CHILDREN . And maybe that's still a > viable option, but after some research I've come to believe it's > simpler/appropriate to change our definition of "ignored". > 2. NSViews have a separate property `isHidden`. Another approach to this > ticket might be to try to assign `myNSView.isHidden = > !myJavaComponent.isVisible()`. Some reading suggests that this might (?) > automatically resolve this ticket. This pull request has now been integrated. Changeset: ef0851d8 Author: Jeremy Wood <[email protected]> Committer: Sergey Bylokhov <[email protected]> URL: https://git.openjdk.org/jdk/commit/ef0851d8adbb834e1cd5aff5b3b973b953e57e2d Stats: 175 lines in 2 files changed: 167 ins; 0 del; 8 mod 8377428: VoiceOver Cursor Navigates Invisible Components Reviewed-by: serb, kizune ------------- PR: https://git.openjdk.org/jdk/pull/29630
