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

Reply via email to