使用 ARIA 提高无障碍性不同场景中的测试

阅读时长 4 分钟读完

无障碍性是指在数字设备上提供技术支持,使得所有人均能顺利地访问网络应用程序,无论他们是否存在各种残缺或残障。ARIA(Accessible Rich Internet Applications)是一项技术,代表网络内容创作者和 Web 浏览器之间的桥梁,该技术旨在提供一组有意义的角色、属性和状态,以支持几乎所有用户代理(包括基于键盘的和基于语音的代理)。

在本文中,我们将讨论如何在不同场景中使用 ARIA 提高无障碍性,并为每个场景提供测试示例。

场景 1:按钮

ARIA 角色可以指示按钮的功能,状态和名称。以下是使用按钮时的重要属性:

  • role="button":表示该元素是一个按钮;
  • aria-label:提供按钮的文本说明;
  • aria-disabled:表示按钮是否被禁用;
  • aria-pressed:表示按钮状态是否已被确认。

以下是一个示例代码,演示如何使用 ARIA 实现按钮:

场景 2:表单

ARIA 角色可以指示表单控件的类型、功能、状态和名称。以下是使用表单时的重要属性:

  • role="form":表示该元素是一个表单;
  • aria-label:提供表单的文本说明;
  • aria-describedby:提供表单的描述信息;
  • aria-required:表示该表单是否必填。

以下是一个示例代码,演示如何使用 ARIA 实现表单:

-- -------------------- ---- -------
----- ----------- ---------------- ---- -- ----- --------------------------------------- ---------------------
  ------ --------------------------------
  ------ ----------- ------------- -------- --

  ------ --------------------------------
  ------ --------------- ------------- -------- --

  -- ----------------------------- --- ------ --- -------------

  ------- ------------------ -----------
-------

场景 3:标签页

ARIA 角色可以指示标签页的类型、功能、状态和名称。以下是使用标签页时的重要属性:

  • role="tablist":表示该元素是一个标签页列表;
  • aria-label:提供标签页的文本说明;
  • role="tab":表示该元素是一个标签页按钮;
  • aria-selected:表示标签页是否处于活动状态;
  • role="tabpanel":表示该元素是一个标签页面板。

以下是一个示例代码,演示如何使用 ARIA 实现标签页:

-- -------------------- ---- -------
---- -------------- ---------------- ---------
  ------- ---------- -------------------- ------------------------ ----------
  ------- ---------- --------------------- ------------------------ ----------
  ------- ---------- --------------------- ------------------------ ----------

  ---- --------- --------------- -----------------------------
    ------ - -----------
  ------
  ---- --------- --------------- -----------------------------
    ------ - -----------
  ------
  ---- --------- --------------- -----------------------------
    ------ - -----------
  ------
------

总结

通过使用 ARIA,我们可以提高无障碍性,使得残缺或残障用户能够更好地访问数字应用程序。在不同场景中,我们可以指示元素的类型、功能、状态和名称,从而为用户提供更好的体验。同时,我们也需要深入理解每个属性的用途,以确保我们在测试的过程中不出现问题。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ad358348841e989495dde6

纠错
反馈