中国有超过1700万视障人士在使用手机和电脑上网。再加色弱、听力障碍、肢体障碍用户,这个数字超过8500万——相当于德国的总人口。但说句实话,国内绝大多数网站连最基本的无障碍设计都没做过。2026年了,WCAG 2.2已经全面推行,WCAG 3.0草案也在去年发布,可你在百度随便搜一个网站,TAB键按下去,焦点直接消失的情况比比皆是。
网页无障碍不是什么高深技术。说白了就是让更多人能正常用你的网站,包括那些看不见、听不到、或者没法用鼠标的人。
先从最基础的说——键盘导航。很多视障用户和运动障碍用户根本不用鼠标,全靠键盘操作。一个网站如果没法用TAB键正常浏览,对他们来说就等于不存在。怎么做?四个字:焦点管理。每个可交互元素——链接、按钮、表单、菜单——都必须能通过TAB键到达,并且有清晰的焦点指示器。最简单的方法是别干掉浏览器的默认outline。不少开发者觉得那个蓝色边框丑,上来就写outline: none,结果就是键盘用户进来懵了,完全不知道自己在哪。2026年的正确做法是保留outline或自定义一套更明显的聚焦样式,比如:focus-visible { outline: 3px solid #4A90D9; outline-offset: 2px; }。
键盘导航还有一个容易忽略的点:Tab顺序必须和视觉顺序一致。比如你有个弹窗,用户按TAB键应该先在弹窗里循环,而不是跳到弹窗后面的页面元素上。这就是焦点陷阱(focus trap)的概念。2026年浏览器原生<dialog>元素已经支持了基础的焦点管理,但复杂的自定义组件还是得自己处理。
然后是ARIA标签。ARIA全称Accessible Rich Internet Applications,说白了就是给HTML元素加一些额外属性,让屏幕阅读器能正确读出页面内容。举个例子:一个图标按钮,视觉上是个搜索放大镜,但HTML里可能就一个<button><i class="icon-search"></i></button>。屏幕阅读器读到的就是「按钮」,用户完全不知道这是干嘛的。加上aria-label="搜索"立马就解决了。
ARIA用得好是雪中送炭,用不好是画蛇添足。2026年有个经典的原则叫No ARIA is better than bad ARIA——意思是不加ARIA比乱加ARIA强。比如你给一个本身就语义化的<nav>标签又加了role="navigation",这属于多余操作。更糟糕的是加错了role:给<button>加个role="link",屏幕阅读器就会告诉用户这是个链接,但用户按Enter却触发了按钮行为,一脸懵。
ARIA最实用的几个属性:aria-label给元素提供文本描述;aria-labelledby引用页面已有文本作为标签;aria-describedby补充额外说明;aria-expanded告诉用户折叠面板是打开还是关闭;aria-live让动态更新的内容(比如搜索结果的计数)被自动读出。特别提一句aria-live="polite"——2026年前端框架大量用异步更新DOM,不加这个属性的话,屏幕阅读器用户根本不知道搜索结果出来了,干等着。
接下来是颜色对比度。这个其实不仅关乎视障用户——你在太阳底下看手机,对比度不够的页面自己都看不清。WCAG 2.2 AA级标准要求:普通文本对比度至少4.5:1,大文本(18px以上或14px加粗)至少3:1。AAA级更严格,分别要求7:1和4.5:1。2026年在推的WCAG 3.0会引入新的APCA对比度算法,但现阶段4.5:1这条线还是硬杠杠。
一个常见的坑:浅灰色文字。很多设计师觉得#999或#aaa的文字有层次感,但放在白色背景上对比度只有2.85:1,连AA级都过不了。中文字体笔画细,更吃亏。还有个容易被忽略的:placeholder文字。Chrome默认placeholder颜色在白色背景上只有2.2:1左右,基本等于隐形。要么自己用CSS覆盖成深一点的灰色,要么干脆用label替代placeholder。
实操推荐两个工具:WebAIM的Contrast Checker网站,输入前景色和背景色直接出结果;Chrome DevTools 2026年内置的CSS概览面板(CSS Overview),一键扫描整个页面的对比度问题,找出所有不合格的元素。
最后说屏幕阅读器测试。国内主流是争渡读屏和NVDA(免费开源),iOS和macOS自带旁白(VoiceOver),Android有TalkBack。测试不需要装一堆软件。最基础的操作:关掉显示器,用TAB键把你的网站从头到尾走一遍。你能正常完成注册、搜索、下单三个核心流程吗?但凡哪一步卡住了,说明无障碍有问题。
进阶一点:装上NVDA(免费,Windows),或者Mac上按Command+F5打开旁白,用屏幕阅读器听一遍自己的页面。你会发现很多视觉上很明显的信息,读出来完全不是那么回事。比如用颜色区分状态的表格——红色表示亏损、绿色盈利——屏幕阅读器只告诉你「单元格」,不会说「这是红色」。必须同时用文字标注。
2026年还有一个新变化:越来越多的自动化测试工具开始支持无障碍扫描。Lighthouse(Chrome内置)的无障碍评分从2025年底开始权重提升,Google搜索排名也把可访问性纳入了页面体验信号。axe-core(Deque出品)可以集成到CI流程里,每次提交自动跑一遍无障碍检查。
说真的,无障碍设计不是慈善,也不只是为了合规。它提升的是所有人的体验。字幕对听力正常的人在嘈杂环境有用,高对比度对视力正常的人在强光下有用,键盘导航对所有鼠标没电的人都管用。微软在2025年发布过一份内部报告,号称无障碍优化的产品用户满意度平均高出12个百分点。
最后给你一个实操检查清单,下次做网页直接对照:
- TAB键能到达每个交互元素吗?能反向(Shift+TAB)走一遍吗?
- 当前焦点元素有明显的高亮指示吗?
- 所有图片都有
alt属性吗?纯装饰图可以空。 - 表单每个输入框都有
<label>或aria-label关联吗? - 文字和背景的对比度≥4.5:1吗?用WebAIM工具测一遍。
- 只用键盘能完成网站的核心操作(搜索、提交表单、购买)吗?
- 关掉屏幕,用NVDA或旁白听一遍页面,信息完整吗?
- 页面有「跳到主内容」的链接(skip link)吗?很多视障用户每进一个页面都先按这个跳。
就这8条。每一条都不难,关键是做。无障碍设计这件事,起步就是80分,比追求完美的代价小得多。
还木有评论哦,快来抢沙发吧~