图片丢失后,页面不该只留下一个破图标。更稳妥的做法是:让替代文本承担信息职责,让尺寸占位避免布局跳动,再决定是保留该图、改写为文字/链接,还是直接退出该内容块。判断依据不是“图片有没有返回 200”,而是这张图在页面中承担的是装饰、说明还是入口。三种角色对应三种处理,不能混用。
图片丢失时最容易犯的错,是对所有图统一补一句“图片加载失败”。这句话对装饰图无害,对信息图却是灾难。可核对的区分方法是看图片周围有没有文字能独立说清同一件事:
alt="")即可,不必补文字。这个区分直接决定下一步:装饰图可以直接退出,说明图和入口图必须保留信息。
当图片属于说明图或入口图,且你暂时无法恢复原图时,优先保留信息而不是删块。具体动作是给 <img> 写描述性 alt,并显式声明宽高:
<img src="flow.png" alt="下单流程:选规格、填地址、支付、发货四步" width="640" height="360">
宽高写死后,即使图片请求失败,浏览器仍会预留同样大小的空间,正文不会突然上移或下移。这一步的结果会直接影响后续判断:如果页面布局稳定、alt 能独立说清内容,那么这张图可以暂时保留,等原图恢复;如果 alt 写完仍说不清,说明这张图的信息量超过一句话,应进入改写。
适用前提:你能确认图片的原始语义,且它有恢复的可能。若图片来自外部且长期不可控,保留只是在拖时间。
数据图、多步流程图、对比截图往往无法用一句 alt 覆盖。这时更合理的动作是把图片承载的信息改写成正文段落或列表,图片本身退为可选增强。例如一张“近四季转化对比”的柱状图丢失后,与其写 alt="转化对比图",不如在正文补一句结论并注明口径:
假设示例:某页原图展示四个季度的咨询量变化,图丢失后改为“咨询量在第二季度为全年最低,第三季度回升”,并保留数据来源说明。这样即使图永远不回来,读者仍能获得结论。
改写后要检查一件事:删掉 <img> 标签,这段文字是否仍成立?成立就可以退出图片;不成立说明你还没把信息转移干净。入口图同理,可把图标按钮改成带文字的链接,让可点击区域有明确指向。
适用前提:图片信息能被文字等价表达,且改写成本低于恢复成本。对纯视觉设计稿、复杂图表,文字只能近似,需接受信息损耗。
不是所有图都值得抢救。装饰图、纯氛围图、与正文无关的配图,丢失后直接删掉标签比补 alt 更干净。判断信号是:这张图删掉后,页面结论、操作路径、可点击入口都不受影响。
退出时要连带处理三件事:
<a>,避免留下可点击但无目标的区域。做完这三步,再回看页面:如果正文连贯、没有破图占位、没有空链接,退出就是正确选择。
图片丢失时,直觉常让人立刻删图,但请求失败并不等于资源永久不存在。可核对的现象包括:单张图失败而其他图正常、同一路径在另一页面能加载、失败集中在某次发布之后。这些现象各自有不同解释:
这些只是线索,不能单独证明原因。比如“抓取量归零”也可能来自统计口径调整、robots 变更或日志采样,而不是图片处理正确。因此建议先做一次最小验证:直接请求该图片地址,看返回的是 404、403 还是超时。404 偏向路径或文件缺失,403 偏向权限,超时偏向服务或网络。验证结果决定你是修复路径后恢复图片,还是进入改写或退出。
把动作和结果连起来看:先验证失败类型,再决定保留、改写或退出;布局是否稳定、alt 是否说清信息、删图后正文是否成立,是三个可复核的检查点。任何一步不通过,就回到上一步换策略,而不是一次性把所有图都删掉或都补同一句 alt。