伊利诺伊州州长 JB Pritzker 已签署《儿童在线社交媒体安全法》(HB5511),要求设备制造商、操作系统提供商和应用商店在 2028 年 1 月 1 日前实施年龄验证。在账户设置过程中,系统会将用户划分为不同的年龄段,应用程序随后可通过 API 获取该信息。
一旦应用程序识别出用户为未成年人,必须自动启用安全限制,例如对陌生人隐藏个人资料、阻止来自成年人的消息、屏蔽位置数据以及在夜间禁用通知。家长可以覆盖这些设置,年满 16 岁的未成年人也可以。违规行为将面临最高 5 万美元的罚款,由州总检察长负责执行。
虽然该法案与加利福尼亚州和科罗拉多州的立法相似,但伊利诺伊州的法案明显缺乏针对开源软件和开发者的豁免条款,这引起了倡导者的批评,他们担心广泛的定义可能会损害用户控制权和隐私。尽管法律规定所有与年龄相关的信号必须加密,但缺乏开源豁免条款仍然是该立法批评者关注的焦点。
作者分享了关于使用 `popover="hint"` 特性实现提示框(tooltip)时,在网页可访问性方面获得的一项经验教训。
最初的错误在于使用 `aria-describedby` 将一个仅含图标的按钮与包含该按钮标签的提示框关联起来。这导致屏幕阅读器用户获取到了冗余信息。作者随后尝试通过移除 `aria-label` 来修复问题,但这使得按钮失去了可访问名称,从而在不同的屏幕阅读器(如 JAWS)中触发了不可预测的行为。
可访问性专家指出,`aria-describedby` 提供的是补充信息,不能替代元素的可访问名称。正确的解决方法是使用 `aria-labelledby`,这使得按钮可以直接从提示框内容中获取其可访问名称。或者,对于更复杂的提示框,可以同时使用这两个属性来区分名称和描述。
作者总结了两个关键点:
1. **确保所有交互元素都有可访问名称。**
2. **使用多种屏幕阅读器进行测试**,因为仅依赖单一工具(如 VoiceOver)无法全面了解用户体验。
将社会失败归咎于“糟糕的激励机制”,已成为逃避道德责任的便捷借口。尽管存在缺陷的奖励制度确实存在,但将其视为某种绝对的自然力量——就像因为被要求佩戴就戴上一顶肮脏的集体头盔一样——这本质上是一种选择,最终暴露了个人目标感的缺失。
大多数人满足于浅薄的“道德治疗自然神论”,仅仅构建了一层薄薄的价值观伪装,直到遇到一场足以粉碎他们舒适区的危机。我们之所以沉溺于这种“解释深度的错觉”中,是因为我们缺乏改变的动力。真正的正直需要直面“巨大的可怕之鱼”——即那些迫使我们对自身生活进行根本性清算的、令人不安的真相。
当我们优先考虑名望、成绩或职业晋升时,我们便成了“精神上无骨”的攀登者。我们必须停止将“我只是在应对激励机制”作为道德上的“免责金牌”。真正的进步,正如废奴主义者查尔斯·萨姆纳(Charles Sumner)的一生所展示的那样,需要违抗系统性压力的勇气,以及无论是否获得回报都要坚持做正确之事的骨气。