All notes

A disabled button needs a reason

Greyed-out controls leave me guessing unless the interface says what is missing.

A greyed-out button is not an explanation.

Sometimes the reason is obvious. A blank form has nothing to submit. Fine. More often, the button sits there looking available enough to invite a click, then does nothing because I have not picked a file, named a project, or accepted some condition hidden three lines above.

The button can stay disabled. I do not need every control to be clickable. I want a small sentence nearby: "Choose a file to continue" or "Add a name before saving." That is kinder than making me inspect every field for the missing piece.

A tooltip on hover is not enough. It disappears on touchscreens and is awkward with a keyboard. Put the reason in the page, close to the control, and update it when the missing requirement changes.

There is a difference between preventing an action and explaining the prevention. The first keeps the system safe. The second keeps me from poking at the interface like a lab mouse.