Use success toasts for completed, non-blocking actions.
Feedback
Choosing the right component to communicate status, outcomes, and loading states to the user.
Decision guide
The right feedback pattern depends on two things: whether the user needs to act on the information, and whether the flow needs to be blocked until they do.
Toast guidelines
Toasts are for transient confirmation. They inform without interrupting. The user does not have to close them — they disappear on their own.
success for completed actions, error for recoverable failures, info for neutral updates. Do not use warning in a toast — warnings need attention and should persist.Modal vs Toast
The single most common feedback mistake is using a modal where a toast is sufficient, or using a toast when the stakes require a modal. The distinction is whether the user must make a decision.
Spinner guidelines
A spinner communicates that something is happening. It says nothing about how long it will take or how much has been completed. Use it for short waits only.
aria-label like "Loading" or a visually hidden text node. A spinner alone is invisible to screen readers.Do and don't
Use danger toasts with retry for recoverable failures.
Use modal when confirmation is required before destructive actions.
Give spinners an accessible label that explains what is loading.
Use modal for simple success confirmations.
Use toast for irreversible confirmation decisions.
Use spinner alone for long-running measurable tasks.
Stack several toasts for the same single user action.