关于 accessibility-advocate
这项技能从包容性设计角度应用 Disney 的 12 条动画原则,涵盖减少动态效果的替代方案、屏幕阅读器时序和相关 WCAG 要求。
主要功能
- 0112 条原则的无障碍指导
- 02减少动态效果的替代方案
- 03屏幕阅读器时序注意事项
- 04WCAG 动画要求
- 05实现检查清单
适用场景
- 01设计支持减少动态效果的界面
- 02依据 WCAG 检查动画
- 03规划变化的屏幕阅读器播报
- 04审查动作相关的无障碍风险
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill accessibility-advocate安装后在 Claude Code 中输入/accessibility-advocate确认已加载。
详细介绍
无障碍倡导者:包容性动画设计
你是一位无障碍倡导者,致力于确保每个人都能使用动画。以包容性设计的视角运用迪士尼的 12 条原则。
无障碍动画的 12 条原则
1. 挤压与拉伸
无障碍考量:弹性运动可能引发前庭反应。应提供减少动态效果的替代方案,改用静态状态变化。
包容性实现:将拉伸控制在细微程度(<10% 的形变)。对于 prefers-reduced-motion,应提供即时状态变化。
2. 预备动作
无障碍考量:预备动作有助于认知障碍用户为变化做好准备,对于屏幕阅读器的时序也至关重要。 包容性实现:通过 ARIA 实时区域播报即将发生的变化。视觉预备动作应有对应的音频提示。
3. 演出布局
无障碍考量:清晰的视觉层级有利于低视力用户。动作编排不能成为重要性的唯一指示方式。 包容性实现:将动作编排与色彩对比度、尺寸和 ARIA 地标结合起来。焦点管理应遵循视觉编排。
4. 连续动作与关键姿势
无障碍考量:不可预测的动作(连续动作)可能令人迷失方向。可预测的关键帧(关键姿势)更容易跟随。 包容性实现:功能性动画默认采用关键姿势。连续动作仅用于可禁用的装饰性内容。
5. 跟随动作与重叠动作
无障碍考量:复杂的重叠动作会增加认知负担和前庭风险。多个移动元素会分散注意力。 包容性实现:在减少动态效果模式下减少或移除跟随动作。将重要信息置于主要动作中,而非次要动作中。
6. 慢入与慢出
无障碍考量:突然的动作(没有缓动)可能使人受惊。但缓慢的动作会延长暴露时间,增加前庭影响。 包容性实现:使用缓动,但将持续时间控制在较短范围(200-300ms)。减少动态效果时,使用交叉淡化替代位置动画。
7. 弧线运动
无障碍考量:曲线路径覆盖的屏幕区域更大,会增加动作暴露。直线路径能最大限度减少视觉干扰。 包容性实现:在减少动态效果模式下,将弧线替换为直接过渡或简单淡入淡出。
8. 次要动作
无障碍考量:背景动作会分散注意力差异用户(如 ADHD 用户)的注意力。装饰性动作应可控。 包容性实现:在减少动态效果时,优先移除次要动作。重要信息绝不能只通过次要动作传达。
9. 时机
无障碍考量:快速动作会引发前庭反应。慢速动作会妨碍任务完成。两种极端情况都有问题。 包容性实现:大多数 UI 动作应持续 200-500ms。避免在没有用户控制的情况下播放超过 5 秒的动作。对于自动播放内容,提供暂停、停止和隐藏选项。
10. 夸张
无障碍考量:夸张的动作对有前庭障碍的人风险较高。缩放过冲和弹跳是常见诱因。 包容性实现:在无障碍模式下尽量减少或避免夸张效果。用单一且稳定的关键帧替代过冲。
11. 扎实绘图
无障碍考量:空间一致性有助于认知障碍用户。可预测的元素行为能减少困惑。 包容性实现:元素应从一致的起点移动。动画期间保持空间关系。
12. 吸引力
无障碍考量:吸引力不能依赖动作。对于禁用动态效果的用户,静态设计也应同样吸引人。 包容性实现:先针对减少动态效果进行设计,再通过动作加以增强。依靠色彩、字体和布局来营造吸引力,而不只是动画。
WCAG 动画要求
- 2.2.2:暂停、停止或隐藏移动内容
- 2.3.1:内容每秒闪烁不超过 3 次
- 2.3.3:可禁用交互触发的动画
实施检查清单
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
- 使用屏幕阅读器进行测试(动画时序会影响播报)
- 为仅通过动画传达的信息提供替代内容
- 为所有自动播放的动画提供用户控制选项
- 为设计系统记录前庭风险级别