图片丢失时,页面不应让整块内容跟着塌掉。更稳妥的做法是:为每张图片预留尺寸,并用替代文本或占位说明保留“这里原本有什么、对读者有什么用”。如果图片承载的是价格、规格、身份证明等关键信息,就不能只留一个灰块,而要把信息改写成文字;若图片只是装饰,直接退出渲染更合适。判断依据不是图片好不好看,而是它丢失后读者还能不能完成当前任务。
同样是一张图,丢失后的代价完全不同。信息型图片包括商品细节、图表、流程图、证件照、操作步骤截图;气氛型图片包括背景纹理、横幅装饰、与正文无关的配图。前者丢失会让读者无法理解或无法决策,后者丢失通常只影响观感。
一个可操作的判断方法是问:把这张图遮住,读者还能不能回答“这是什么、多少钱、下一步做什么”。如果答案是否定的,它属于信息型,必须保留等价文字。如果答案是肯定的,它属于气氛型,可以让它安静退出,不必用大块占位打断阅读。
这一步的产出会直接决定下一步:信息型图片进入改写流程,气氛型图片进入退出流程。两类混在同一容器里时,优先按信息型处理,避免关键内容被一起隐藏。
保留并不等于把破图图标留在页面上。更合理的保留分两层:外层容器用固定的宽高比占位,防止图片加载失败后布局跳动;内层用替代文本或可见说明告诉读者这里原本是什么。
替代文本要写“信息”而不是“图片”。例如商品主图丢失时,写“红色款正面图,含可拆卸肩带”比写“商品图片”更有用;流程图丢失时,写“三步流程:提交申请、等待审核、下载结果”能让读者继续阅读。若替代文本过长,可以在图位下方补一段简短说明,并让这段说明在图片正常显示时也保留,避免两套内容不一致。
保留的代价是页面变长、维护成本上升,而且替代文本写得不好会变成新的噪音。它适合以下前提:图片位于首屏或决策路径上;图片内容无法用一句话概括;页面需要兼顾屏幕阅读器和图片加载失败两种情况。
一个假设例子:某活动页的报名流程图丢失,替代文本写成“报名流程共三步”,读者仍不知道第三步是什么。改成“填写信息、等待确认邮件、按邮件链接完成报名”后,读者无需看图也能继续。这个改写动作的结果是:页面从“看起来坏了”变成“仍然可用”,下一步只需检查文字是否与最新流程一致。
有些图片丢失后,保留占位仍然不够,因为读者需要的是图里的数据或步骤。这时应把关键信息改写成文字、列表或简单的 HTML 结构,而不是继续依赖图片。
适用前提是:图片内容本身是结论,而不是装饰。例如价格表截图、参数对比图、后台操作步骤图。改写时只搬读者做决定所需的最小信息,不必复刻整张图的视觉细节。可以用 <ul> 列出步骤,用 <code> 标出字段名,让内容在无图状态下依然可读。
改写的代价是初期投入更高,而且图片更新后文字容易过期。控制办法是:把改写后的文字放在图片附近,并在图片替换流程中一并检查。若图片频繁变动且信息量很大,可以考虑让图片只做辅助,正文始终保留一份精简文字版本。
需要注意,改写不是把图片里的每个字都抄一遍。读者要的是“能不能继续”,不是“图里有什么”。把关键数字、步骤顺序、必要条件写清楚即可。
装饰型图片丢失时,最省事的做法是让它退出渲染,而不是显示破图图标或大块灰色占位。前提是这张图不承载信息,也不影响读者理解上下文。常见对象包括背景图、分隔线图案、与正文无关的氛围配图。
退出的代价是页面观感可能变单调,但这通常比让读者看到一排损坏图标更好。动作上,可以让图片容器在加载失败时收缩为无高度,并确保周围文字间距仍然正常。完成后要检查两件事:布局是否出现空洞,以及是否有相邻元素因此错位。
如果一张图介于装饰和信息之间,例如品牌横幅上带有活动名称,就不适合直接退出。此时应把活动名称用文字保留下来,图片只作为增强。判断标准仍然是:丢失后读者是否还能获得同等必要信息。
与其在图片丢失后临时决定,不如在开发阶段给每张图标注类型和处理方式。可以用下面的顺序快速分流:
这个顺序的动作结果会直接影响后续开发时长:信息型图片需要额外写文字和检查一致性,装饰型图片只需处理布局收缩。把两类分开估算,比统一按“图片加载失败”处理更接近实际工作量。若页面以图片为主且文字极少,改写工作量会明显上升,这时应优先保证决策路径上的图片,而不是平均分配时间。
最后要说明的是,图片丢失并不总是网络问题,也可能是路径变更、资源被移除或权限变化。看到图片消失时,不能只凭一个现象就断定原因;先确认图片是否仍存在于原位置,再决定是修路径还是按上述方式保留信息。页面能否在缺图状态下继续传达必要信息,才是这一步真正要守住的结果。