Looking at a dialog with a simple interaction (multi-selection table with checkboxes at front and [Add] and [Cancel] buttons in the Dialog footer), but complex data (two-level hierarchy, several columns), would you advise to have the [Add] button active while no row has been selected?

The question came up in the context of a guideline for (edit and create) dialogs which have either [Save] or [Create] in the dialog footer, recommending to have these buttons active all the time. Rationale is that active buttons can be pressed and the system can help the user with error messages about missing or wrong values.

Now the multi-select-add dialog has only a single error condition (no checkbox checked), and there is an argument that everyone will understand that to turn the [Add] button active, at least one checkbox must be checked. On the other hand, the only additional interaction which is supported by the always-active [Add] button is that in the single possible error condition (no checkbox checked), which indicates the user does not understand the dialog's reason for being, the system shows an explanation.

Apart from additional development effort for the error message, I think the concern is that the active [Add] creates an affordance for the user to click it without checking any row checkbox first.

I found a few similar discussions here, which don't all point in the same direction:

Should a Save button be disabled if there have been no changes made? (answers lean towards active only if legal)

Do I display a button (that's directing to content, but there's no content yet) as disabled or active followed by an empty state? (answer recommends active button)

Disabling submit-button until the user has completed the form (answer recommends active button)

So I'm still undecided...

1 Answer 1


Explicit design always wins:

  • List reasons to disable : "At least one checked item is required."
  • Keep the button to save/create disabled while there are reasons to disable.

Simple, clear, efficient, easy to implement.

Pro tip tho: don't put complex interactions in a Dialog. Do it in a dedicated page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.