Integrated: 8361283: [Accessibility,macOS,VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS

Abhishek Kumar abhiscxk at openjdk.org
Fri Jul 18 06:15:56 UTC 2025


On Wed, 2 Jul 2025 15:05:27 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:

> **Issue** : VO doesn't announce Tab items of a JTabbedPane as RadioButton which is wrong. 
> 
> **Analysis** : That is due to the role mapping of tab items as `NSAccessibilityRadioButtonRole` in `JavaAccessibilityUtilities.m` file. Since the accessibility role description is fetched in `accessibilityRoleDescription` API if `CommonComponentAccessiblity.m` file, the sub-role passed as a parameter is `nil`, returned value is RadioButton..
> 
> **Proposed Fix** : Fix is to get the correct accessibility role description from Appkit, we should pass `NSAccessibilityTabButtonSubrole` in the subrole parameter and that returns the accessibility role as `Tab` and is announced correctly by VO.
> 
> **Testing** : Manual test case has been added to verify the fix.

This pull request has now been integrated.

Changeset: a23987fe
Author:    Abhishek Kumar <abhiscxk at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/a23987fecbddeea9828a9443dddd7bf8f9f0d05d
Stats:     95 lines in 3 files changed: 93 ins; 0 del; 2 mod

8361283: [Accessibility,macOS,VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS

Reviewed-by: asemenov, kizune

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

PR: https://git.openjdk.org/jdk/pull/26096


More information about the client-libs-dev mailing list