cocottetech/@platform/codebase/@features/ai-copilot/docs/accessibility-settings.screen.md
natalie 1b719e1fd7 chore(bootstrap): initial V4 commit
Clean successor to V3 (forge: lilith/atlilith). Seeded from local Mac
working tree at ~/Code/@projects/@cocottetech/. node_modules and build
artifacts excluded via .gitignore.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 08:11:41 -07:00

5 KiB

accessibility-settings.screen

Accessibility configuration — VoiceOver depth, Dynamic Type, reduced motion, color/contrast preferences, audio descriptions. Implements brief X. Reached from settings-root.screen.md S6/S8 category (depending on brief X placement). Voice: plain.

Layout (full-screen sheet)

┌─────────────────────────────────────────────────┐
│ ◄ Settings                              Done    │ 56pt
├─────────────────────────────────────────────────┤
│  Cocotte inherits iOS settings by default.       │   reassurance
│  Use this screen to override or specialize.     │
│                                                 │
│  ─── Display ───                                │
│  ☑ Match iOS Dynamic Type                       │
│  Override font size: [ Default ▼ ]              │
│  ☑ Match iOS Reduce Motion                      │
│  ☐ High contrast                                │
│  Color blindness:  [ None ▼ ]                   │   protanopia / deuter / tritan
│  Stakes-color override: [ Default ▼ ]           │   alt palettes for color-blind
│                                                 │
│  ─── Voice & audio ───                          │
│  ☑ VoiceOver-friendly action labels             │
│  Speak action receipts: ○ Always ● High-stakes  │
│  TTS voice: [ System default ▼ ]                │
│  Voice prompts: ○ Off ● Hearth ○ Working ○ Plain │   register override
│                                                 │
│  ─── Interaction ───                            │
│  ☐ Disable pinch gestures                       │   alt-input replacements
│  ☑ Larger tap targets                           │
│  ☐ Single-tap approvals (no swipe)              │
│  ☑ Reduce haptics                                │
│                                                 │
│  ─── Content ───                                │
│  ☑ Image descriptions in chat                   │   alt-text for AI-generated images
│  ☑ Plain language toggle (suppress metaphor)    │   forces working register everywhere
│                                                 │
└─────────────────────────────────────────────────┘

Components

Component Notes
Display Type / motion / contrast / color-blind palettes. Stakes-color override changes F §F1 low/medium/high palette.
Voice & audio VoiceOver labels, TTS preferences, register override (forces hearth/working/plain everywhere).
Interaction Replacements for gesture-based affordances (pinch, swipe). Single-tap approvals replace swipe-to-approve.
Content Image alt-text from content-* specialists; plain-language toggle suppresses culinary metaphor.

States

  1. Default (inherits iOS) — all top-level toggles match iOS settings; explicit overrides clearly marked.
  2. Override active — chip on overridden rows: "Override of iOS setting."
  3. Color-blind selected — preview swatch of new stakes palette appears inline.
  4. Plain-language enforced — banner: "All Cocotte copy is in plain register. Hearth + working registers are suppressed."
  5. Reduced haptics on — confirmation chip "Cocotte uses one haptic per event, not two."
  6. VoiceOver — section read in order; overrides explicitly announced.

Interactions

  • Tap any toggle → commits immediately + recorded as audit row (per brief I — accessibility changes are auditable).
  • Tap "Override font size" → iOS-style size picker.
  • Tap palette preview → expands swatches comparison.

Edge cases

  • Color-blind palette conflicts with brand accent (rose) — alt palette uses amber/blue for stakes, preserves brand accent elsewhere.
  • Single-tap approvals on a multi-surface card (per H §H4) — replaces per-surface checkboxes with toggle list, single tap on Approve commits all selected.
  • VoiceOver with cook-mode requested — cook-mode disables; VoiceOver gets primary audio.
  • Reduced motion + streaming reply — replaces token-fade with full-message snap-in.

Out of scope

  • iOS-side accessibility settings (CocotteAI defers to system where possible).
  • Per-specialist accessibility overrides (single global config at P0).