You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AEM渲染的video元素无障碍报错[WEB-60]求解决方案

问题解答

核心结论

playsinline=""、loop=""这类空属性不是触发你遇到的无障碍错误的原因。

错误本质

这个WEB-60错误的核心是:你的<video>元素没有提供可访问名称——屏幕阅读器等辅助技术无法识别这个视频的内容或用途,所以需要给它添加能被辅助技术读取的标识信息。

修复方法

给<video>元素添加可访问名称,有几种常用方案:

方案1:直接添加aria-label属性

给视频设置简短、准确的描述,适合没有对应页面标题的场景:

<video playsinline loop muted autoplay width="100%" aria-label="首页轮播宣传视频">
  <source src="video.mp4" type="video/mp4" data-src="video.mp4"/>
  <source src="video.webm" type="video/webm" data-src="video.webm"/>
  抱歉,你的浏览器不支持嵌入视频。
</video>

注意:你代码里webm类型的source用了mp4文件,建议换成对应的webm格式资源,避免无效请求

方案2:用aria-labelledby关联已有标题

如果页面中已经有描述该视频的标题元素,可以通过ID关联:

<h2 id="promo-video-title">品牌新品宣传视频</h2>
<video playsinline loop muted autoplay width="100%" aria-labelledby="promo-video-title">
  <!-- source元素和降级内容 -->
</video>

方案3:添加屏幕阅读器可见的隐藏文本

适合需要同时满足视觉无干扰和辅助技术识别的场景,用CSS把文本移出可视区域:

<video playsinline loop muted autoplay width="100%">
  <span class="sr-only">企业核心业务介绍视频</span>
  <source src="video.mp4" type="video/mp4" data-src="video.mp4"/>
  <source src="video.webm" type="video/webm" data-src="video.webm"/>
  抱歉,你的浏览器不支持嵌入视频。
</video>

对应的CSS:

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

另外提一句:HTML5的布尔属性(比如playsinline、loop)不需要赋值,直接写属性名即可(比如<video playsinline loop ...>),空属性写法虽然不会导致错误,但规范写法更简洁。

内容的提问来源于stack exchange,提问作者linnse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:34