Keyboard, touch, pointer, speech, and file input should lead to equivalent outcomes. Add a modality because it helps a task, and preserve a reliable text-based path when permission, hardware, or connectivity is unavailable.
Keep a common interaction contract
Every mode needs a clear start, feedback, correction, cancellation, and completion. Keyboard shortcuts supplement visible controls. Do not take over browser shortcuts globally or submit while an IME composition is active.
Request access in context
Ask for microphone or file access only after a deliberate user action. Explain what will be sent, where it goes, and whether it is retained. Provide a useful fallback when permission is denied.
Let people inspect before sending
Show speech transcripts and attachment details before submission. Allow editing and removal. Validate file type and size on the server. Announce meaningful state changes without reading every generated token.
Default decisions
Starting conventions for this system. Validate them in the context of your product.
- Primary fallback
- Editable text input
- Touch target
- Prefer 44 × 44px or larger
- Speech
- Reviewable transcript before sending
- Shortcut
- Scoped Ctrl/Cmd + Enter; respect IME