返回 DeepSeek-TUI-2026
ACCESSIBILITY.md
根目录 / docs / ACCESSIBILITY.md
1 # Accessibility
2
3 DeepSeek-TUI runs in a terminal, so the platform's own accessibility
4 stack (screen readers, magnifiers, terminal-level themes) does most
5 of the work. The TUI provides a small set of toggles that reduce
6 visual motion and density for screen-reader and low-motion users.
7
8 ## Quick reference
9
10 | Toggle | Default | Effect |
11 | --- | --- | --- |
12 | `NO_ANIMATIONS=1` env var | unset | At startup, forces `low_motion = true` and `fancy_animations = false`. Overrides whatever's saved in `settings.toml`. |
13 | `low_motion` setting | `false` | Suppresses spinners' motion, transcript fade-ins, footer drift, and the active-cell pulse. The frame-rate limiter also slows down idle redraws so the cursor doesn't blink as aggressively. |
14 | `fancy_animations` setting | `false` | Footer water-spout strip and pulsing sub-agent counter. Off by default. |
15 | `calm_mode` setting | `false` | Collapses tool-output details by default and trims status messages. Useful for screen readers that announce every redraw. |
16 | `show_thinking` setting | `true` | Set to `false` to hide model `reasoning_content` blocks entirely. |
17 | `show_tool_details` setting | `true` | Set to `false` to render tool calls as one-liners without expanded payloads. |
18
19 ## Standard env-var surface
20
21 Set these in your shell profile so they apply to every session:
22
23 ```bash
24 # Force low-motion + no fancy animations.
25 export NO_ANIMATIONS=1
26
27 # Optional: respect the wider terminal-color convention.
28 export NO_COLOR=1 # honored by the underlying ratatui backend
29 ```
30
31 `NO_ANIMATIONS` accepts any of `1`, `true`, `yes`, or `on`
32 (case-insensitive). Any other value (including `0`, `false`, empty,
33 or unset) leaves your saved settings alone.
34
35 The override is applied once at startup. Changing the env var
36 mid-session has no effect — settings are only re-read on the next
37 launch.
38
39 ## Configuring via `/settings`
40
41 The same toggles are reachable from the command palette:
42
43 * `/settings set low_motion on`
44 * `/settings set fancy_animations off`
45 * `/settings set calm_mode on`
46
47 Settings written this way persist to `~/.config/deepseek/settings.toml`.
48 The `NO_ANIMATIONS` env var still wins at startup if it's set, so
49 unsetting the env var is the way to honor your saved choice.
50
51 ## Notes for screen-reader users
52
53 * `low_motion` slows the idle redraw loop to ~120ms per frame so
54 the cursor isn't constantly repositioned. Combined with
55 `calm_mode`, the redraw rate stays low enough that VoiceOver /
56 Orca announcements track linearly with model output instead of
57 re-reading the whole screen on each tick.
58 * The transcript is pure text — no images or canvas rendering — so
59 any terminal that integrates with the platform's accessibility
60 service (e.g. macOS Terminal.app, iTerm2, Ghostty, Windows
61 Terminal) will pass the rendered content straight through.
62 * If you find a UI surface that still produces motion when
63 `low_motion = true`, please file an issue against
64 [`PRIOR: Screen-reader / accessibility flag`](https://github.com/Hmbown/DeepSeek-TUI/issues/450)
65 with a screenshot or terminal recording.
66
67 ## Related issues / history
68
69 * [#450](https://github.com/Hmbown/DeepSeek-TUI/issues/450) —
70 documenting the existing flag, adding the `NO_ANIMATIONS`
71 startup overlay, and writing this page.
72 * [#449](https://github.com/Hmbown/DeepSeek-TUI/issues/449) —
73 footer statusline now uses the active theme's contrast pair
74 instead of a bespoke palette.
75
75 lines MARKDOWN