Accessibility
Button from @prepared911/ui/button renders a native <button> with an icon and a title that doubles as the accessible name and the hover/long-press tooltip. The component does the native button wiring; your job is to write a descriptive title for every instance and keep pressed / controlled state honest.
<button> with all expected keyboard and screen-reader behavior.title. The title prop renders as the hover tooltip and as the accessible name so screen readers and sighted users get the same meaning.disabled attribute.title for every icon button. Required; it is the accessible name. Name the outcome ("Delete incident", not "Delete"). Include the target in dense contexts.title to describe the next action ("Unmute audio" when muted; "Mute audio" when unmuted) and expose aria-pressed.aria-controls / aria-expanded when the button opens or toggles another region (menu, panel).ButtonType.Destructive styling communicates intent visually; pair with a Dialog confirmation for irreversible work.<button>.aria-pressed for toggles; aria-expanded + aria-controls for disclosure triggers.aria-label may override title when the two must differ (rare—prefer identical strings).title via template ("Delete incident {id}").title is the accessible name; it reaches screen readers independent of the tooltip visually appearing.