Carousel 设计文档
走马灯:多张幻灯片轮流播放。支持 slide/fade 切换动画、autoPlay 自动播放(含 interval/hoverToPause)、dot/line/columnar 指示器(位置 left/center/right,尺寸 small/medium)、prev/next 箭头(always/hover)、自定义箭头 arrowProps、primary/light/dark 主题、受控 activeIndex 与 onChange。slide 通过 Snippet[] 传入。DOM 结构、tokens、动画逐项对齐 Semi。
← API 文档使用建议
走马灯:多张幻灯片轮流播放。支持 slide/fade 切换动画、autoPlay 自动播放(含 interval/hoverToPause)、dot/line/columnar 指示器(位置 left/center/right,尺寸 small/medium)、prev/next 箭头(always/hover)、自定义箭头 arrowProps、primary/light/dark 主题、受控 activeIndex 与 onChange。slide 通过 Snippet[] 传入。DOM 结构、tokens、动画逐项对齐 Semi。
Accessibility
ARIA role:region
- 根 role=region aria-roledescription="carousel" aria-label(i18n)
- slide 区 aria-live=polite;autoPlay 实际播放中降级为 off
- 根 tabindex=0 承接键盘导航:←/→ 切换、Home/End 跳首末;RTL 下 ←/→ 镜像
- 每张 role=group aria-roledescription="slide" aria-label「第 N 张」,非可见张 aria-hidden + inert
- 指示器 role=tablist/tab,aria-selected,可 Enter/Space 触发
- 箭头 role=button aria-label 上一张/下一张,可键盘操作
- autoPlay 提供可见播放/暂停按钮(WCAG 2.2.2,aria-pressed),hover/键盘 focus 进入自动暂停
- reduced-motion 下切换动画归零且 autoPlay 不自启
设计变量
| 变量 | 默认值 | 用法 |
|---|---|---|
--cd-carousel-animation-transition-delay | var(--cd-motion-duration-none) | Semi $transition_delay_carousel_*(背景/文字色过渡延迟 none) |
--cd-carousel-animation-transition-duration | var(--cd-motion-duration-none) | Semi $transition_duration_carousel_*(背景/文字色过渡时长 none) |
--cd-carousel-animation-transition-function | var(--cd-motion-ease-standard) | Semi $transition_function_carousel_*(背景/文字色过渡 easeOut) |