VideoPlayer 设计文档
视频播放器:原生 <video> + 框架无关状态机(@chenzy-design/core),无第三方媒体库。支持播放/暂停、进度拖拽跳转(含章节标记)、缓冲/已播放双层进度、音量(0–100,静音派生)、倍率/清晰度/线路下拉切换(切换后回跳原播放位置)、镜像、画中画、全屏、瞬时通知(加载/卡顿/镜像/倍率)。controlsList 控制控件项增删,theme 仅切换容器背景。键盘:Space 播放/暂停、←/→ 按 seekTime 跳转(焦点在播放器内时)。
← API 文档使用建议
视频播放器:原生 <video> + 框架无关状态机(@chenzy-design/core),无第三方媒体库。支持播放/暂停、进度拖拽跳转(含章节标记)、缓冲/已播放双层进度、音量(0–100,静音派生)、倍率/清晰度/线路下拉切换(切换后回跳原播放位置)、镜像、画中画、全屏、瞬时通知(加载/卡顿/镜像/倍率)。controlsList 控制控件项增删,theme 仅切换容器背景。键盘:Space 播放/暂停、←/→ 按 seekTime 跳转(焦点在播放器内时)。
Accessibility
ARIA role:application
- Space 播放/暂停、←/→ 按 seekTime 跳转,仅当焦点在播放器容器内时响应(Semi handleBodyKeyDown,避免劫持页面其他控件键位)
- 所有控件为原生 <button>,aria-label 走 locale(play/pause/mute/unmute/fullscreen/exitFullscreen/pictureInPicture/mirror/playbackRate/quality/route/volume)
- 进度条 role=slider,aria-valuemin/max/now 为秒;Home/End 跳到首尾;章节标记 aria-hidden
- 音量条 role=slider(0–100),↑/↓ 步进 10;静音按钮 aria-pressed
- 倍率/清晰度/线路为菜单按钮:aria-haspopup=menu、aria-expanded、role=menuitemradio + aria-checked,↑/↓ 漫游、Enter/Space 选择、Esc/外点关闭
- 加载/卡顿通知 aria-live=polite;错误态 role=alert;时间显示 aria-hidden(视觉冗余)
设计变量
该组件暂无专属设计变量。