动态生成内容需要在每次更新后重新核验达标状态
别名: 动态内容 · 重测 · CMS · A/B 测试
概念解释
去年测过模板,不等于这周这篇文章达标。内容管理系统、A/B 实验、用户生成内容、单页应用的路由切换,都会在声明之后改掉被评价的对象。动态生成内容需要在每次更新后重新核验(retesting dynamic content)说的是:符合性是某个状态下的快照。快照过期,声明就在用一张旧照片担保新页面。
机制
被评价的是一次具体的 DOM / 一次具体的媒体文件,不是仓库里的设计稿。模板过了,编辑仍可上传无替代文本的图、把标题跳级、把按钮文案改成「点击这里」。实验平台还可以把百分之十的用户送进从未测过的变体。第二层是「测过模板」与「测过实例」被当成同一件事:工程负责模板,编辑负责实例,声明却写在站点上。路由级的客户端渲染还会在同 URL 下换一整棵树,按 URL 做的旧测试覆盖不到新树。
怎么研究
在一次内容发布或实验上线的前后各做一轮核验(同一范围、同一方法),记录新出现的失败。区分模板失败与实例失败。对单页应用,在每次路由切换后抓无障碍树,而不是只测首屏。
自变量:更新类型(文案 / 媒体 / 模板 / 实验变体 / 路由)。 因变量:声明是否仍成立、新增失败属于模板还是实例、仅出现在某一变体中的失败数。
持续监测可以抓对比度和缺失替代文本,抓不住「这篇文章的标题层级乱了」的全部语义;监测是重测的输入,不是重测的替代。
边界
纯静态归档、内容冻结的法律文本,快照可以维持到下一次改动。改动如果只碰页脚版权年,不必整站重做 WCAG-EM;但要有规则写明什么算「触及结构或媒体」。用户生成内容无法在每条发布时做完整人工审计,声明必须写清抽检频率和 moderation 门禁,不能假装每条都核过。第三方脚本热更新属于下一层失控问题,这里只要求:自己发出去的变体,自己重测。
怎么落地
- 发布清单把「无障碍核验」绑在模板变更、实验上线和媒体批量导入上,而不是只绑在日历上的「年度审计」。
- 对 CMS 字段做约束:图必须有替代文本才能发布;标题样式不得冒充标题节点。
- 实验平台的每个变体视为新页,未测变体不得进入声明范围。
- 验证:选上周新发布或正在跑的实验变体,用与声明相同的方法抽测。出现声明中没有的失败,就更新日期并重写结论;若声明日期早于这次发布,这份声明已经过期。