我第一次用Mac自带的VoiceOver刷Twitter,是2021年。纯好奇,想看看视障用户到底是怎么"上"社交媒体的。

结果,时间线上一条金毛犬在草坪上打滚的照片,屏幕朗读器读出来只有两个字:"图像"。
我以为是我的设置问题,又刷了一条——朋友生日聚会的合影,还是"图像"。再刷,一张裁员通知的长截图——依然是"图像"。
这三张图,视力正常的人看到的信息量天差地别。但屏幕阅读器眼里,它们共享同一个名字。
全球超过20亿人带着某种程度的视力障碍生活。对他们来说,社交媒体上所有没有文字描述的图片,都是一条又一条的"图像"——所有信息被这两个字吞噬。
这个问题的解法,其实存在了快三十年,就是HTML里那个简单的alt属性。但真正精彩的是另一个故事:因为人类懒得写alt text,平台开始让AI来写。而这件事的难度,远超"看图说话"这句话给人的想象。
一张图,两个字的空白:替代文本为什么是底线
W3C的无障碍指南(WCAG)把"所有非文本内容都要有替代文本"列为1.1.1号成功标准,属于A级——不是锦上添花的高级选项,是最基本的门槛。
<img src="birthday.jpg" alt="朋友聚会,桌上摆着蛋糕">
屏幕阅读器会把alt属性里的文字读出来。对依赖读屏的用户来说,这段文字就是整张图片的全部。它不只是"图片说明",而是"这张图在此刻的对话里传达了什么"的转述。
但现实是,社交平台上绝大多数图片的alt text是空的。原因很朴素:
- 平台的"添加替代文本"入口太隐蔽
- 多数用户根本不知道视障用户的存在
- 就算知道,"发一张图还要写一段文字"的摩擦实在太大
Twitter在2016年就上线了图片描述功能,但直到今天,你随手截图一条时间线,能遇到带alt text的图片依然是小概率事件。Facebook走得更远——2016年4月,它宣布用AI自动为平台图片生成alt text,起步阶段的输出格式大体长这样:
"图片可能包含:一个人、室外、雪。"
注意这个措辞——"可能包含"。这个"可能"两个字后来困扰了我很久。
让AI看图说话:把图片压缩成数字,再逐词翻回来说话
Facebook的自动alt text背后是一个叫"图像描述(Image Captioning)"的领域。2015年,Google发表《Show and Tell》,第一次用深度学习端到端地实现了"图片到文字"的生成。这个思路的本质,是把它当成一个翻译任务:图片是一种语言,句子是另一种语言。
具体做法分三步:
- 编码:用卷积神经网络(CNN)把图片压成一个固定长度的特征向量。这里的"压缩"不是指文件变小,而是把"一条金毛躺在草地上"这种极高层的语义信息抽象成约一千个数字。
- 解码:用语言模型(当时是LSTM)逐词生成句子。生成第一个词时,手上只有图像特征向量;生成第二个词时,手里拿着"图像特征+第一个词";生成第三个词时,手里拿着"图像特征+前两个词"。每一步都建立在前一步的基础上。
- 训练:在成千上万张"图片-文字描述"的配对数据上,让模型最大化每个词被正确预测的概率。
用大白话讲:模型像一个学生,盯着黑板上的内容做完笔记之后,合上黑板,凭笔记向别人复述。笔记这层信息筛选,决定了后面的复述质量。
当时模型使用的解码器LSTM有一个致命弱点:它一个词一个词地"走",任何一步出错,错误就会沿序列往后滚雪球。更麻烦的是,LSTM对图像特征的利用极其粗糙——特征向量是整张图的平均语义,模型无法针对画面里的具体区域聚焦。
同一年,Xu等人发表《Show, Attend and Tell》,在解码过程中加入了视觉注意力机制。模型在生成每个词之前,先在图片平面计算一张"注意力热力图"——哪个位置的像素与该词最相关,就把那里的特征放大的权重。生成"狗"的时候看狗那一块,生成"草地"的时候看草地那一块。相当于给模型加了一双眼睛。
这个改动让图像描述的质量上了个大台阶。后来的发展完全可以预料:编码器从CNN换成更强的Transformer(CLIP),解码器从LSTM换成自回归语言模型(GPT),还出现了BLIP这类以视觉-语言理解与生成为目标的预训练模型。今天的自动图像描述已经能写出非常流畅的句子。
但有个困惑缠绕了我很长时间:"AI生成的alt text是不是已经够好了?"我做了个自己的对比实验,结论有点出乎意料。
AI生成的描述没有一句是错的,却没有一句是有用的
同一批图片,让人类写alt text,再让AI写。对比非常有意思:
| 图片 | 人类手写的alt text | AI自动生成的alt text |
|---|---|---|
| 一场寿宴合影 | 老张六十大寿,全家在北京饭店聚一聚 | 七个人围坐在餐桌旁,桌上有一个蛋糕 |
| 一张《指环王》meme | "One does not simply walk into Mordor" 的经典梗图 | 电影截图中,一个男性角色面向镜头,神情严肃,背景是山 |
| 一台笔记本的晒单 | 新入手的MacBook Air M3,午夜色,官网下单立省500 | 一台银色笔记本电脑放在木质桌面上 |
注意,AI的每句话描述都"正确",但全部落在了错误的信息层级上。
替代文本的标准从来不是"语句正确",而是"功能等价"。WCAG的原文是:所有非文本内容都必须有"serves the equivalent purpose"的文本替代。一张寿宴合影的信息,不是"七个人和一个蛋糕",而是"老张六十大寿"。一张meme的信息,不是"神情严肃的男人",而是那层言外之意。
AI模型不知道这些,因为它看不到上下文——它不知道这张图发布时的配文、评论、对话氛围,它只看到孤零零的像素。
更麻烦的是,自动图像描述有一种"平均主义倾向"。因为模型不知道什么重要,就只能默认一切重要,于是它把所有画面元素堆砌给你:"一个人、一张桌子、一个蛋糕、一些气球。"
对依赖文字的视障用户来说,这就是拿到了一个没对准焦点的镜头:什么都能看到,什么也看不清。你听到的描述像一封流水账,却抓不住一张图真正的重点。
在最坏的情况下,模型还会一本正经地"编造"出图像中不存在的东西。这和ChatGPT的幻觉同源——模型在统计上知道"这类场景通常有什么",于是把"通常"错当成"一定"。如果这个幻觉发生在alt text里,对用户的误导比完全没有alt text还要严重:至少"图像"两个字不会让你信以为真。
我原来的想法,被这个实验结果改写了
写这篇文章以前,我一直认为"自动生成alt text"是个已经被大模型解决得差不多的问题。毕竟现在给AI一张图,它连画面里手机的品牌型号都能凭文字识别出来。自动alt text能差到哪去?
我的认知偏差在于:我拿"看图说话"的能力去衡量了自动图像描述,但alt text这个任务要求的根本不是"看图说话",而是"理解这张图在社交语境里的意义"。
打个比方:自动图像描述模型就像一个刚到岗的实习生,知识扎实,细节一个不落,但让它给客户写一封邮件,它不知道该强调什么。这不是描述能力的问题,是社会化程度的问题。
换句话说,自动alt text当前的能力边界是:适合信息型图片(新闻截图、天气、产品白底图),不适合社交型图片(聚会、自拍、梗图、生活分享)。
这就是为什么我对"全自动无障碍"始终保留意见。自动alt text的价值在于解决"0到1"——让原本完全没有信息量的"图像"二字,至少变成"画面元素列举"。但最后一公里——把画面还原成意义——目前还必须由人来完成。
所以我认为正确方向是"AI草稿、人工确认"的协作模式:平台默认用AI生成alt text,但在发布流程里,把"编辑替代文本"这个入口放在用户手边。AI负责把那块最低的短板补上,人类负责表达图中真正重要的信息。
这不是一个炫酷的全自动化方案,但它可能是对那超过20亿视障用户真正有用的方案。
想了解更多?给你两个原始文献的入口
图像描述的起点:Show and Tell: A Neural Image Caption Generator(Vinyals et al., 2015)
注意力机制的引入:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention(Xu et al., 2015)
原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/756.html