[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Integrated: 8284544: [Win] Name-Property of Spinner cannot be changed
From:       Ambarish Rapte <arapte () openjdk ! org>
Date:       2023-12-05 10:42:53
Message-ID: foLtu4pbQzkotKSWUIYYnWjgrdA5laWBpWz7iOT_Xdo=.e7f544ba-a2b6-4852-a571-96ebfe4ca8b3 () github ! com
[Download RAW message or body]

On Mon, 20 Nov 2023 05:37:38 GMT, Ambarish Rapte <arapte@openjdk.org> wrote:

> Currently we use the value of spinner as it's `UIA_NamePropertyId` when a11y client \
> application requests for it. Ideally we should use the text set by \
> `Node.setAccessibleText()` as the `UIA_NamePropertyId`. For other controls such as \
> Slider, ListView we use the text set by setAccessibleText() API. 
> Fix:
> Use the text set by `Node.setAccessibleText()` as the `UIA_NamePropertyId`.
> This means, when a11y client requests `UIA_NamePropertyId`, which is mapped to \
> AccessibleAttribute.TEXT attribute,  we shall return the accessible text. So we \
>                 need another way to read out the VALUE of the Spinner.
> - For this we need to implement `IValueProvider` pattern for Spinner control
> - IValueProvider requests the value of the control using it's API \
>                 `get_ValueString()`
> - It required to introduce a new AccessibleAttribute `VALUE_STRING`
> - IValueProvider  also reads out if the control is editable or not, hence added \
> `EDITABLE `case in `Spinner.queryAccessibleAttribute()` 
> Verification:
> - Run any spinner app, with setAccessibleText set on spinner 
> - Run Windows narrator and observe
> - Without this fix:
> - 1. Narrator does not read the text set by setAccessibleText
> - 2. In application "Accessibility Insights for Windows", you can see the value of \
>                 Spinner as the Name property
> - After this fix:
> - 1. Narrator reads the accessible text then value of Spinner and then if editable \
>                 or not
> - 2. In application "Accessibility Insights for Windows", you can see the text set \
> by `setAccessibleText()` for Spinner as the Name property and the Spinner's value \
> as value property

This pull request has now been integrated.

Changeset: 43448ddc
Author:    Ambarish Rapte <arapte@openjdk.org>
URL:       https://git.openjdk.org/jfx/commit/43448ddc5f2eda15a892fd0ea38bae2b14b54296
                
Stats:     63 lines in 4 files changed: 55 ins; 4 del; 4 mod

8284544: [Win] Name-Property of Spinner cannot be changed

Reviewed-by: kcr, aghaisas

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

PR: https://git.openjdk.org/jfx/pull/1291


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic