Catch-up programmes and file chapters both reach the seek bar through
timelineSegments, so the fix sits on that shared path:
- aria-valuetext reads the translated "<title> · <time>" whenever the
scrub or playback value (the keyboard target included) lies in a titled
segment, else the plain time.
- ControlsTimelineHover becomes ControlsTimelineLabel: besides a hovering
pointer, keyboard focus (:focus-visible or a seek key) and a drag
preview, which is how touch sees it, anchor the label at the slider value.
- The label is two parts: the title ellipsizes at min(320px, 60cqw), the
time never truncates. Once laid out it is clamped by its measured width
to stay 8px inside the player (clampTimelineLabelLeft).
- Boundaries hold 3:1 over any frame: an opaque --pc-timeline-track and
white --pc-timeline-separator separators filling the (now 2px) gaps.
- LIVE is the translated LIVE_BADGE; the badge and the --:-- placeholder
are role="img" named LIVE_STREAM / DURATION_UNKNOWN, in the shared and
the native-view Embedded MPV dock.
New keys go to all 18 locales; the identical-English baseline gains the
punctuation-only template and "LIVE" for de and nl. The epglong Xtream
mock scenario adds a 120-character programme title for the new Electron
E2E, which tabs to the bar in both themes at 1280 and 800px and in de/ru.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>