Forum Discussion
Button on base layer showing on second layer
Well, that's perhaps too wide a brush. The truth is that the built-ins are a lot more nuanced than that. Most of the problems with built-in states come from trying to use the built-in state and using your own triggers to duplicate their action.
Some of how I approach built-ins in development:
1. I don't use built-in buttons; too much baggage, including hover and glow.
2. I don't use hover; too many problems with touch screens and accessibility.
3. Visited can be useful, but its scope of its trustworthiness is mainly limited to the same slide and its layers.
4. Selected is extremely reliable as are Drop Correct and Incorrect.
5. I use built-in states, but mostly in conditions to indicate to the system a previous action, rather than a change of appearance to the user. There are some difficulties in always getting what you want with changing the appearance, so I usually use custom states for that. When I use built-in states, I usually duplicate Normal with no change and give it a built-in name. I frequently use Selected and Hidden, often Drop Correct and Incorrect, and sometimes Visited.
Just a personal rant: I would cheerfully strangle with my bare hands any developer that puts something on my screen that I want to do, but that doesn't do anything when I click it; not even show an error message. So I don't ever use Disabled.
The ultimate decision point is that the built-in states a pretty powerful doing what they are designed to do. They completely fall apart when asked to do more or used some other way.