Accessibility
RequiredActionDialog, RequiredActionDialogBehavior and RequiredActionIntent from @prepared911/ui/blocks/required-action-dialog.
dialog with role="alertdialog" and aria-modal, named by the title heading and described by the description. The page behind it is inert.closeLabel. Escape and the control report to the host through onOpenChange and the dialog stays until the host sets open to false. The action is still required afterward.closeOnEscape={false} cancels the key before the browser turns it into a close request, and a layer above (a menu, a nested dialog) or a focused toast takes its own Escape first. If the platform closes the dialog anyway (a script close, a non-cancelable close request), the block shows it again at once, so the dialog is never closed while open is true.aria-busy and shows a spinner, named by its label. The other actions are disabled. When the action settles without the host closing the dialog, focus returns to the pressed Button if it lost it.aria-hidden). Severity is carried by the title and description, not by color or the icon.code run with translate="no" and dir="auto", so page translation leaves it as written and a Latin code keeps its order in a right-to-left sentence. The copy button's name, copied and failed labels are the caller's copy, announced through the button's status region.prefers-reduced-motion. The surface's own motion is Dialog's. Forced colors use system colors through Dialog and Button.