用于显示当前时间、时长和剩余时间的时间显示组件。
三种显示类型 — current、duration 和 remaining — 以数字格式显示,带有智能填充:
1:05:30,而不是 01:05:30)1:05:30,但 5:30)1:05,而不是 1:5)当当前值或时长超过 1 小时时触发小时显示,确保 Group 内的一致性。剩余时间显示负号(可通过 negativeSign 属性自定义)。
负号渲染在 <span aria-hidden="true"> 内,可以用 CSS 隐藏:
每个 <Time.Value> 具有:
aria-label 用于静态角色标签("Current time"、"Duration"、"Remaining")aria-valuetext 用于动态的人类可读时间("1 minute, 30 seconds")不使用 aria-live 区域 — 时间更新过于频繁,可能会使屏幕阅读器不堪重负。分隔符为 aria-hidden="true",因为屏幕阅读器已经分别听到每个时间值。负号也是 aria-hidden,因为 aria-valuetext 已经传达了 "remaining"。在 React 中,<time datetime> 为解析器提供机器可读的时间。
| 部件 | 描述 |
|---|---|
Time.Group | 时间显示容器,渲染 <span> 元素 |
Time.Value | 时间值显示,支持 current/duration/remaining 类型 |
Time.Separator | 时间分隔符(通常为 "/") |
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
type | "current" | "duration" | "remaining" | "current" | 时间显示类型 |
className | string | - | 自定义 CSS 类名 |
| 状态 | 类型 | 描述 |
|---|---|---|
current | number | 当前播放时间(秒) |
duration | number | 媒体总时长(秒) |
remaining | number | 剩余时间(秒) |