Video message
canonA 16:9 video in a chat bubble with duration on a scrim, a progress bar, a time row, Přepis link and optional caption.
acrm !4918 (DS) + !4935 (Komunikace) + !4956 (44 px tap target), prototype proto/chat-hlasove-zpravy@6ed969dc9 (owner approved 8 Oct 2026). Family split from discussion/voice-message on 11 Oct 2026 (owner R43 a). Not on dev with data (stories only). Canon 14 Oct 2026: dev check after !4957 + !4982 — 390 px 64 bars × 3.7 px, gap 0; time without tabular-nums (StableTime). Signed off by AD. Own stories + light/dark baseline: acrm !5079 (Default · In-out · States; fixed wrapping of „Přepis se nepodařil · Zkusit znovu“ under the 200 px circle).
Used in no file in the app (main)
Keyboard
- Tab order: the frame (one button) · Přepis link · copy · each transcript sentence.
- The frame is a native
<button>: Enter / Space toggle playback. - Sentences: Enter / Space seek to the sentence and play.
- No seek control for the video itself; seeking only through sentences or the
refhandle.
ARIA
- The frame's accessible name switches "Přehrát video" ⇄ "Pozastavit"; the play icon is
aria-hidden. - The duration on the scrim is inside the button, so it is part of its text content.
- Visually hidden
fromLabelprecedes the player. - Přepis link, status, sentences and copy behave as in Voice message.
Focus
- Foundation
:focus-visiblering on the frame, link, copy and sentences.
Contrast
- Duration on the scrim: white on
rgba(0,0,0,.55)is ≥ 4.74 : 1 even over a white frame. - Progress strip
--accentover the video depends on the picture. - Row time
--fg-mutedand the Přepis link--accenton the bubble — same values and limits as Voice message (RULES §18).
Known limits
- No keyboard seek and no slider semantics for the video position; progress is visual only (strip).
- The video has no captions track — the transcript is the text alternative and is collapsed by default.
- Not verified on dev with real data (stories only, 10 Oct 2026).