---
status: implemented
date: 2025-02-04
---
# Time Display
Displays current time, duration, or remaining time.
## Problem
Video players need to display time:
1. **Current playback position** — updates continuously
2. **Total duration** — static once source loads
3. **Remaining time** — duration minus current, often with negative sign
Requirements:
- Digital format: `1:30:45` or `5:30`
- Conditional hour display (hide when duration < 1 hour)
- Proper accessibility (screen readers need human-readable time, not "1:30")
- Composable for common patterns like `1:30 / 5:00`
## Anatomy
### React
```tsx
import { Time } from '@videojs/react';
// Standalone
// Composed
```
### HTML
```html
```
## Accessibility
### Screen Reader Approach
Following [Media Chrome's pattern](https://github.com/muxinc/media-chrome/blob/main/src/js/media-time-display.ts): `aria-label` for the static role label ("Current time"), `aria-valuetext` for the dynamic human-readable value ("1 minute, 30 seconds").
**No live regions.** Time updates too frequently and would overwhelm screen readers. Users who need time info can navigate to the control.
**Negative sign is `aria-hidden`.** The `aria-valuetext` already says "4 minutes, 30 seconds **remaining**" — announcing "minus" or "dash" would be redundant.
**React uses `