On Thu, 5 Nov 2026 21:52:05 GMT, Alexander Zuev <[email protected]> wrote:
>> Querying native accessibility children from accessibilityIsIgnored can cause >> AppKit to walk up the ancestor hierarchy and query the same window’s ignored >> status again, resulting in infinite recursion that causes a >> StackOverflowError. The error may go unnoticed during normal execution >> because the native code clears pending Java exceptions, while an exception >> breakpoint in a debug session exposes the StackOverflowError before it is >> cleared. >> >> The fix introduces a Java method that traverses the JavaFX accessibility >> children directly and reports whether the hierarchy contains context-menu or >> tooltip content. The native peer uses this result to determine whether the >> window should be ignored, without requesting native unignored children. >> >> The original child query also initialized descendant accessibility peers so >> that VoiceOver could discover the menu content. The replacement preserves >> this behavior by initializing every peer encountered during traversal and >> continuing through all descendants even after finding a matching role. >> >> >> >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Alexander Zuev has updated the pull request incrementally with one additional > commit since the last revision: > > Add children visibility check. looks good, thanks! @Ziad-Mid could you be the second reviewer please? ------------- Marked as reviewed by angorya (Reviewer). PR Review: https://git.openjdk.org/jfx/pull/2360#pullrequestreview-5792734566 PR Comment: https://git.openjdk.org/jfx/pull/2360#issuecomment-6670634456
