Files
kandev/docs/specs/ui/voice-mode-task-behavior.md
T
João Salavisa 9de669558b feat!: move voice mode into task behavior (#2534)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-11 23:29:46 +02:00

55 lines
2.7 KiB
Markdown

---
status: shipped
created: 2026-08-11
owner: kandev
---
# Voice Mode In Task Behavior
## Why
Voice input changes how users interact with tasks, but its controls currently occupy a separate
top-level Settings destination. Keeping task interaction preferences together makes Voice Mode
easier to discover in context and reduces the main Settings menu without changing saved behavior.
## What
- **Task Behavior** contains the existing Voice Mode section after the task-action and message-queue
sections.
- The Settings main menu has no standalone **Voice Mode** row.
- Settings search continues to find the Voice Mode section and each voice control, and selecting a
result opens **Task Behavior** at the matching section or control.
- The former `/settings/voice-mode` route is removed without a compatibility redirect.
- Voice settings keep their existing values, capability detection, disabled-state presentation,
draft/save/discard behavior, and user-facing copy.
- Desktop and mobile use the existing responsive Settings page. The shared settings content remains
the single scroll owner, and every Voice Mode control remains reachable without document-level
horizontal overflow.
## Scenarios
- **GIVEN** a user opens Settings on desktop or mobile, **WHEN** the main menu is shown, **THEN** it
contains **Task Behavior** and no standalone **Voice Mode** row.
- **GIVEN** a user opens **Task Behavior**, **WHEN** the page renders, **THEN** task actions, message
queue, and Voice Mode appear in that order with all existing voice controls available.
- **GIVEN** a user searches Settings for Voice Mode or a voice control, **WHEN** they select the
result, **THEN** Task Behavior opens and scrolls to the matching section or control.
- **GIVEN** the application route registry, **WHEN** Settings routes are enumerated, **THEN**
`/settings/voice-mode` is absent and Task Behavior is the only route that renders Voice Mode.
- **GIVEN** a user changes a voice preference from Task Behavior, **WHEN** they save or discard
through the shared settings action, **THEN** persistence behavior matches the former standalone
page.
- **GIVEN** a Pixel 5-sized viewport, **WHEN** the user opens Task Behavior and scrolls through
Voice Mode, **THEN** every control is visible and operable, the settings container owns vertical
scrolling, and the document has no horizontal overflow.
## Out Of Scope
- Changing voice engines, models, shortcuts, defaults, persistence, or runtime behavior.
- Redesigning Task Behavior, the shared settings save action, or Settings navigation.
- Preserving compatibility for the former Voice Mode URL.
## Implementation Plan
See [the implementation plan](../../plans/voice-mode-task-behavior/plan.md).