audio标签内纯文本是加载失败时唯一可见的降级提示,必须紧贴闭合标签前、不含任何html标签,且需明确失败原因与可操作建议。

audio标签内部文本不是装饰,是fallback失败时的最后提示
浏览器遇到所有
备用节点必须写在所有之后,且不能嵌套其他HTML标签
顺序和结构错一点,备用文本就完全不显示。常见错误是把提示写在第一个 正确写法是纯文本紧贴闭合标签前,不带任何HTML标签: 只写“不支持”太模糊,用户不知道该刷新、换浏览器,还是网络问题。建议包含两层信息: 例如: 注意:这个文本不会影响SEO或无障碍读屏,但它是在JavaScript也失效时,用户能收到的最后一条有效信息。 很多人误以为写了备用提示,就能掩盖服务器配置错误。实际不是——如果响应头Content-Type是 排查优先级永远是: 真正容易被忽略的是:备用文本只在“所有source均被跳过”时才生效;只要有一个<audio controls><p>点击播放音频</p> <!-- ❌ 错:p标签会被忽略 -->
<source src="a.mp3" type="audio/mpeg"><source src="a.ogg" type="audio/ogg"></source></source></audio>
<audio controls><source src="a.mp3" type="audio/mpeg"><source src="a.ogg" type="audio/ogg">
您的浏览器不支持音频播放,或音频文件加载失败。
</source></source></audio>
等内联标签,否则整个备用内容被浏览器丢弃
提示文案要兼顾技术失败和用户操作引导
<audio controls><source src="sound.mp3" type="audio/mpeg"><source src="sound.ogg" type="audio/ogg">
音频加载失败:可能因网络中断、文件不存在,或浏览器不支持该格式。请刷新页面,或使用Chrome/Firefox重试。
</source></source></audio>
别指望备用节点解决MIME或路径问题
text/plain,浏览器连解码器都不调用,<code>canplay事件都不会触发,但备用文本照常显示。此时用户看到提示,却不知道真正卡在哪。
200
Content-Type是否匹配source的type(如audio/mpeg)file://路径
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











