> Given that text properties don't nest, I matched the faces and use separate
> mouse-face properties for each component so they could be highlighted
> separately. Look at the attached screenshots. You still might not like
> it. I also handled the case where the close button might be text only vs.
> icon so it works for both.
Does using 'add-face-text-property' (like in 'tab-bar-tab-name-format-face')
instead of 'propertize' help to make the close button look like part of the tab?
Nope. I think the issue is that the mouse-face on the caption left of the close button cannot itself highlight the whole string while simultaneously having a mouse-face on the close button. So we either live with the visual separation which appears only when people mouse over caption segments, or abandon mouse-face on the close button. I prefer the visual separation as it makes it clear the close button is separate from the caption text.