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]
Goetz Lindenmaier
goetz at openjdk.org
Mon Mar 24 15:49:31 UTC 2025
On Tue, 4 Mar 2025 05:32:30 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:
>>> > > 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.
>>> >
>>> >
>>> > Hello. Was this problem observed on Windows before your changes?
>>>
>>> No, this issue observed only on macOS.
>>
>> Then try to modify the solution so that it also affects only macOS…
>> Try to debug the native implementation of NSAccessibilityElements… The error might be somewhere there.
>
>> Try to debug the native implementation of NSAccessibilityElements… The error might be somewhere there.
>
> I posted my analysis in JBS and root caused the issue in a11y `(NSString *)accessibilityStringForRange:(NSRange)range` API in `NavigableTextAccessibility.m` implementation for `Text Component` but the range value invoked by system seems wrong.
>
> So, this is a workaround fix for the issue.
Hi @kumarabhi006
I ran this test when trying to backport it to 21/17.
I get unexpected readings when I use the up/down arrows.
* Sometimes it says the right percentages
* Sometimes it says correct numbers
* Sometimes it says arbitrary numbers (it says "11" when I step from 14 to 15).
I tried it with my backport for 21, but also with 24 and head. They all show similar behavior.
But I'm not experienced with using VoiceOver, did I use it wrongly?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23841#issuecomment-2748585706
More information about the client-libs-dev
mailing list