RFR: 8361283: [Accessibility, macOS, VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS
Abhishek Kumar
abhiscxk at openjdk.org
Wed Jul 2 15:11:24 UTC 2025
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.
-------------
Commit messages:
- Tab item announcement fix
Changes: https://git.openjdk.org/jdk/pull/26096/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26096&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8361283
Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/26096.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26096/head:pull/26096
PR: https://git.openjdk.org/jdk/pull/26096
More information about the client-libs-dev
mailing list