返回博客

无障碍缺失的同意横幅如今会带来两种法律责任,而非一种

欧洲无障碍法案于 2025 年 6 月使 WCAG 2.2 具有可执行力。屏幕阅读器无法导航的横幅会使 GDPR 同意失效。无 cookie 分析可同时绕过这两个问题。

自 2025 年 6 月 28 日起,键盘用户无法完全导航的同意横幅不仅仅是一次无障碍失误——它也是对 GDPR 的违反。欧洲无障碍法案(EAA)于该日在所有 27 个欧盟成员国生效,使 WCAG 2.2 Level AA 成为数字服务(包括分析工具所依赖的同意界面)的法定可执行标准。

这两套监管体系如今已直接耦合。只修复其中一个而忽略另一个,你仍处于风险之中。

EAA 实际要求什么

EAA 对应到欧洲标准 EN 301 549,该标准又引用了 WCAG 2.2。对于同意界面,实际中最重要的要求包括:

  • 焦点不被遮挡(WCAG 2.4.11): 当用户通过 Tab 键切换到某个按钮时,它不能完全隐藏在横幅本身或粘性页眉之后。
  • 键盘可访问性(WCAG 2.1.1): 每个交互元素——接受、拒绝、管理偏好——必须无需鼠标即可触及和操作。
  • 可见的焦点指示器(WCAG 2.4.7): 焦点环必须可见。许多同意管理平台出于美观原因抑制了浏览器默认的焦点样式,这违反了该准则。
  • 充足的色彩对比度(WCAG 1.4.3): 文本与背景必须满足正文 4.5:1 的比例。粗体蓝色"全部接受"按钮旁边的浅灰色"全部拒绝"链接是常见的失败模式。
  • 不可自动消失: 横幅不能在没有明确用户交互的情况下关闭。即使在数秒后才生效的定时自动接受也是无效的。

处罚因成员国而异。德国对每次违规最高罚款 €100,000。西班牙在严重情况下提升到 €1,000,000。法国结合金钱罚款与可能暂停违规服务的处罚。

为什么无障碍失误会使 GDPR 同意失效

GDPR Recital 32 要求同意必须"自由给予、具体、知情且明确"。第 7 条补充说,撤回同意必须"和给予同意一样容易"。这些要求仅在用户实际能够访问同意界面时才成立。

无法导航到"拒绝"按钮的屏幕阅读器用户无法拒绝同意。你的分析管道为该用户记录的同意在法律上是无意义的——不是因为他们拒绝了,而是因为该机制不可访问。在 GDPR 下,这等同于完全没有同意。

CNIL 在其 2025 年 9 月对 Google 的执法行动中明确了这一逻辑,€3.25 亿罚款部分源于不对称设计——接受只需点击一下,拒绝需要导航到设置界面。任何在结构上使拒绝比接受更困难的设计——包括键盘用户无法完全操作的横幅——都会破坏其产生的每条同意记录的法律有效性。

审计结果并不乐观

2025 年对广泛使用的同意管理平台的独立测试发现,所检查的解决方案中没有一个完全符合 WCAG 2.2 Level AA 合规性。常见失误包括抑制的焦点指示器、辅助操作按钮的对比度不足,以及横幅标记在 DOM 中位置过晚——导致屏幕阅读器在遇到同意界面之前先遇到页面内容。

这些不是边缘案例。它们是数万站点为使用分析而部署的工具的默认行为,这些站点并未自行进行法律分析。

合规横幅的运营成本

假设你修复了无障碍问题。你现在拥有一个屏幕阅读器可以完全导航的横幅,具备键盘可访问的控件、足够的对比度,且无自动消失。你仍面临:

  • 拒绝带来的数据丢失: 研究持续显示 15-30% 的访客要么拒绝分析 cookie,要么不进行交互就关闭横幅。这部分人群在你的分析中是不可见的。
  • 不同设备的同意率差异: 移动用户关闭横幅的比率高于桌面用户。你的分析数据在系统上偏向桌面端接受的用户。
  • 持续维护: WCAG 2.2 已在向 WCAG 3.0 演进。你的同意平台每次更新都可能导致无障碍合规性回归,你需要重新测试。

修复横幅解决了 EAA 风险。但它并未解决数据质量问题。

结构性替代方案

从不触及设备的无 cookie 分析——无 cookie、无 localStorage、无指纹——不会触发 PECR 同意要求。无需同意机制,因此不存在可能不可访问的同意界面。

每日访客哈希方法——SHA-256(IP + UA + SALT_SECRET + YYYY-MM-DD)——完全在边缘服务器端运行,不产生持久标识符,访客设备上不存储任何内容。没有受 WCAG 管辖的交互,也没有 GDPR 需验证的同意记录。

这不是一个变通方案。这是构建一个真正不处理个人数据的分析系统的技术性后果。当没有什么需要同意时,同意机制及其所有合规义务都会消失。

现在值得问的两个问题

如果你的站点目前在同意横幅后运行分析,两个问题决定了你的风险:

1. Can a keyboard-only user reach the "Reject All" option in your banner
   without a mouse, with a visible focus indicator, on every browser
   you support?

2. If yes — what percentage of visitors reject or dismiss the banner,
   and how does your analytics account for that gap?

第一个问题是 EAA 问题。第二个是数据质量问题。一个有 20% 访客关闭的合规同意横幅,仍然让你有 20% 的盲区,随着时间推移,你的决策会基于不完整的流量数据而不断累积偏差。

如果没有横幅需要导航,这两个问题都不会出现。