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

Reply via email to