Video message — accessibility

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 ref handle.

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 fromLabel precedes the player.
  • Přepis link, status, sentences and copy behave as in Voice message.

Focus

  • Foundation :focus-visible ring 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 --accent over the video depends on the picture.
  • Row time --fg-muted and the Přepis link --accent on 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).

Source: docs/voice-message/video-message.a11y.md · GitLab