在 C# 中如何检查网络无障碍
什么是网络无障碍?
网络无障碍指的是设计和开发网站、应用程序和数字内容,确保所有人都能访问,包括残障人士。提高产品的无障碍性可以增强所有用户的可用性,包括视力低下、盲人、听力障碍、认知或运动障碍者,以及在特定情境下存在障碍的人(例如手臂受伤)。网络无障碍的目标是消除可能阻止残障人士以及其他所有人访问和有效使用在线内容的障碍。请测试您的网站是否符合 WCAG 标准!
如何检查网站的可访问性
本章提供了根据 WCAG 要求验证 HTML 文档的详细指南。Aspose.HTML for .NET API 提供了 Aspose.Html.Dom.Accessibility 命名空间,用于所有与网络无障碍相关的操作,并遵循国际标准 — W3C 网络无障碍倡议(WAI)。
本章介绍了基于 WCAG 要求的建议性文章,帮助您开始编写更利于残障人士访问的网页内容。了解您的网站是否符合 WCAG 要求!
本章包含以下页面:
- 网络无障碍检查 – 学习如何使用 Aspose.Html.Accessibility 和 Aspose.Html.Accessibility.Results 命名空间中的类和方法来检查网站是否满足全部 WCAG 要求或仅满足特定准则。
- 如何改进网站的无障碍性 – 本文将教您如何使网站对访客更可访问,以及如何使用 Aspose.HTML for .NET API 检查网站是否符合 WCAG 指南。
- 屏幕阅读器无障碍 – 本文介绍如何为屏幕阅读器设计网站,以及如何根据 WCAG 指南检查供屏幕阅读器使用的替代文本(alt)等内容。
- 颜色对比无障碍 – 我们将讨论根据 WCAG 的颜色与对比度要求,并演示如何使用 C# 检查颜色对比的可访问性,从而让网页内容对所有用户更易阅读。
- 多媒体无障碍 – 学习如何使多媒体内容更具包容性并对更广泛的受众(包括残障人士)可访问。本文包含根据 WCAG 标准检查多媒体可访问性最佳实践的 C# 示例。
下面是一个与网络无障碍验证相关的代码片段示例。该 C# 代码示例演示了创建验证器、加载 HTML 文档并验证其是否符合无障碍性要求的基本步骤:
- 使用 WebAccessibility() 构造函数创建负责无障碍验证的 WebAccessibility 类实例。
- 调用 CreateValidator() 方法以创建验证器对象。
- 使用其中一个 HTMLDocument() 构造函数加载 HTML 文档。
- 使用
Validate(
document
) 方法检查 HTML 文档的可访问性。结果将存储在result
变量中。 - 检查验证是否成功。对于检测到的每个无障碍问题,打印规则代码、规则描述以及该验证是否通过或失败。
1// Check HTML document for WCAG compliance in C# and log each rule code, description, and pass status
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator
7AccessibilityValidator validator = webAccessibility.CreateValidator();
8
9// Prepare a path to a source HTML file
10string documentPath = Path.Combine(DataDir, "test-checker.html");
11
12// Initialize an HTMLDocument object
13using (HTMLDocument document = new HTMLDocument(documentPath))
14{
15 // Check the document
16 ValidationResult result = validator.Validate(document);
17
18 // Checking for success
19 if (!result.Success)
20 {
21 foreach (RuleValidationResult detail in result.Details)
22 {
23 // ... do the analysis here...
24 Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
25 }
26 }
27}
为什么网络无障碍很重要
网络在教育、商业、医疗、就业、娱乐等生活多个方面发挥着越来越重要的作用。因此,网络必须对所有人可访问,以为不同能力的人提供平等的访问和机会。联合国《残疾人权利公约》将获取信息与通信技术的权利定义为一项基本人权。
根据世界卫生组织 2011 年的《世界残疾报告》,约 15% 的世界人口存在某种形式的残疾,且这一人数在持续增加。网络无障碍具有多方面的重要性,涉及社会、经济和法律层面。
以下是一些网站无障碍性的统计数据,清楚地表明大多数在线资源在接纳需要特殊支持的用户方面存在不足:
- 54% 的残障成年人会使用互联网。
- 90% 的网站对于依赖辅助技术的残障人士来说是不可访问的。
- 71% 的残障客户在使用网站时遇到困难,可能被迫离开网站。
- 82% 的需要无障碍访问的人表示,如果网站更容易访问,他们会在线上花更多钱。
在许多国家/地区,网络无障碍已成为法律要求,同时也是一种道德和伦理责任,旨在确保数字世界具有包容性并对所有人可访问。包括美国的 ADA(美国残障人法)和 Section 508 在内的一些法律与法规要求网站和数字内容对残障人士可访问。欧盟也通过立法来保护残障人士的权利。未能遵守这些规定可能导致法律后果和罚款。网络无障碍体现了对所有人的尊重,确保每个人都能平等地访问信息和服务。这不仅是技术层面的要求,更是创建包容、公平在线环境的基本要素。
无障碍与 SEO
许多无障碍实践与搜索引擎优化(SEO)的最佳实践是一致的。这意味着可访问性较高的网站在搜索引擎结果中更有可能获得更好排名,从而提升可见性和覆盖面。展示对无障碍的承诺还能提升组织声誉,表明您重视多样性与包容性并愿意为创建可访问的数字环境投入资源。通过提高网站可访问性,您向访客和客户展示了对他们的关怀,这通常也会增加品牌忠诚度与知名度。
搜索引擎将无障碍性作为排名因素之一。发现并修复无障碍错误也可能对 SEO 产生积极影响,从而提升网站在搜索结果中的可见度。大多数改进无障碍性的做法同时也提升了网站对所有人的可用性,而不仅仅是残障人士。以下是无障碍与 SEO 相互重叠的一些示例:
- 语义化 HTML、title 标签、H1、H2 等标题标签
- img 标签的
alt
属性、按钮的替代文本 - 视频转录与音频描述
- 文本大小与颜色对比度
- 链接锚文本
- 站点地图、目录表和面包屑导航
网络无障碍标准
网络无障碍是一项道德和伦理责任,旨在确保数字世界对所有人(不论能力如何)都是包容且可访问的。以下是一些最常见的无障碍标准和指南:
- WCAG(Web 内容无障碍指南)提供了一套用于创建可访问网络内容的标准和指南,并被业内广泛采用作为参考。
- Section 508 是美国的一项联邦法律,要求联邦机构的电子与信息技术满足无障碍标准,确保联邦网站与数字服务对残障人士可访问。
- EN 301 549 是一项欧洲标准,定义了 ICT 产品和服务(包括网站和软件)的无障碍要求。该标准与 WCAG 保持一致,并包含一些欧洲特定的要求。
- 虽然 ARIA 本身不是一项标准,但它是 W3C 发布的一套技术规范,用于为辅助技术提供额外的可访问性信息。ARIA 通常与其他标准(例如 WCAG)结合使用,以提高无障碍性。
网络无障碍的基本原则包括 可感知性(Perceivability)、可操作性(Operability)、可理解性(Understandability) 和 健壮性(Robustness)。这意味着所有访问者都应能够感知并理解网站上呈现的内容和信息。内容与导航应清晰易懂;网站应支持多种输入方式(例如键盘导航、语音命令或屏幕阅读器等辅助技术)。
网络无障碍在许多国家都是法律要求:
- 在美国,根据 美国残障人法(ADA) 和 Section 508,某些网站和数字内容需满足无障碍要求。
- 欧盟已通过相关法律以支持残障人士的权利,详见 Web Accessibility Directive 和标准。
- 澳大利亚的相关法律为 Disability Discrimination Act。
- 德国则有 联邦无障碍信息技术条例(Federal Regulation on barrier-free information technology)。
另请参阅 – 相关资源
- 残疾人权利公约(Convention On The Rights Of Persons With Disabilities, CRPD)
- 网络无障碍 – 维基百科
- 网络无障碍入门 – W3C
- WCAG 2.0 的技术与失败案例(Techniques and Failures for Web Content Accessibility Guidelines 2.0)
Aspose.HTML 提供免费的在线 网络可访问性检查器。该工具可扫描网页,验证其是否符合 WCAG 要求、识别问题并提出改进建议。即时了解网站合规状况,帮助您确定所需修正的范围以及当前网站或 HTML 文档与 WCAG 要求之间的差距。