用途:当项目包含个性化功能、用户偏好控件、主题选择器、字号调节、动效开关或对比度设置时加载本技能,用于实现或审查这些功能。核心要求:个性化是无障碍基础的增强,不是修复层,也不能替代 WCAG 合规;页面无论是否提供偏好编辑器,都必须满足浏览器缩放、文本调整、文本间距覆盖、强制颜色和键盘操作。偏好优先级为:可访问默认值→站点设为“系统/默认”时跟随系统或浏览器偏好→显式站点选择只覆盖对应维度→“重置为默认”移除站点覆盖。
主要能力:区分 WCAG 要求与增强项(如 1.4.4 缩放文本、1.4.12 文本间距、1.4.10 重排、对比度、减少动效);用 CSS 媒体查询渐进增强,尊重 prefers-color-scheme、prefers-reduced-motion、prefers-contrast、prefers-reduced-transparency、forced-colors;提供可访问的偏好编辑器(如 details 内联披露、原生单选与下拉、状态提示、重置按钮);用 CSS 变量应用表现;对存储值做白名单校验并安全持久化;避免用偏好数据构建隐私画像;每个主题与预设须独立满足对比度、焦点可见性等要求。
使用方式:优先使用原生 HTML 控件;用 data 属性表示显式选择,缺省表示“系统”;localStorage 访问需 try/catch,键名带版本;不要用全局 0.01ms 规则强制关闭所有动效,应移除或替换具体非必要动效;若动效传达必要状态,改为即时状态变化。
限制:不得用第三方无障碍覆盖层作为合规替代;不得声称偏好面板能让原本不可访问的内容合规;prefers-reduced-data 支持有限,应作为前瞻性特性;Media Queries Level 5 仍为工作草案。测试需覆盖默认/失败状态、系统偏好变化、键盘与屏幕阅读器操作、200% 文本缩放、400% 缩放、文本间距覆盖及高风险组合。