图片丢失时,页面不应留下空白或破图标,而应让替代文本、尺寸占位和关键说明接管信息传递。前提是:你已在模板层为每张图预留了可读的替代内容,并允许在图片确实无法恢复时改写版式,而不是只做一次性的补图。
图片丢失的原因不同,处理方式也不同。常见可区分的情况有三类:
一个实际动作是:先在浏览器开发者工具的网络面板中查看该图片请求返回的状态码。若返回 404,说明资源确实不存在;若返回 403,可能是权限或防盗链问题;若请求根本没有发出,则要检查 HTML 中的引用是否被条件逻辑屏蔽。这个结果直接决定下一步是修路径、换资源还是改版式。
很多人把替代文本写成图片的视觉描述,例如“一张蓝色的产品图”。当图片丢失时,这种写法对读者几乎没有帮助。更有效的做法是写清这张图原本承担的信息职责。
假设一个产品列表页的配图丢失,替代文本写“产品外观”只能告诉读者这里原本有图;写成“产品型号 A 的正面接口布局,左侧为电源口,右侧为两个 USB 口”则保留了读者做判断所需的关键信息。前者只是占位,后者才是信息保留。
适用条件是:替代文本必须基于图片真实内容撰写,不能为了填补空白而编造参数。如果图片是装饰性的,正确做法是留空替代文本并让容器自然收缩,而不是硬塞一段无意义描述。
图片丢失后,页面会出现两种典型表现:一是容器仍保留原尺寸,留下大片空白;二是容器塌陷,导致周围文字和按钮位置跳动。两种都不理想,但处理方式取决于该图片在版式中的角色。
保留尺寸适用于图片位于固定栅格中、周围元素依赖其占位的情况。做法是给图片容器设置明确的高度或宽高比,图片加载失败时容器不塌陷,替代文本在容器内显示。结果是页面布局稳定,但会留下可见空白。
允许收缩适用于图片只是辅助说明、正文可以独立成立的情况。做法是让容器高度由内容决定,图片失败后该模块自然变矮。结果是页面更紧凑,但相邻模块可能上移,需要确认不会打乱阅读顺序。
一个可操作的判断方法是:把图片临时禁用,观察页面是否仍能读懂。如果读不懂,说明这张图承载了关键信息,应优先保留占位并补足替代文本;如果读得懂,说明它可以收缩甚至移除。
当图片无法恢复时,有三种退出路径,各自适用条件不同:
需要注意的边界是:个别页面靠人工补图可以恢复,但当站点规模扩大、图片数量增多后,人工逐张处理会失效。此时真正起作用的是模板层是否统一设置了兜底规则,例如默认替代文本、占位背景和失败后的版式行为。没有这层规则,规模化后必然出现大量空白页。
逐页修补只能解决当下这一张图,模板规则才能覆盖后续新增内容。一个务实的做法是:在图片组件中约定三个默认行为——加载失败时显示替代文本、容器是否保留尺寸、以及超过一定时间仍未加载时是否隐藏该模块。
这些规则不需要复杂,但要在实际页面中验证。例如,你可以临时把某张图的地址改成一个不存在的路径,然后检查替代文本是否可读、布局是否稳定、屏幕阅读器是否能获取到有效信息。这个动作的结果会告诉你:当前的兜底规则是否足够,还是需要为特定版式单独开例外。
最后要明确的是,图片丢失本身不说明页面质量差,也不必然影响访问。真正决定用户体验的,是丢失之后页面是否还能把必要信息交代清楚。把这一点作为取舍标准,比追求每张图都完好更实际。