Choose the appropriate UI surface based on the severity of the system event:
Inline Form Errors: Place immediately below the offending input field. Sighted users see the connection instantly, and screen readers can associate the message via aria-describedby.
Notification Banners (Toasts): Use for non-blocking asynchronous state changes ('Export ready for download' or 'Changes saved automatically'). Never hide critical blocking errors inside auto-dismissing toasts.
Modal Dialogs: Reserve strictly for high-consequence, blocking events that require immediate explicit user intervention before any other task can proceed.