I use ‘dimmed’ buttons that are activated when correct data is entered into fields. This is set in the button’s action (if answer is not empty, save answer…)
But instead of being greyed-out, the button is now hidden/invisible. Here is an example.
After I type into Answer it magically appears. Before it was visible but dimmed. This is not a better user experience.
It’s been that way for as long as I can remember.
The only time you’ll see the behaviour that you describe if is you’re using side-by-side buttons (ie. a button bar).
If you want to keep your single button visible, you could always add a passing else condition in your action, with a show notification (or whatever). The button just won’t be “dimmed”. But there is always conditional CSS… and this is where the rabbit hole opens up