On Wed, 2 Sep 2026 14:22:34 GMT, Florian Kirmaier <[email protected]> wrote:
> When the index of an IndexedCell is changed with > `IndexedCell.indexChanged(int, int)` > then currently no `INDEX` accessibility notification is sent. > > And when the selected element changes, then no `SELECTED` notification is > sent. > > As a result, assistive technology is not informed and it breaks the rule - > that for every change > to the accessibility attributes must be notified with > `Node.notifyAccessibleAttributeChanged(attribute)`. > > The change is on the > base classes, so it covers `ListCell`, `TableCell`, `TableRow`, `TreeCell`, > `TreeTableCell`, and `TreeTableRow`. > > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). modules/javafx.controls/src/main/java/javafx/scene/control/Cell.java line 457: > 455: > 456: // --- selected > 457: private ReadOnlyBooleanWrapper selected = new > ReadOnlyBooleanWrapper() { rant: why are these properties not `final` ?? modules/javafx.controls/src/main/java/javafx/scene/control/Cell.java line 460: > 458: @Override protected void invalidated() { > 459: pseudoClassStateChanged(PSEUDO_CLASS_SELECTED, get()); > 460: > notifyAccessibleAttributeChanged(AccessibleAttribute.SELECTED); it feels to me that this is a wrong place to send the event from: the event should be sent from the selection model instead of some part of the selection. for example, consider SelectionModel.MULTIPLE and WinAccessible:322 another manifestation of this issue is `[Tree]TableRow.selected` which do not expose SELECTED there might be another variant of this issue on macOS: - TreeView, select two rows - focus the second row, deselect the first will it send selection change notification? ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/2288#discussion_r4415940876 PR Review Comment: https://git.openjdk.org/jfx/pull/2288#discussion_r4415861730
