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)