How navigation currently works in FX, and an enhancement proposal

Martin Fox martin at martinfox.com
Fri Sep 20 20:48:17 UTC 2024


John,

I agree, the ScrollPane should not consume arrow keys when it doesn’t have focus.

Under what conditions does the ScrollPane see these keys? With a TableView the focus either lies on the TableView itself or on one of the controls in the table. In the former case the ScrollPane won’t be in the dispatch chain and in the latter any of the standard controls will consume the arrow key to invoke traversal. It seems the ScrollPane responds to the arrow keys and the rest of the control set tries to make sure it never sees them.

My biggest fear is that this would introduce a regression for accessibility clients. Restricting this behavior to occur only when the ScrollPane has focus is limiting because it’s so rare for a ScrollPane to have focus.

I haven’t had time to figure out how other toolkits deal with this. A little Googling reveals that when Full Keyboard Access is turned on in macOS the scroll bars are added to the Tab traversal loop. That’s an interesting solution.

Martin



More information about the openjfx-dev mailing list