{
  "synthetic": true,
  "execution": "Teaching record only; no live integration tested",
  "slug": "portfolio-carousel-control-brief",
  "group": "accessible-interaction",
  "title": [
    "Approve gallery discovery before carousel motion",
    "作品轮播，先验收能否找到每件作品"
  ],
  "intro": [
    "A portfolio carousel can hide the very project a buyer wants to inspect. Decide whether a carousel adds value over a static grid, then commission navigation, pause and focus behaviour as explicit deliverables. Attractive transitions cannot substitute for finding every item.",
    "作品轮播可能把买家想看的项目藏起来。先判断它是否比静态网格有用，再把导航、暂停及焦点行为列为交付；转场好看不能代替每项都找得到。"
  ],
  "facts": [
    [
      "W3C WAI calls for keyboard operation, understandable focus, communicated item changes and user control of movement in accessible carousels.",
      "W3C WAI要求可用键盘、焦点清楚、项目变化可感知，并让用户控制轮播运动。",
      "https://www.w3.org/WAI/tutorials/carousels/"
    ]
  ],
  "columns": [
    [
      "Synthetic gallery state",
      "Reader action",
      "Expected result"
    ],
    [
      "合成图库状态",
      "读者动作",
      "预期结果"
    ]
  ],
  "example": [
    [
      [
        "4 projects; project 1 shown; auto-advance enabled",
        "Activate Pause",
        "No timed advance while paused"
      ],
      [
        "4项目，显示第1项，自动播放",
        "按暂停",
        "暂停期间不定时切换"
      ]
    ],
    [
      [
        "Paused on project 1",
        "Keyboard Next",
        "Project 2 shown; focus remains predictable"
      ],
      [
        "停在第1项",
        "键盘按下一项",
        "显示第2项，焦点位置可预测"
      ]
    ],
    [
      [
        "Project 4 shown",
        "Activate declared non-looping Next",
        "Stay 4; end state communicated"
      ],
      [
        "显示第4项",
        "按约定不循环的下一项",
        "留在第4项，明确结束状态"
      ]
    ],
    [
      [
        "Motion unavailable or script failed",
        "Use plain project links",
        "All 4 destinations still reachable"
      ],
      [
        "运动不可用或脚本失败",
        "用普通项目链接",
        "4个目标仍能到达"
      ]
    ]
  ],
  "steps": [
    [
      "Inventory project destinations and choose looping or bounded navigation deliberately. Keep important links available outside automatic rotation.",
      "盘点项目目标，明确选择循环或有界导航；重要链接不能只在自动轮换时短暂出现。"
    ],
    [
      "Agree pause/resume, keyboard controls, item names and announcement behaviour. Reconcile this with reduced-motion preferences without assuming reduced motion alone solves discovery.",
      "约定暂停继续、键盘控件、项目名称及变化反馈；另兼顾减少动态偏好，不能假设少动画就解决发现问题。"
    ],
    [
      "Test reaching each destination, pausing for extended reading and moving backwards. Verify hidden-slide controls are not unexpectedly focusable and record mobile behaviour.",
      "测试到达各目标、长时间暂停阅读及后退，核对隐藏幻灯片控件不会意外获得焦点，并记录手机行为。"
    ]
  ],
  "result": [
    "The four-item contract exposes several separate outputs: current item, rotation state, focus and destination reachability. A pause icon that changes appearance but does not stop the timer fails. If equivalent navigation costs more than the carousel benefits, a static project list is a legitimate design decision.",
    "四项合同拆出了当前项目、播放状态、焦点及目标可达性。图标变了但计时器不停仍是失败；若等价导航的成本超过轮播收益，静态项目列表就是合理决定。"
  ],
  "accept": [
    "Every project must be reachable and identifiable without waiting for rotation, and user pause must persist according to the agreed behaviour. Save an observed journey, not just a still image.",
    "每个项目均须无须等待轮换即可识别到达，暂停按约定持续生效；保留实际流程，不能只留静态图。"
  ],
  "limit": [
    "Synthetic gallery and proposed behaviour, not a test of MadRaven’s frozen homepage. No existing animation or page was changed. Screen-reader/browser support still needs implementation testing.",
    "合成图库及拟定行为，不是测试MadRaven冻结首页；没有改变任何旧页或动画。实际实现仍需读屏和浏览器测试。"
  ]
}
