SIGN IN SIGN UP

fix(studio): timeline seekbar focus blocks NLE keyboard shortcuts (#1137)

* fix(studio): blur seekbar after seek so NLE shortcuts resume

Clicking the timeline seekbar (role=slider) explicitly called
e.currentTarget.focus(), leaving focus on the slider element.
shouldIgnorePlaybackShortcutTarget filters out [role='slider'] targets,
so all playback shortcuts (Space/J/K/L/arrows) were silently blocked
until the user clicked away.

- blur() the seekbar in cleanup() so focus returns after pointer release
- replace the default white focus ring with a focus-visible ring (keyboard-only)
- add tabIndex={-1} + outline-none to the NLE timeline scroll div,
  which Chrome auto-focuses for overflow:auto elements

Fixes #1136

* fix(studio): blur color slider on pointer release (sister bug)

Same pattern as the seekbar: role=slider + tabIndex=0 receives natural
browser focus on click, blocking playback shortcuts while focused.

ColorSlider never had an onPointerUp handler; adding one to blur
immediately after release matches the seekbar's cleanup() blur.
M
Miguel Ángel committed
194ad6f6d3ec960b7f4fa6fae01e4a8243075210
Parent: 100d355
Committed by GitHub <noreply@github.com> on 5/30/2026, 5:25:43 PM