无障碍设计:从第一行代码起的尊重
|
一三年那会儿,我带俩实习生在海淀桥边上租的隔断间里改代码,朝北,窗户玻璃上贴着褪色的“欢迎光临”窗花——其实没人来。风扇在头顶嘶嘶转,老李总叼着烟蹲在折叠椅上调试表单,烟灰掉进键盘缝里,得拿镊子夹。我记得清清楚楚:我们赶在无障碍指南出台前两天,把所有全改成,以为这就算尊重了。连alt文本都写成“图片”,后面跟个句号。 我原以为屏幕阅读器能听懂句号停顿,结果盲人用户反馈说:“念到‘图片。’就卡住,像被人掐了脖子。”——那年我们连aria-label和aria-labelledby分不清,靠查W3C英文文档截图打印出来贴显示器边,字小得要凑近看。谁在旁边抽烟不重要,重要的是老李那天咳得厉害,咳完突然说:“咱们是不是该给焦点加个蓝框?”我说:“加啊,但得问下UI,别动主色。”他没再说话,默默把:focus outline设成0了。我错了。就这一步,错在以为视觉统一比可操作性优先。现在想起来后怕,不是怕被骂,是怕那个人点三次没反应,就放弃了整套系统。 一七年改得勤快些了。云服务上线了,备案也紧了,我们团队搬进亦庄一个带空调的办公室,老显示器换成了AOC,牌子我倒记不清了——只记得它左下角有道划痕,反光时像条蚯蚓。那时开始推“可访问性检查清单”,每个PR必须过axe-core扫描。但有个项目,客户急着上线,我们把无障碍检测挪到最后环节,测出127个严重问题。怎么办?我拍板:先上,下周迭代。结果那个“下周”拖了四个月。不是没资源,是我们把无障碍当补丁,而不是起点。现在回头看,补丁打太多,底子就烂了。那年最讽刺的是,我们教零基础学员写第一行HTML,教他们打<h1>标签,却没教他们为什么不能用<div class="h1">顶替——那堂课上,后排穿蓝帽衫的男生举手问:“老师,screen reader到底是什么声音?”我没答上来。我原以为只要教会他们结构化标签就行,结果发现他们连“读屏软件是语音合成器”这个基本概念都没建立。错在这儿:教结构不教语义,等于教人写字不教笔顺。
文章配图,仅供参考 二二年……哦,等等,不对,是去年九月。准确说是去年九月第三周,我帮朋友公司做无障碍合规审计,他们新上的医保服务小程序,按钮全部灰色无状态、图标没文字替代、弹窗没有焦点捕获——但我没当场指出。为啥?因为审核报告里有一栏叫“适配成本评估”,我填了个数字,加了括号说明“建议二期优化”。结果客户HR总监看完邮件直接打来电话:“王老师,你说二期……那期是什么时候?”我愣了三秒,说:“按您预算排,最早明年Q2。”她笑了一下,挂了。挂了以后我坐那儿发呆,桌上那杯枸杞茶凉透了,浮着几颗蔫掉的枸杞。那一刻我知道:我们把无障碍变成待办清单里的优先级选项,而不是编码前的第一行注释。它已经不是“要不要做”的问题,是“怎么做才不算欺骗自己”的问题。 去年九月,我和阿哲视频对线——他早就不做前端了,在通州搞社区团购系统。聊到一半他忽然说:“你记得张伟吗?就是当年跟你一起在论坛发教程那个?”我说:“记得,他后来卖站挣了钱,去杭州了。”阿哲点点头:“上个月见着他,推着轮椅,在西湖边接孩子放学。”我没接话。他推轮椅这事跟我无关,但他在我们写的旧论坛后台里,连续发了七年帖子求助:“标题看不见”“回复框打不开”“验证码怎么读”——而我们每次回帖都是“请升级浏览器”。他没升级,只是不再发了。我不记得是从哪年开始变的,可能是一七年备案收紧时?也可能更早,就是老李咳着烟灰那会儿?反正记不清了。 现在这套我也拿不准还能干几年。昨天教新学员写第一个登录页,有个姑娘问我:“老师,aria-hidden=‘true’是藏给所有人,还是只藏给读屏?”我停顿两秒,说:“是藏给读屏的,但也会藏给语音助手、AI代理、甚至部分爬虫。”她眨眨眼,又问:“那……如果我把导航菜单设成aria-hidden=‘true’,再用手动焦点跳转,算不算作弊?”我没回答。风扇响了一声,我想起海淀桥那间屋子,朝北,窗花还贴着。 (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


无障碍设计失灵?动态资源调度破局加载困局
MySQL事务控制无障碍设计指南(技术SEO优化版)