On Tue, 8 Jul 2025 07:38:22 GMT, Abhishek Kumar <abhis...@openjdk.org> wrote:

>> Try to debug and investigate why [TabbuttonAccessibility 
>> accessibilityRoleDescription] is not being called. If you have already 
>> attempted to override it with the changes you need.
>> 
>> The logic of creating tabs in TabGroupAccessibility indicates that such an 
>> override should work.
>
> The accessible class created for a java role `pagetab` i.e. a tab component 
> is `CommonComponentAccessibility`.
> The parent for `pagetab` is `TabGroupAccessibility` and the object returned 
> from `rowRolesMapForParent`  is `null` for `TabGroupAccessibility` in 
> `getComponentAccessibilityClass` method. Since there is no entry in the 
> `rolesMap` for the `pagetab` role, the returned class is 
> `CommonComponentAccessibility`.
> So, the `accessibilityRoleDescription` API is invoked from 
> `CommonComponentAccessibility` and not from `TabButtonAccessibility`.

Thank you for the reference! However, I would like to advise you to thoroughly 
examine the code of TabGroupAccessibility. This is because it has its own 
implementations for creating child components.

Therefore, I am once again asking you to try to investigate the situation in 
more detail. There is a possibility that the mechanism is broken, and 
TabGroupAccessibility is not being created or used at all, which is incorrect.

Additionally, all objects in the hierarchy of native objects inherit from 
CommonComponentAccessibility in one way or another. If the 
accessibilityRoleDescription selector is not defined in TabGroupAccessibility, 
it may not be called.

I don’t have a Mac at hand right now; otherwise, I would debug this case myself 
and provide more detailed assistance.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26096#discussion_r2191835850

Reply via email to