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

Reply via email to