On Wed, 2 Oct 2024 02:25:26 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

> you're saying that you think it is okay that setting a Skin suddenly makes 
> your control malfunction

No, I am not saying that.

I played a bit more with your example.  Your CustomButtonSkin is weird as it 
does not place the original button in the scene graph, not sure if that's 
important.

I've added a number of custom components to the example


    static class L extends Label {
        public L(String s) {
            super(s);
            setFocusTraversable(true);
            setMouseTransparent(false);
        }
    }


together with monitoring the scene's focusOwnerProperty (don't want to mess 
with CSS).

These "L" components do traverse with the arrow keys and your fix with and 
without the ScrollPane.  So perhaps I am wrong and we do want this change.

A couple of notes:
the existing example, at least when considering its top two panels with the 
regular buttons, exhibits reduced accessibility when the scroll pane shows a 
scroll bar.  One can still move focus and the scroll bar does scroll the 
focused component to view, but one cannot induce it to scroll (for example, if 
one adds a long label after the last button).

One can try making the scroll pane itself focusTraversable, but then the 
traversal becomes a bit weird.  Perhaps it's a case for custom traversal policy.

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

PR Comment: https://git.openjdk.org/jfx/pull/1582#issuecomment-2389704811

Reply via email to