Files
chanora/docs/additional_docs/material3-guideline.md
T

4.3 KiB

Chanora UI/UX Guideline — Material 3 Baseline

Version: 0.9.2 Status: Baseline Candidate
Language: English
Lifecycle support: Supports SysDes, SRS, SAD, SDD, and Verification
Design baseline: Material 3 + Chanora Design System

Repo path: docs/ui-ux/material3-guideline.md ---

1. Purpose

This guideline defines the UI and UX baseline for the Chanora Flutter application. Chanora shall use Material 3 as the foundation, but product-specific voice, channel, connection, latency, diagnostics, platform, and accessibility semantics shall be expressed through Chanora Design System components and tokens.

2. Core UI Principles

Principle Requirement
Voice-first control Mute, deaf, push-to-talk, current channel, and input status must be visible or directly reachable.
Connection awareness Connected, connecting, reconnecting, disconnected, and error states must be visible.
Adaptive layout Layout must adapt by window class rather than hardcoding behavior by platform name.
Accessibility baseline Critical controls must have semantics, focus behavior, text scaling support, and non-color-only status expression.
Platform respect Permission, safe area, keyboard, back, haptic, and audio-route behavior must follow platform expectations.
Localization-ready Product-owned strings must be localized; server-provided content must be displayed as content.

3. Primary Screens

Screen Stage Purpose
Home P0 Recent servers, bookmarks, manual connect entry
Connect P0 Host, port, nickname, password, identity selection
Server P0 Channel tree, clients, connection status, current channel
Voice P0 Voice controls, input level, device summary
Chat P1 Channel text messages
Settings P0 Audio, UI, localization, platform behavior, shortcuts
Diagnostics P0 Status, redacted export, troubleshooting information

4. Interaction Rules

Area Rule
Channel tree Select, expand/collapse, join, context menu, keyboard traversal
Client tile Show speaking, mute/deaf, volume, latency when available
Voice controls Must be reachable with touch, mouse, and keyboard
Diagnostics Export must require explicit user action and show redaction notice
Settings Destructive or permission-changing actions require clear confirmation or explanation
Text entry Chat input must respect IME and keyboard safe areas

5. Motion Rules

Scenario Allowed behavior
Page transition Minimal fade or shared-axis style transition
Speaking indicator Subtle pulse, disabled or simplified under reduced motion
Reconnect banner Clear state transition without disruptive animation
Layout change Resize/reflow smoothly where possible
Error state Immediate, clear, non-color-only feedback

6. Accessibility Rules

Rule Baseline
Minimum target Critical controls should meet a 48dp target where practical.
Semantics Icon-only controls require labels.
Focus Desktop and tablet keyboard use require visible focus.
State expression Critical states require more than color.
Text scale Critical controls remain reachable under increased text size.
Reduced motion Non-essential animation is reduced or disabled.

7. Internationalization UX

Product strings are localized. Server-provided server names, channel names, nicknames, and messages are not translated. Mixed-language and bidirectional text must be rendered as text content and preserved through diagnostics unless redacted.

8. Change History

Version Date Description
0.1.0 2026-05-14 Initial UI/UX guideline for Material 3, adaptive layout, accessibility, platform behavior, and i18n.

Baseline Candidate 0.9.1 Update

Version Date Description
0.9.1 2026-05-14 Updated baseline after product decision closure: Apple App Store SDK gate uses Xcode 26+ and iOS 26 / iPadOS 26 SDK+ since 2026-04-28, platform baselines and decision traceability propagated across the document set.

Baseline Candidate 0.9.2 Update

Version Date Description
0.9.2 2026-05-14 Corrected Apple App Store Connect upload gate to 2026-04-28 and checked full-package naming, references, and coverage.