使用 @types/storybook__addon-a11y 进行 Web 无障碍测试

阅读时长 4 分钟读完

简介

在 Web 开发过程中,许多用户使用辅助技术(如屏幕阅读器,放大工具等)来帮助他们使用网站。因此,Web 无障碍已经成为开发者必须考虑的一项关键问题。@storybook/addon-a11y 是一个 Storybook 的 add-on,可以帮助你检测Web应用程序的可访问性。但如果你使用 TypeScript 进行开发的话,那么 @storybook/addon-a11y 将无法正常工作。在这篇文章中,我们将介绍如何使用 @types/storybook__addon-a11y 对 TypeScript 的 Storybook 应用进行缺陷发现。

安装

要使用 @types/storybook__addon-a11y,你需要以下软件包:

  • Node.js(8.3.0 或更高版本)

  • TypeScript(3.8.0 或更高版本)

  • Storybook (5.2.8 或更高版本)

然后,可以通过 yarn 或 npm 安装 @typescript和 @storybook 的相应依赖:

yarn add @types/storybook__addon-a11y --devnpm install @types/storybook__addon-a11y --save-dev

使用

  1. 启用 addon-a11y

你需要将 addon-a11y 添加到 Storybook 配置中。在 .storybook/main.js 文件中添加以下代码:

  1. 在组件上添加 Storybook 的参数 @a11y

现在,你可以通过为 Storybook 组件添加 Storybook 参数 @a11y 来启用 a11y 自动检测。通过将参数添加到组件的故事上,Storybook 会在组件渲染后对其进行检查,并向开发者报告任何可访问性问题。

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

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

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

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

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

这里的 a11y 配置选项为 manual: true,这意味着我们必须为每个组件手动运行 a11y 检查。这是因为如果在 stories 文件中使用默认配置,可能会捕获无关紧要的,模版式的信息,使报告难以解读。

  1. 运行 a11y 检查

现在,你可以使用以下命令在 Storybook 中运行 a11y 检查:

这将为 Storybook 中的所有组件运行 a11y 检查。

如果你只想检查某个特定的组件,可以通过传递故事的名称来限制检查的范围:

这将只检查 Example/Button 的故事。

总结

@storybook/addon-a11y 是一个强大的工具,可以帮助你发现并解决你在 Web 应用程序中遇到的许多可访问性问题。但在使用 TypeScript 的情况下,我们需要使用 @types/storybook__addon-a11y 来对 Storybook 进行 TypeScript 兼容性处理。我希望本文可以帮助你更好地理解在 TypeScrip-based Storybook 应用程序中使用 add-on-a11y 的流程,以及如何在 Web 开发中确保你的应用程序对所有用户都尽可能可访问。

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

纠错
反馈