RFR: 8361283: [Accessibility, macOS, VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS [v2]
Abhishek Kumar
abhiscxk at openjdk.org
Mon Jul 14 08:36:58 UTC 2025
On Sat, 12 Jul 2025 11:51:52 GMT, Artem Semenov <asemenov at openjdk.org> wrote:
>> TabButtonAccessibility is initialized in TabGroupAccessibility but since TabButtonAccessibility is not exposed to accessible system (i.e. not createdwithaccessible) and hence a11y subsystem in unable to invoke the method.
>>
>>> TabGroupAccessibility is not being created or used at all, which is incorrect.
>>
>> TabGroupAccessibility does get created and the APIs are invoked by a11y subsystem. Once the accessibilityRoleDescription selector is defined in TabGroupAccessibility, it gets called but only when the self javarole is `pagetablist`.
>>
>> After adding an entry for TabButtonAccessibility in rolesMap`[rolesMap setObject:@"TabButtonAccessibility" forKey:@"pagetab"]`, creates an accessible component for TabButtonAccessibility instead of CommonComponentAccessibility and is exposed to get invoked by a11y client. Then accessibilityRoleDescription API is invoked by a11y client.
>>
>> But I am yet to find if there is any repercussion of adding the entry for TabButtonAccessibility.
>
> Do not forget to increment [rolesMap capacity] before adding a role.
Moved the role description code to TabButtonAccessibility file.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26096#discussion_r2204216487
More information about the client-libs-dev
mailing list