结论有条件:如果图片承载的是商品外观、证件样式或操作示意,缺失时不能只留空位,应给出文字替代、尺寸占位和可继续操作的路径;如果图片只是装饰,保留空白反而比强行补文字更合适。判断依据不是“图片重要不重要”这种笼统感觉,而是这张图消失后,用户还能不能完成当前任务。
把页面上的图片按用途分三类,处理方式会自然分开。第一类是信息型图片,例如商品主图、图表、步骤截图、地图截图、证书样张,用户看图就是为了获取内容。第二类是操作型图片,例如按钮图标、验证码、二维码、支付标识,缺了会阻断操作。第三类是装饰型图片,例如背景纹理、横幅氛围图、栏目配图,缺了不影响理解。
信息型和操作型图片必须有替代信息,装饰型图片可以留空。这个判断可以在图片加载失败时用肉眼核对:把浏览器图片关掉或让图片地址返回错误,再走一遍页面主流程,哪一步卡住,哪张图就属于前两类。
alt属性是最基本的文字替代,但它只在图片无法显示时由浏览器展示,而且很多场景下用户根本看不到。更稳妥的做法是把关键信息同时写进图片附近的正文或说明文字里,让图片成为补充而不是唯一来源。
假设一个商品详情页,主图展示的是包装正面,下面有规格表。如果主图丢失,规格表还在,用户仍能判断型号和容量,这个页面的信息就没有断。反过来,如果规格只印在图片上,图片没了就只剩一个标题,用户无法决策。此时正确的动作是把规格从图片里提取成文字列表,而不是给alt写一句“商品图片”。
图片缺失时,如果容器没有预设宽高,浏览器会先按零高度渲染,图片加载失败后再塌陷或重排,用户正在点的按钮可能突然移位。给图片容器写死宽高比或最小高度,可以让缺失状态下的页面保持稳定。
常见做法是给外层容器设置aspect-ratio,或给img标签同时写width和height属性,再用CSS控制自适应。这样即使图片请求失败,占位框仍然存在,旁边的文字和按钮不会乱跑。这个动作的结果可以直接验证:断开图片加载后刷新页面,看主内容区是否还在原来的位置。
并非所有图片丢失都该补文字。假设一张装饰性横幅被写成“团队合影,展示公司实力”,图片加载失败时这句话会单独出现,用户以为页面在介绍团队,实际正文却在讲产品参数,信息就错位了。装饰图的alt应留空或只写简短描述,不应承担营销叙事。
另一个反例是验证码、二维码这类操作型图片。它们的文字替代无法真正替代操作,因为用户需要的是图形本身。此时正确的动作不是写一段说明,而是提供“刷新图片”“改用短信验证”等并行路径,或者让页面明确提示当前不可用,而不是留一个破图图标让用户反复点击。
把页面在图片全部加载失败的条件下走一遍,记录三件事:哪一步无法继续、哪条信息只能从图片获得、哪个位置发生了明显位移。然后按记录逐项处理——能转成文字的转成文字,能加并行入口的加并行入口,纯装饰的补上占位尺寸并清空误导性替代文字。处理完再走一遍同样的失败路径,直到主流程不依赖任何一张图片也能完成。这样得到的清单只针对当前页面,比套用通用规则更可靠。