无障碍设计失灵?PHP后端破局:动态跨界整合
|
去年五一那会儿,运营那边突然炸了锅——无障碍设计的页面在移动端全崩了,轮椅图标显示成乱码,屏幕阅读器直接卡死。我原以为又是前端那帮人改样式没测兼容,结果一看日志,好家伙,后端返回的HTML里嵌了三层base64编码的SVG,屏幕阅读器直接被这堆乱码噎死。 那天下午三点,SEO那边的小张举着手机冲进我工位,屏幕上是某无障碍评测网站的404截图:“哥,这页面被标记成‘技术性歧视’了,领导说再修不好,咱们的政府采购资质要黄!”我盯着他手机看了三秒,转头对测试说:“把所有无障碍相关的接口调用链打出来,尤其是那个动态生成SVG的模块。”测试小妹边敲键盘边嘟囔:“这模块上周刚上线,说是为了‘提升视觉灵活性’——结果灵活到连自己都解析不了。” 饮水机没水了,我拎着空桶去换的时候,听见运营主管在走廊打电话:“伪原创的内容先停停,先把无障碍的坑填上!”挂了电话他冲我笑:“哥,你们后端能不能搞个‘降级方案’?比如检测到屏幕阅读器就返回纯文本?”我盯着他手机壳上的“KPI永动机”贴纸,突然想起上周他催我优化推荐位算法时说的“用户停留时长比什么都重要”——现在倒知道要“降级”了? 回到工位,测试把调用链甩我桌上:问题出在动态整合模块——这个模块本来是用来跨系统拉数据的(比如从CMS拉文章、从广告系统拉banner、从用户系统拉头像),结果产品经理非要加“视觉优化”功能,让后端根据设备类型动态生成SVG图标。我翻着代码,越看越气:这哪是“优化”?分明是把前端该干的活全塞给后端了!更离谱的是,为了“提升性能”,他们把SVG编码成base64直接塞HTML里——屏幕阅读器能解析就见鬼了。
文章配图,仅供参考 群里突然弹出消息,SEO那边的小李发了张截图:某竞品网站的无障碍页面,轮椅图标是纯CSS画的,屏幕阅读器能完美识别。我放大看了眼代码,差点笑出声——这不就是我们三年前用的方案吗?当时前端嫌CSS画图标“不够灵活”,非要改用SVG,结果现在为了“灵活”把自己坑死。我转头对测试说:“把动态整合模块里的SVG生成逻辑全砍了,改回纯CSS——对了,把‘视觉优化’那个参数也删了,以后前端要加图标,自己传URL。”修改完代码已经七点,窗外天全黑了。我提交完代码,正准备关电脑,运营主管又凑过来:“哥,降级方案能再快点吗?领导说明天要看到测试报告。”我盯着他:“降级方案?我直接把问题模块删了——现在所有设备返回的都是纯文本无障碍页面,屏幕阅读器能正常用,就是没图标。”他愣了两秒,突然笑了:“还是哥狠!这比降级彻底多了!” 第二天一早,测试报告出来了:无障碍页面通过率从30%飙到95%,屏幕阅读器解析成功率100%。SEO那边的小张在群里发了个“666”的表情包,配文:“还是后端靠谱!”我盯着屏幕,突然想起上周产品经理在例会上说的话:“现在用户要的是‘跨界整合’,后端不能只做数据中转,得参与‘视觉呈现’。”我原以为他是要我们学前端,结果现在看——他根本不懂什么叫“边界”。 后来复盘的时候,技术总监说了句话我挺认同:“无障碍设计失灵?不是设计的问题,是‘跨界整合’跑偏了——后端就该老老实实做数据,非要去抢前端的活,最后两边都做不好。”我点头附和,心里却想:这哪是“跨界”?分明是“越界”——产品经理为了“创新”乱加功能,最后坑的是开发,买单的是用户。 现在那套动态整合模块还在用,不过SVG生成逻辑被我删了,改成了“前端传URL,后端只做数据整合”。产品经理偶尔还会提“视觉优化”,我都直接回:“要加图标?找前端——我们只保证数据能传过去,不保证能显示。”他倒也不生气,毕竟上次无障碍事故后,领导明确说了:“以后技术方案,后端有最终否决权。” 说白了,这行就是“优胜劣汰”——你非要跨界,最后要么被前端骂,要么被用户骂,要么被领导骂。我干了十五年PHP,最深的体会就是:别瞎折腾“整合”,先把自己的本职工作做好,比什么都强。明天还得接着发版,测试说又有新需求——这次是“动态生成水印”,我看了看需求文档,默默把“后端只做数据整合”的注释又加粗了一遍。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


无障碍设计:从第一行代码起的科技尊重