Accessibility
SendButton from @prepared911/ui/send-button.
button, type="button" unless type says otherwise. Its accessible name is label, rendered once through VisuallyHidden; the icon is aria-hidden.aria-busy="true" and aria-disabled="true" and not disabled, so the button stays in the tab order and keeps focus. Clicks, Enter and Space are ignored while it is pending. The accessible name is pendingLabel.output element (implicit role="status", a polite live region) announces pendingLabel when the send starts and is empty at rest. Nothing is announced on mount.restoreFocusTo returns focus to the input.disabled is native, and a disabled fieldset disables the button.