展现形式 · 概念
Carousel:有限空间中的序列浏览
Carousel 轮播在什么条件下适用、会带来哪些内容发现成本,以及控制按钮、键盘操作、自动播放暂停和零项或单项时的退化要求。
Carousel 在固定区域内依次显示一个或一组项目,用户通过上一项、下一项或位置控制浏览序列。它强调离散项目与主动切换;连续循环、无需逐项操作的运动形式属于 Marquee。
适合与不适合
适合项目属于同一集合、空间确实受限、顺序可理解,且隐藏部分项目不会妨碍完成主要任务的场景。不适合关键购买条件、错误信息、必须全部看见的比较内容,或仅为让首屏看起来“动态”的自动播放广告。
优点与缺点
| 优点 | 缺点 |
|---|---|
| 在有限空间容纳多个媒体或入口 | 非当前项目被隐藏,发现率降低 |
| 用户可按顺序聚焦单个项目 | 控制、焦点和状态通知实现复杂 |
| 适合具有自然序列的内容 | 高度变化可能造成页面跳动 |
| 可与触摸滑动结合 | 自动播放会抢占注意力和阅读时间 |
内容与交互要求
每一项应能独立理解,并明确当前序号、总数和可用控制。上一项、下一项不是装饰箭头,需要真实按钮名称与状态。不要把所有项目的链接都放进不可见但仍可聚焦的区域;切换后应让辅助技术感知变化,而不制造冗长重复播报。
响应式与无障碍
所有功能应可用键盘操作。自动轮播必须提供可见的暂停/播放按钮,并把它放在 Carousel 内 Tab 顺序的第一位;键盘焦点进入 Carousel 或鼠标悬停其上时停止轮播,且只有用户主动恢复后才重新开始。自动轮播期间关闭项目区域的实时播报,由用户手动切换时再以礼貌级别播报变化。触摸滑动不能成为唯一控制方式。文字叠图时保持对比度;减少动态效果偏好下取消非必要过渡。
状态与退化
零项移除整个区域;一项直接静态展示并隐藏导航;少量项目可退化成 Grid 或 List。无 JavaScript 时应至少显示一个完整项目或全部静态项目,而不是空白轨道。
发布前检查
- 隐藏后是否会错过关键条件或主要行动?
- 当前项、总数和控制作用是否可感知?
- 键盘、触摸和屏幕阅读器能否完成同样浏览?
- 自动播放能否通过按钮真正暂停,而不只是在悬停或聚焦时临时停止?
- 一项、内容高度不同和脚本失败时是否稳定?
固定版本主题实现
- Dawn 内容分区与动效、Horizon 跑马灯、轮播与动效:两个主题的滑动展示、自动播放控制与减少动态处理。
- Dawn 商品推荐、Horizon 商品推荐:推荐区块使用滑动展示的方式。
固定基线为 Dawn v15.3.0 与 Horizon 4.2.0;结论限于这两个提交,均为静态源码分析,未运行验证。