加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 智能办公、应用安全、终端安全、数据可视化、人体识别!
当前位置: 首页 > 创业 > 创业经验 > 正文

技术筑基,内容为本:无障碍设计的双轮驱动

发布时间:2026-11-02 14:07:10 所属栏目:创业经验 来源:DaWei
导读:  扫描结果出来那一刻,我正盯着茶水间的灯没关——绿光在走廊尽头晕开一片,像谁忘了关的呼吸灯。王磊在工位上猛拍键盘,说“又不是我写的”,话音没落,他那台旧笔记本风扇就响了,呼噜呼噜,比去年八月那次还吵。  漏扫报告

  扫描结果出来那一刻,我正盯着茶水间的灯没关——绿光在走廊尽头晕开一片,像谁忘了关的呼吸灯。王磊在工位上猛拍键盘,说“又不是我写的”,话音没落,他那台旧笔记本风扇就响了,呼噜呼噜,比去年八月那次还吵。


  漏扫报告第7页,无障碍标签缺失率82%,但真正让我手抖的是那个“跳过导航”逻辑崩了三次:一次在读屏器里点不动,一次被WAF当成异常流量拦掉,第三次干脆触发了风控兜底——连补丁都打不进去,得先绕过自己家的日志采样策略。我原以为是JS加载顺序问题,结果调了两天发现是开发在初始化时写了句if(window.navigator.webdriver),把自动化辅助工具全判成爬虫了。真服。


  打印机在吐纸。A4单面,蓝墨水偏淡,第13张卡纸,我蹲下去抠的时候听见张敏在隔壁会议室吼:“语义结构改?那是UI的事!你让我重写button?”她甩门出来,高跟鞋敲地声停在饮水机那儿,拧开瓶盖喝了一大口,没看我。窗外下了一下午雨,窗缝漏风,吹得整改单边角卷起来——那单子我签过三回,第一回说“技术能搞定”,第二回加了“内容需协同”,第三回只写了“影响面待评估”,字迹越来越小,到最后一个“评”字拖了半厘米长的尾。


  不细说怎么触发的。反正最后那个按钮焦点管理失效,不是DOM没渲染,是tabindex被JS运行时抹掉了两次,中间还夹了个Promise.all的竞态。修复补丁打了三版,第一版上线后撞库日志暴涨——不是攻击,是读屏器用户反复重试失败触发的误报。第二版改了focus事件绑定时机,结果移动端H5页面直接白屏;第三版才把“键盘可访问性”和“语音指令兼容性”拆成两个独立开关,一个放前端,一个走后端特征判断。现在它活了,但像刚做完心脏搭桥的老人,喘气匀,不咳嗽,可你不敢让它跑楼梯。


  门禁一直在嘀。滴、嘀、嘀——频率比平时快0.3秒。我猜是红外感应器老化,跟无障碍没关系,但它响得特别准,每次我摸出工牌它就响,别人过去反而安静。李工说这是电磁干扰,换了三块板都没用,后来索性把喇叭线剪了。他说:“功能在就行,响不响,谁听?”


  去年八月那次,不是等保查出来的,是视障用户投诉后我们自己复现的。他们用NVDA+Edge组合,进支付页自动跳转失败,但Chrome+JAWS却没问题。排查到一半,开发突然说:“等等,你们测的Edge版本是不是开了‘增强辅助模式’?”——对,我们没开。我们测的只是默认安装包,而真实用户早就在系统设置里勾了四五个辅助开关。没人告诉我们该测哪几个开关组合。现在测试矩阵里加了17个组合,但第18个还在漏扫里躺着,叫“未识别屏幕放大镜手势穿透”。不细说。


文章配图,仅供参考

  我桌上那台旧笔记本风扇响,比王磊那台还吵。它散热孔堵了三年,清理过两次,每次清完三天就又响。跟无障碍整改一样,修表面,不修根。有次我问产品:“这个弹窗要不要加aria-live?”她说:“用户看不见,要啥实时提示?”我说:“他们听得到。”她愣了三秒,说:“哦……那放‘polite’级别吧。”我没接话。她不知道,polite级别在iOS VoiceOver里根本不会播报,得改成assertive——但改成assertive又会被安卓TalkBack当成高频骚扰中断操作。这锅现在还在QA和前端之间飘着,谁都不提,因为谁提谁就得写《多平台辅助工具行为差异手册》,没人敢动笔。


  补丁发了,加固做了,WAF规则调了,漏扫也过了。但上周五验收,张敏又来了,坐我旁边盯测试流程。她手机弹出微信更新提示,亮得刺眼,我瞟了一眼,她正截图我的操作步骤发群里,配文:“看看,连键盘Tab都能测三遍。”我低头继续点——Tab、Shift+Tab、Enter,每一下都慢半拍,等那个“已聚焦”的蓝色外框完全亮稳了才松手。其实没必要那么准,但那天我就想把它点准。打印机还在吐纸,第22张,这次没卡。


  业务方催上线,合规检查倒计时,外包交的文档里把“alt文本应覆盖所有图像”写成了“建议覆盖”。我划掉“建议”,改成“必须”,又被产品经理红批:“文字描述权属归属未确认,暂按建议执行。”——所以现在首页Banner图的alt是“图片”,商品图的alt是“商品图”,详情页所有插图都是“装饰性图片”,尽管其中两张是价格对比表格的视觉化呈现。我签了字。不是认了,是留痕:等下次被打,好分清这波是内容缺位,还是技术失灵。


  优胜劣汰这四个字,去年八月之后我才信。不是说做得好的活下来,是那些漏洞能自然暴露、处置路径清晰、责任切得干净的模块,才能活过下一轮扫描。剩下那些模糊地带?比如“语音反馈延迟是否算缺陷”,比如“色彩对比度在OLED屏上怎么测”,比如“字幕同步误差300ms算不算障碍”——这些没人定,就没人修。它们会留在那儿,等哪天哪个黑产把爬虫模拟成读屏器流量,混在无障碍请求里跑批量探测,再顺便薅走点什么。到时候,我们大概率还在争论:那是技术问题,还是内容问题?


  我打算下周约一次三方碰头,不拉架构师,就叫开发、产品、还有上次投诉的视障用户代表——他用的那套读屏配置清单,我还存着。至于门禁,我准备把喇叭线也剪了。

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!