Is the 'highlighted state' the same as the 'selected state'?

I’m having trouble figuring out what the “Highlighted Color” in the Button inspector refers to exactly. Is the button “highlighted” if it is selected? I found aSelectable.IsHighlighted and Selectable.OnSelect/Select, but the documentation gives me no indication of whether these refer to the exactly identical state or not.

Does highlighted state == selected state?

See Selection (user interface) - Wikipedia

If the highlighted state != the selected state, then

  1. What is the highlighted state?
  2. In what ways can a button get highlighted?

The highlighted state is used when the mouse hovers over the button, but not when it is clicked. Look here.

This means that if you place your mouse cursor on top of the button (but do not click the button element), it will transition to the Highlighted Color. You can also use an animation to do this. Notice how the mouse cursor hovers over the button, but does not click the button.

An object can be highlighted without being selected, but selected objects are always highlighted. Confused yet? Me too! Currently their visual states are identical, and this can be very confusing.

For example, placing the mouse over a button will highlight it, but you must click to actually select it. This can lead to a bug where two buttons will be highlighted at the same time when switching between mouse / keyboard navigation, even though only one of them is actually selected.

I’m hoping the Unity team will address this issue soon.