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