在 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 文档并验证其是否符合无障碍性要求的基本步骤:

  1. 使用 WebAccessibility() 构造函数创建负责无障碍验证的 WebAccessibility 类实例。
  2. 调用 CreateValidator() 方法以创建验证器对象。
  3. 使用其中一个 HTMLDocument() 构造函数加载 HTML 文档。
  4. 使用 Validate(document) 方法检查 HTML 文档的可访问性。结果将存储在 result 变量中。
  5. 检查验证是否成功。对于检测到的每个无障碍问题,打印规则代码、规则描述以及该验证是否通过或失败。
 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% 的世界人口存在某种形式的残疾,且这一人数在持续增加。网络无障碍具有多方面的重要性,涉及社会、经济和法律层面。

以下是一些网站无障碍性的统计数据,清楚地表明大多数在线资源在接纳需要特殊支持的用户方面存在不足:

在许多国家/地区,网络无障碍已成为法律要求,同时也是一种道德和伦理责任,旨在确保数字世界具有包容性并对所有人可访问。包括美国的 ADA(美国残障人法)和 Section 508 在内的一些法律与法规要求网站和数字内容对残障人士可访问。欧盟也通过立法来保护残障人士的权利。未能遵守这些规定可能导致法律后果和罚款。网络无障碍体现了对所有人的尊重,确保每个人都能平等地访问信息和服务。这不仅是技术层面的要求,更是创建包容、公平在线环境的基本要素。

无障碍与 SEO

许多无障碍实践与搜索引擎优化(SEO)的最佳实践是一致的。这意味着可访问性较高的网站在搜索引擎结果中更有可能获得更好排名,从而提升可见性和覆盖面。展示对无障碍的承诺还能提升组织声誉,表明您重视多样性与包容性并愿意为创建可访问的数字环境投入资源。通过提高网站可访问性,您向访客和客户展示了对他们的关怀,这通常也会增加品牌忠诚度与知名度。

搜索引擎将无障碍性作为排名因素之一。发现并修复无障碍错误也可能对 SEO 产生积极影响,从而提升网站在搜索结果中的可见度。大多数改进无障碍性的做法同时也提升了网站对所有人的可用性,而不仅仅是残障人士。以下是无障碍与 SEO 相互重叠的一些示例:

网络无障碍标准

网络无障碍是一项道德和伦理责任,旨在确保数字世界对所有人(不论能力如何)都是包容且可访问的。以下是一些最常见的无障碍标准和指南:

网络无障碍的基本原则包括 可感知性(Perceivability)可操作性(Operability)可理解性(Understandability)健壮性(Robustness)。这意味着所有访问者都应能够感知并理解网站上呈现的内容和信息。内容与导航应清晰易懂;网站应支持多种输入方式(例如键盘导航、语音命令或屏幕阅读器等辅助技术)。

网络无障碍在许多国家都是法律要求:

另请参阅 – 相关资源

Aspose.HTML 提供免费的在线 网络可访问性检查器。该工具可扫描网页,验证其是否符合 WCAG 要求、识别问题并提出改进建议。即时了解网站合规状况,帮助您确定所需修正的范围以及当前网站或 HTML 文档与 WCAG 要求之间的差距。

文字“网络可访问性检查器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.