WCAG — 由 W3C Web 无障碍倡议 (WAI) 制定的国际网页可访问性标准。当前版本 WCAG 2.2(2023 年 10 月)定义了网站、移动应用程序和电子文档的可访问性成功标准。该标准基于四项原则:Perceivable(可感知)、Operable(可操作)、Understandable(可理解)和 Robust(健壮),缩写为 POUR。根据 WebAIM Million (2025) 的数据,96.3% 的主页存在 WCAG 错误,这证实了该标准的现实意义。
要点
WCAG(Web 内容无障碍指南)— 为确保残障人士能够访问 Web 内容而制定的一系列建议。该标准自 1999 年起由 W3C Web 无障碍倡议 (WAI) 制定。WCAG 涵盖盲人和低视力者、聋人和听力障碍者、行动、语言和认知受限者,以及有年龄相关变化的老年用户。
第一版 WCAG 1.0 于 1999 年发布,包含 14 项指导原则。WCAG 2.0(2008 年)在技术上是中立的,适用于 HTML、PDF、多媒体和移动应用程序。WCAG 2.1(2018 年)增加了移动设备和触摸输入的标准。WCAG 2.2(2023 年)— 当前版本,增加了动画和焦点的标准。WCAG 本身不是法律,但许多国家在其立法中引用该标准。
俄罗斯的 GOST R 52872-2019、欧盟的 European Accessibility Act 以及美国的 Section 508 — 都要求符合 WCAG AA 标准。对于企业网站和政府网站,WCAG AA 是强制性标准,不遵守将导致诉讼。根据 UsableNet(2024 年)的数据,美国提起了超过 12,000 起关于网站不可访问性的诉讼。
| 版本 | 年份 | 创新 | 标准数 |
|---|---|---|---|
| WCAG 1.0 | 1999 | 14 项指导原则 | 65 |
| WCAG 2.0 | 2008 | 技术中立性,POUR | 61 |
| WCAG 2.1 | 2018 | 移动设备,触摸输入 | 78 |
| WCAG 2.2 | 2023 | 焦点外观,动画,认证 | 86 |
| WCAG 3.0 (Silver) | 2026(计划) | Bronze/Silver/Gold 取代 A/AA/AAA | 待定 |
不遵守 WCAG 会带来严重风险。2025 年,European Accessibility Act (EAA) 生效,要求欧盟所有公共网站和移动应用程序符合 WCAG 2.1 AA。罚款可达公司年营业额的 5%。美国诉讼的平均和解金额为 25,000–50,000 美元。可访问性审计应在开发的每个阶段进行,而不仅仅是在发布前。
POUR — WCAG 四项原则的首字母缩写:Perceivable(可感知)、Operable(可操作)、Understandable(可理解)、Robust(健壮)。每项原则包含指南,指南包含可测试的成功标准。WCAG 2.2 共有 13 项指南和 86 个成功标准。每个标准分为 A、AA 或 AAA 级别。
Perceivable 原则要求内容以用户能够感知的形式呈现。指南:1.1 Text Alternatives(文本替代)、1.2 Time-based Media(字幕、转录)、1.3 Adaptable(内容在格式变化时无损失)、1.4 Distinguishable(对比度 4.5:1、颜色、声音)。关键标准 1.4.3 Contrast Minimum (AA) — 最常违反的标准:根据 WebAIM 数据,86% 的页面不符合该标准。
Operable 原则要求界面的可操作性。指南:2.1 Keyboard Accessible、2.2 Enough Time、2.3 Seizures、2.4 Navigable、2.5 Input Modalities。标准 2.1.1 Keyboard (A) — 最关键的标准之一:所有功能必须可通过键盘操作,无需鼠标。仅通过点击关闭的模态窗口、没有键盘导航的下拉菜单 — 典型的违规行为。
Understandable 原则要求内容和界面的可理解性。指南:3.1 Readable、3.2 Predictable、3.3 Input Assistance。对于金融和医疗应用程序,标准 3.3.4 Error Prevention 尤为重要:防止输入错误的严重后果。标准 3.2.6 Consistent Help(WCAG 2.2 新增)要求帮助按钮位于相同位置。
Robust 原则要求与辅助技术的兼容性。指南 4.1 Compatible 及关键标准 4.1.2 Name, Role, Value (A):每个 UI 组件必须具有可通过编程确定的名称、角色和状态。ARIA 属性(role、aria-label、aria-expanded)是主要工具。没有它们,屏幕阅读器无法确定元素是按钮、链接还是选项卡。
| 原则 | 指南数 | 标准数 | 关键标准 |
|---|---|---|---|
| 1. Perceivable | 4 | 25 | 1.4.3 Contrast Minimum (AA) |
| 2. Operable | 5 | 22 | 2.1.1 Keyboard (A) |
| 3. Understandable | 3 | 17 | 3.3.2 Labels or Instructions (A) |
| 4. Robust | 1 | 6 | 4.1.2 Name, Role, Value (A) |
WCAG 定义了三个级别:A(最低)、AA(标准)和 AAA(最高)。A 级别 — 强制最低要求:没有它,内容对某些类别的用户无法访问。AA 消除了主要的可访问性障碍。AAA — 最高标准,但并非对所有内容都能实现(例如,某些手语或音频转录并非总是可行)。
A 级别(30 个标准):文本替代、键盘操作、充足时间、无高于 3 Hz 的闪烁。AA 级别(+24 个标准):对比度 4.5:1、视频字幕、文本可缩放至 200%、清晰的键盘焦点。AAA 级别(+32 个标准):对比度 7:1、手语、关闭动画 (2.3.3)、音频转录。政府网站使用 AA 级别即可。
根据 WCAG 进行的可访问性审计包括:自动测试(axe DevTools、WAVE、Lighthouse — 发现 30–40% 的错误)、键盘和屏幕阅读器(VoiceOver、TalkBack、NVDA)的手动测试、针对复杂标准的专家审计以及残障人士的用户测试。审计报告应包含合规级别以及每项标准的合规缺陷列表。
WCAG 2.2 增加了 9 个新标准。关键标准:2.4.11 Focus Appearance (AA) — 焦点指示器 >= 2px,对比度 3:1;2.5.8 Target Size Minimum (AA) — 触摸目标最小 24x24 像素;3.3.7 Accessible Authentication (AA) — 无需 CAPTCHA 的身份验证。标准 2.3.3 Animation from Interactions (AAA) — 可关闭的动画或不超过 5 秒。
焦点外观 (Focus Appearance) — 最重要的变化。以前,无替代方案的 outline: none 是违规行为,但没有明确的要求。WCAG 2.2 规定:厚度 >= 2px、与背景的对比度 3:1、指示器面积至少等于元素面积。对于带有 border-radius 的自定义按钮,使用 box-shadow 代替 outline。
/* WCAG 2.2 Focus Appearance (2.4.11 AA) */
:focus-visible {
outline: 3px solid #0066CC;
outline-offset: 2px;
}
.button:focus-visible {
outline: none;
box-shadow:
0 0 0 3px #FFFFFF,
0 0 0 6px #0066CC;
}
@media (prefers-color-scheme: dark) {
:focus-visible { outline-color: #66B2FF; }
}
@media (prefers-contrast: more) {
:focus-visible { outline: 4px solid #000; outline-offset: 3px; }
}:focus-visible 的样式设置确保符合焦点外观标准。通过 box-shadow 的替代方案适用于带有 border-radius 的元素。深色主题和高对比度模式会调整焦点颜色。
标准 3.3.7 Accessible Authentication (AA) — 最具争议的创新之一。带有对象识别的 CAPTCHA、谜题、拖动滑块 — 如果没有替代方案,现属违规行为。允许的方法:通过电子邮件/SMS 发送 OTP、生物识别(Face ID、Touch ID)、QR 码、Magic link。这不仅方便了认知障碍人士,也方便了所有用户。
WCAG 适用于原生 iOS 和 Android 应用程序。四项 POUR 原则完全涵盖移动界面。具体标准:2.5.1 Pointer Gestures(无需高精度的手势)、2.5.2 Pointer Cancellation(取消意外触摸)、2.5.3 Label in Name(按钮文本与可访问性标签一致)。iOS 使用 UIKit/UIAccessibility,Android 使用 AccessibilityService 和 ContentDescription。
移动应用程序中最常见的违规行为:1.1.1 Non-text Content — 没有 contentDescription 的图标;2.4.3 Focus Order — 错误的导航顺序;2.5.8 Target Size — 小于 24x24dp 的按钮;1.4.3 Contrast — 背景图片上的文字。iOS 在 Xcode 中提供 Accessibility Inspector,Android 提供 Accessibility Scanner 用于自动审计。
import SwiftUI
struct AccessibleButton: View {
let action: () -> Void
let title: String
let icon: String
var body: some View {
Button(action: action) {
HStack {
Image(systemName: icon)
Text(title)
}
.padding(16)
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(12)
.frame(minWidth: 48, minHeight: 48)
}
.accessibilityLabel(title)
.accessibilityHint("点击执行操作")
.accessibilityAddTraits(.isButton)
}
}
struct AccessibleForm: View {
@State private var email = ""
var body: some View {
VStack(spacing: 16) {
VStack(alignment: .leading) {
Text("电子邮件")
TextField("输入电子邮件", text: $email)
.textContentType(.emailAddress)
.keyboardType(.emailAddress)
.autocapitalization(.none)
.accessibilityLabel("电子邮件输入框")
.accessibilityHint("输入电子邮件地址")
}
AccessibleButton(
action: { },
title: "发送",
icon: "paperplane.fill"
)
}
.padding()
}
}具有 accessibilityLabel、accessibilityHint 以及 minWidth/minHeight >= 48pt 的 SwiftUI 组件确保符合 WCAG 2.5.8(目标大小)和 2.5.3(名称中的标签)。使用 Xcode Accessibility Inspector 检查 VoiceOver 焦点、导航顺序和触摸目标尺寸。类似要求通过 Modifier.semantics 适用于 Jetpack Compose。
常见问题
WCAG(Web 内容无障碍指南)— W3C 的内容可访问性标准。版本:WCAG 1.0(1999 年)、2.0(2008 年)、2.1(2018 年)、2.2(2023 年)。当前版本 — WCAG 2.2,包含 86 个成功标准。WCAG 3.0(Silver)正在开发中。该标准基于四项 POUR 原则:Perceivable、Operable、Understandable、Robust,分为 A、AA、AAA 级别。
A 级别(30 个标准)— 最低可访问性:文本替代、键盘导航。AA 级别(+24 个标准)— 政府网站标准:对比度 4.5:1、字幕、200% 缩放。AAA 级别(+32 个标准)— 最高级别:对比度 7:1、手语、关闭动画。AA 是法律要求下大多数组织的目标级别。
WCAG 2.2 增加了 9 个标准:Focus Appearance (AA) — 焦点指示器 >= 2px,对比度 3:1;Target Size Minimum (AA) — 触摸目标 24x24px;Accessible Authentication (AA) — 无需 CAPTCHA 的身份验证;Animation from Interactions (AAA) — 动画最长 5 秒或可关闭;Dragging Movements (AA) — 拖放的替代方案。
检查 WCAG 时使用:自动工具(axe DevTools、WAVE、Lighthouse — 发现 30–40% 的错误)、键盘和屏幕阅读器的手动测试(VoiceOver、TalkBack、NVDA)、根据 WCAG 标准的专家审计。iOS:Xcode Accessibility Inspector。Android:Accessibility Scanner。CI/CD:@axe-core/playwright。
WCAG — 技术标准,而非法律,但许多国家引用该标准:美国(Section 508、ADA)、欧盟(2025 年起实施的 European Accessibility Act)、英国(Public Sector Bodies Accessibility Regulations)、俄罗斯(GOST R 52872-2019)。不遵守 WCAG AA 会导致诉讼、欧盟高达营业额 5% 的罚款以及美国 2.5 万至 5 万美元的和解。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。