直接答案:第 43 期统计的 391 个“没有可见文本”的链接,在合并 aria-label、链接内图片的 alt 与 title 之后,有 254 个(65.0%)仍然有可访问名称:232 个来自图片 alt、17 个来自 title、5 个来自 aria-label。剩下 137 个(35.0%)在静态 HTML 里没有任何名称,分布在 20 个站点。

另一个数字:2,739 个链接里有 567 张链接内图片,其中 274 张的 alt 为空(48.3%)。空 alt 的图片算装饰,不提供名称;如果它是链接里唯一的内容,这个链接就没有名字。

2,739
链接总数
391
无可见文本
254
仍有名称
137
确实无名称
567
链接内图片
274
其中 alt 为空

方法:按优先级取名称

沿用第 43 期的同一批 25 个首页缓存,零网络请求。对每个带 href 的 <a>,按简化版可访问名称(accname)顺序取第一个非空来源:

优先级来源本期处理
1aria-label属性非空即采用
2aria-labelledby只记录引用,不解析 DOM id
3可见文本去标签后非空
4链接内图片 alt第一张非空 alt
5title属性非空

“无可见文本”沿用第 43 期口径:去掉内部标签后没有文字。空 alt 视为装饰,不提供名称。本期不执行 JavaScript,也不计算 CSS 隐藏文本。

结果:391 个无文本链接,254 个有名字

名称来源数量占 391
链接内图片 alt23259.3%
title174.3%
aria-label51.3%
无任何名称13735.0%
合计391100%

也就是说,第 43 期的 391 个“无文本”里,65.0% 并不是无名称链接。这个差别来自统计层:第 43 期数的是可见文字,本期数的是可访问名称。

从全量看,137 个无名称链接占 2,739 个链接的 5.0%,出现在 22 个有链接站点中的 20 个。

137 个无名称链接集中在 20 个站点

站点无名称链接说明
E1720同页还有 5 个 aria-label 链接
E161913 张链接内图片,12 张 alt 为空
E131835 个靠 alt 命名
E261222 个靠 alt 命名
E11813 张链接内图片全部 alt 为空
其他 15 站60—
合计13720 个站点

前 5 个站点占 77 个(56.2%)。E27 与 E30 的 7 个无文本链接全部有名称(E27 靠 title,E30 靠 alt),是 22 个有链接站点里仅有的两个“零无名称”站点。

链接内图片:567 张,274 张 alt 为空

项数量说明
链接内图片567出现在 22 个有链接站点
alt 为空274占 48.3%,视为装饰
靠 alt 命名的链接23217 个站点

空 alt 本身不是错误:装饰图应该留空。问题在于“链接里只有这张图,而它 alt 为空”,此时链接对屏幕阅读器就没有名称。274 张空 alt 里有多少属于这种情况,本期用 137 个无名称链接间接体现。

aria-label 只有 5 个,title 有 17 个

  • aria-label:5 个,全部在 E17,而且都没有可见文本;没有出现用 aria-label 覆盖可见文字的情况。
  • aria-labelledby:0 个。
  • title:17 个,分布在 5 个站点;E12 6 个、E27 5 个、E13 3 个、E04 2 个、E29 1 个。

title 能提供名称,但它在触屏和键盘场景下是否展示取决于浏览器,通常只作为补充,不建议当作唯一名称。

与第 43 期对照

口径结果占全部 2,739
第 43 期:无可见文本39114.3%
第 44 期:无可见文本但有名称2549.3%
第 44 期:无任何名称1375.0%

两期数字不冲突:一个数“看不见字”,一个数“读不出名”。验收时应先看后者,再回看前者。

对验收的启示

  1. 别把“无文本”直接判为失败。 391 个里 65.0% 能靠 alt、title 或 aria-label 读出名字。
  2. 先合并 alt 再下结论。 232 个名称来自图片 alt,这是最大的一层。
  3. 空 alt 链接要单独看。 274 张空 alt 图片中,只有位于“纯图片链接”时才会造成无名称。
  4. title 不作为唯一名称。 17 个只靠 title 的链接,建议补可见文字或 aria-label。
  5. aria-label 用得很少。 5 个,全在一个站点;需要时它是成本最低的补救方式。

局限

  • 静态近似:不执行 JS,不计算 CSS 隐藏文本;JS 后续补的名称看不到。
  • 非完整 accname:未实现 role=presentation、图片自身 aria-label、aria-labelledby 的 id 解析等规则。
  • title 计入名称:可访问性实践上并不理想,本期单列,读者可自行剔除。
  • 正则解析:不处理嵌套锚点与注释内链接。
  • 25 家 pilot:不外推行业。

数据与复算

匿名数据:equipment-link-names-2026.csv(25 行 × 15 列:链接数、可见文本、aria-label、图片 alt、title、labelledby、无名称、无可见文本、按来源拆分、链接内图片与空 alt 数)。仓库内为 docs/research/2026-11-link-names.csv。

解析:scripts/link_name_probe.py;单元测试 scripts/test_link_name_probe.py(18 项,无网络)。运行:

python -m unittest scripts.test_link_name_probe

配套:首页链接结构 pilot(第 43 期)、首页语义结构 pilot、首页图片 alt 覆盖率与文案、文章页链接结构 pilot。

数据来源与口径

  1. 首页缓存:第 4 期 25 个首页(2026-10-31 至 11-01)。
  2. 名称顺序:aria-label → aria-labelledby(仅记录)→ 可见文本 → 图片 alt → title。
  3. 空 alt 视为装饰;无可见文本口径与第 43 期一致。
  4. 扫描时间:2026-11-03,零网络请求。
关于作者

凌壹信息Official(交付团队),负责企业网站、品牌与智能制造项目的需求梳理、方案与验收协作。本文只对缓存 HTML 做静态名称推断,不执行脚本,也不构成对任何站点排名、流量或无障碍合规的最终判断;25 家 pilot,不外推行业。

先看名字,再看文字

无可见文本只是第一层;合并图片 alt、title 与 aria-label 后,再判断链接是否真的没有名称。

预约内容验收方案