On Tue, 29 Oct 2024 17:44:21 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
> A general question: what would be an example of when `focused != > focusVisible` (and `!= focusWithin`) ? > > Shouldn't the `focused` be a sort of "primary" property, and all other > derived from it? > > What is the purpose of `focusVisible` exactly? `focusVisible` is almost always `false`, because most of the time, users of a GUI will interact with a mouse (or touch), not with the keyboard. Most desktop user interfaces _only_ show a focus ring around interactive controls if you tab to the element, and _not_ if you click it. This is what this property allows JavaFX applications to replicate (in fact, the built-in themes of JavaFX are an outlier in desktop UI design in that they have permanent focus rings). Naturally, a control can only visibly indicate focus if it has the input focus. This is why `focusVisible=true` can only occur when `focused=true` and `focusWithin=true`. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1604#issuecomment-2444975606