On Wed, 3 May 2023 21:27:29 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>> Issue:
>> CheckBoxTreeItem extends TreeItem and adds a CheckBox.
>> The state of this CheckBox is not visible to an accessibility client 
>> application.
>> If we analyze a simple program that contains a CheckBoxTreeItem using a 
>> windows application "Accessibility Insights for Window", we can notice that 
>> toggle state of CheckBox is not exposed.
>> 
>> Fix:
>> Include the [Toggle Control 
>> Pattern](https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-implementingtoggle)
>>  in Accessibility information of a CheckBoxTreeItem in addition to the 
>> patterns that are used for a TreeItem.
>> 
>> Verification:
>> On Windows: Do the following with and without the fix.
>> 1. Run the sample program attached to JBS issue.
>> 2. Launch "Accessibility Insights for Window"
>> 3. Observe that patterns section for each item
>> 4. Select / de-select the CheckBoxes and observe the patterns section for 
>> correctness of toggle state.
>
> modules/javafx.graphics/src/main/java/javafx/scene/AccessibleAttribute.java 
> line 357:
> 
>> 355:      * @since 21
>> 356:      */
>> 357:     TOGGLE_STATE(Integer.class),
> 
> Would a dedicated enum be a better choice here?

Yes, that might be cleaner. In any case, we should not hard-code or specify int 
values that are Windows-specific. I recommend defining this as a 
platform-independent attribute and then mapping it in the Windows platform code.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1088#discussion_r1187660261

Reply via email to