RFR: 8284544: [Win] Name-Property of Spinner cannot be changed
Ambarish Rapte
arapte at openjdk.org
Mon Nov 20 05:42:47 UTC 2023
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()`
-------------
Commit messages:
- Add attribute VALUE_STRING for Spinner
Changes: https://git.openjdk.org/jfx/pull/1291/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1291&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8284544
Stats: 52 lines in 3 files changed: 44 ins; 4 del; 4 mod
Patch: https://git.openjdk.org/jfx/pull/1291.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1291/head:pull/1291
PR: https://git.openjdk.org/jfx/pull/1291
More information about the openjfx-dev
mailing list