尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Remotion 无障碍实战:让播放器通过 WCAG 2.1 AA 自检

Remotion 无障碍实战:让播放器通过 WCAG 2.1 AA 自检 Remotion 无障碍实战让播放器通过 WCAG 2.1 AA 自检【免费下载链接】remotion Make videos programmatically with React项目地址: https://gitcode.com/GitHub_Trending/re/remotion如果你的视频产品要过企业客户的无障碍审计Remotion 无障碍是第一个要交代的环节官方把 WCAG 2.1 AA 自查结果公开写进了文档键盘和读屏的实现也直接摆在源码里。为什么 Remotion 无障碍要写成自查清单企业客户最常问的就是供应商产品是否达标团队于是逐个产品做 WCAG 2.1 AA 内部自查把结论逐条写进声明实现了什么、没实现什么白纸黑字。声明入口在 packages/docs/docs/accessibility.mdx它把「产品无障碍」和「网站无障碍」分开写网站侧的声明单独放在 remotion.dev 与 remotion.pro 对应的页面。Remotion Player 键盘操作实现了哪些官方给 Player 的结论是「部分支持partially support」具体分界线很清楚播放、暂停、静音、全屏按钮支持键盘操作有可达名称焦点可见进度条、音量条尚未暴露为带 role 和数值的键盘滑块静音的按下状态、时间显示尚未播报给辅助技术合成内容渲染为真实 DOM视频里的文字读屏能读到实现就在 packages/player/src/PlayerControls.tsx里播放按钮的aria-label随播放状态在 Play video 与 Pause video 间切换全屏按钮同理另带title提示。键盘解决的是「能不能操作」读屏用户还需要「听见」状态变化这正是下一层封装做的事。读屏播报AccessiblePlayer 是怎么做的仓库里的 packages/player-a11y/ 包提供了一个AccessiblePlayer把 Player 包了一层无障碍外壳做四件事外层加roleregion和aria-label读屏先报区域名称播放、静音、全屏按钮带aria-pressed按下状态可读拖动条用标准range输入配aria-valuetext播报「0:12 / 1:00」aria-livepolite区域播报「Playing」「Paused」「Ended」等状态快捷键在useMediaKeyboardShortcuts.ts里逐条实现空格或 K 播放/暂停M 静音F 全屏左右方向键快退/快进 5 秒按住 Shift 改为 1 秒PageUp/PageDown 跳 10 秒Home/End 回到首尾上下方向键音量 ±5%焦点在输入框或可编辑区域内时不截获按键避坑三处容易翻车别只靠颜色传递状态色盲用户看不出差别配文字或图标官方声明明确把用户代码和模板排除在外你写的组件、采用的模板由你自己对标准负责占位符不是标签Studio 的搜索框因用 placeholder 代替持久标签、对比度不达 4.5:1 被自查点名自己写 UI 时绑定真实label上手无障碍的价值在于把承诺写成可逐条核对的清单。克隆仓库对照声明读一遍 Player 源码你的播放器自查一次就能完成git clone https://gitcode.com/GitHub_Trending/re/remotion发现声明没覆盖到的缺口直接提 issue 反馈那份清单还在逐条补全中。【免费下载链接】remotion Make videos programmatically with React项目地址: https://gitcode.com/GitHub_Trending/re/remotion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表