RFR: 8286204: [Accessibility, macOS, VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS [v2]
Harshitha Onkar
honkar at openjdk.org
Fri Feb 28 18:38:57 UTC 2025
On Fri, 28 Feb 2025 12:37:35 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:
>> VoiceOver is unable to announce the correct value for spinner. For JSpinner with maximum value of more than 10, VO announce 10 as 1, 20 as 2 and so on. Probable reason is the "ACCESSIBLE_TEXT_PROPERTY" fired by accessible JTextComponent that leads to wrong range value invoked for accessibility API by VO.
>> Workaround fix is to ensure "ACCESSIBLE_TEXT_PROPOERTY" is not fired in case of JSpinner with numeric values.
>>
>> Since the fix is in Java Component, verified fix with JAWS on windows. I don't see any side effects in announcement.
>> Manual test case is added to verify the fix.
>>
>> CI pipeline testing is ok for the proposed fix.
>
> Abhishek Kumar has updated the pull request incrementally with three additional commits since the last revision:
>
> - space fix
> - whitespace fix
> - Copyright year update and manual test case added
Tested the fix on macOS 15.3.1. The fix works intermittently for me. It announces percentage most of the time and then suddenly just a number.
test/jdk/javax/accessibility/TestJSpinnerAccessibility.java line 50:
> 48: Follow these steps to test the behaviour:
> 49:
> 50: 1. Start the VoiceOver (Press Commaand + F5) application
Suggestion:
1. Start the VoiceOver (Press Command + F5) application
-------------
PR Review: https://git.openjdk.org/jdk/pull/23841#pullrequestreview-2651526126
PR Review Comment: https://git.openjdk.org/jdk/pull/23841#discussion_r1975862607
More information about the client-libs-dev
mailing list