RFR: 8309374: Accessibility Focus Rectangle on ListItem is not drawn when ListView is shown for first time [v2]

Marius Hanl mhanl at openjdk.org
Thu Feb 15 10:00:06 UTC 2024


On Wed, 14 Feb 2024 02:55:15 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:

>> This is accessibility specific fix.
>> 
>> **Issue**: When a ListView is shown for first time then accessibility focus rectangle is not drawn around the focused ListIem
>> 
>> **Cause:** 
>>    The ListView takes a little time to create it's skin(ListViewSkin) and the skins for ListItems(ListCellSkin)
>>    If the Accessibility client application requests focused item before ListView is completely ready then JavaFX return null.
>> 
>> **Fix**: Send a focus item change notification to accessibility client application after the ListIteam is ready
>> 
>> **Verification:**
>> - On Windows machine, launch Narrator. Issue is observed only with Narrator
>> - Execute the [program](https://bugs.openjdk.org/secure/attachment/104180/Main.java) attached to the JBS issue [JDK-8309374](https://bugs.openjdk.org/browse/JDK-8309374)
>>      Move through the TextFields and press `Alt+down`, observe that focus rectangle is drawn correctly.
>>      Once the ListView is showing Press and hold `Up/Down` or `Ctrl + Up/Down` keys, observe that focus rectangle is always drawn.
>
> Ambarish Rapte has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review corrections-1

modules/javafx.controls/src/main/java/javafx/scene/control/ListCell.java line 376:

> 374:                  * so that the notification is not sent during any getAttribute() call.
> 375:                  */
> 376:                 Platform.runLater(() -> listView.notifyAccessibleAttributeChanged(AccessibleAttribute.FOCUS_ITEM));

What I'm wondering here: Don't the other cells also suffer from this issue?

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1363#discussion_r1490736811


More information about the openjfx-dev mailing list