RFR: 8286204: [Accessibility, macOS, VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS [v3]
Abhishek Kumar
abhiscxk at openjdk.org
Tue Mar 4 05:29:59 UTC 2025
On Mon, 3 Mar 2025 14:16:56 GMT, Artem Semenov <asemenov at openjdk.org> wrote:
>> Abhishek Kumar has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix pushed to mac os specific class
>
> src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java line 127:
>
>> 125: AccessibleContext thisAC = accessible.getAccessibleContext();
>> 126: Accessible parentAccessible = thisAC.getAccessibleParent();
>> 127: if (!(parentAccessible instanceof JSpinner.NumberEditor)) {
>
> Why do you need all this if the spinner has an accessible role?
> ```jdk-21.0.6+7/src/java.desktop/share/classes/javax/swing/JSpinner.java```
>
> public AccessibleRole getAccessibleRole() {
> return AccessibleRole.SPIN_BOX;
> }
>
> Also, there is already getting an a11y parent lower in the code.
Native spinner and Java spinner is not a similar UI component and the issue lies in the text component of JSpinner. I don't find any probable solution in native side implementation of spin box.
This seems a simple workaround fix for the issue right now.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23841#discussion_r1978644965
More information about the client-libs-dev
mailing list