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

简介

在 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


猜你喜欢

  • npm 包 @types/storybook__addon-notes 使用教程

    前言 在前端开发中,我们经常会使用 Storybook 来进行组件的开发与测试。而其中一个常用的插件就是 @storybook/addon-notes。为了让 TypeScript 对该插件的开发更加...

    4 年前
  • npm 包 @types/storybook__addon-storyshots 使用教程

    在前端开发过程中,UI 组件测试是不可避免的一部分。在 React 生态系统中,Storybook 是一个非常流行的 UI 组件开发和测试工具。它允许开发人员在浏览器中交互式地展示他们的组件并进行一些...

    4 年前
  • NPM 包 @types/stream-chain 使用教程

    @types/stream-chain 是一个为 stream-chain 库提供 TypeScript 类型声明文件的 NPM 包。在前端开发中,使用 stream-chain 库可以轻松地创建管道...

    4 年前
  • npm 包 @types/stream-csv-as-json 使用教程

    简介 在前端开发中,经常会用到将 CSV 文件转换为 JSON 格式的需求。而 stream-csv-as-json 是一个能够帮助我们实现这个过程的 npm 包。

    4 年前
  • npm 包 @types/stream-json 使用教程

    什么是 @types/stream-json @types/stream-json 是一个 TypeScript 类型定义文件,它提供了对从 JSON 流中解析的数据类型的定义,它适用于使用 stre...

    4 年前
  • npm 包 @types/stream-meter 使用教程

    在前端开发过程中,处理数据流是一项很重要的任务。@types/stream-meter 是一个 npm 包,它可以帮助我们对数据流进行监测和度量,以便更好地了解和调试数据流。

    4 年前
  • npm包 @types/stream-series 使用教程

    在前端开发中,经常需要处理数据流。在这种情况下,@types/stream-series是一个非常有用的npm包。本文将为您介绍如何使用@types/stream-series进行数据流处理。

    4 年前
  • npm 包 @types/stream-shift 使用教程

    简介 @types/stream-shift 是一款npm包,它提供了 TypeScript 类型定义,使得使用 stream-shift 函数时可以更加方便。 stream-shift函数用于从 N...

    4 年前
  • npm 包 preval.macro 使用教程

    在前端开发中,我们都知道 JavaScript 是一门非常灵活的语言,但由于其语法特点,有些时候代码逻辑会变得冗长而难以理解。为此,npm 上出现许多工具和库来提高开发效率。

    4 年前
  • npm包@types/stream-to-array使用教程

    在前端开发中,npm是非常重要的工具,它可以让我们轻松地安装和管理代码库,其中@types/stream-to-array是一种非常有用的npm包,用于将流转换为数组。

    4 年前
  • npm 包 @types/stream-to-promise 使用教程

    在前端开发过程中我们经常需要处理异步操作,其中一种常见的方式是使用流(stream)。但是,JavaScript 的流处理还比较初级,很多库和工具并没有为流提供明确的类型声明。

    4 年前
  • npm 包 @types/streaming-json-stringify 使用教程

    介绍 @types/streaming-json-stringify 是一个 TypeScript 类型声明文件,用于支持 streaming-json-stringify 的 TypeScript ...

    4 年前
  • npm 包 @types/streamjs 使用教程

    在前端应用开发过程中,我们经常需要使用到数据流的处理。StreamJS 是一个非常有名的流处理库,可以帮助我们进行流的处理和组合。@types/streamjs 是 StreamJS 的 TypeSc...

    4 年前
  • npm 包 rollup-plugin-advanced-run 使用教程

    简介 rollup-plugin-advanced-run 是一个可用于 Rollup 打包工具的插件,支持在打包过程中自定义一些脚本指令,以便进一步优化打包流程,增强可扩展性。

    4 年前
  • npm 包 @types/streamtest 使用教程

    前言 前端开发中,我们经常需要与数据打交道,其中处理流式数据是很常见的场景,Node.js 中的内置模块 stream 就是用来处理这类数据的。但是,在 TypeScript 中使用 stream 并...

    4 年前
  • npm 包 @types/strftime 使用教程

    前言 在前端开发的过程中,我们需要对日期和时间进行格式化。Node.js 中的 strftime 是一个非常方便的模块,它可以将时间按照指定格式输出,这里介绍的是其 TypeScript 版本 @ty...

    4 年前
  • npm 包 @types/stripe 使用教程

    什么是 npm 包 @types/stripe? 在开始学习 npm 包 @types/stripe 之前,我们需要先了解一下什么是 @types。@types 实际上是 TypeScript 官方维...

    4 年前
  • npm 包 rollup-plugin-yaml 使用教程

    前言 在前端开发的过程中,我们经常需要处理各种配置文件、数据文件等。其中 YAML 文件是一种非常常见的格式。如果我们在写 Webpack 或者 Rollup 配置的时候需要引用 YAML 文件,那么...

    4 年前
  • npm 包 @types/stripe-checkout 使用教程

    在前端开发中,Stripe 是一款广泛使用的在线付款处理工具。而 @types/stripe-checkout 是一个非常方便的 npm 包,在使用 Stripe 的时候特别有用。

    4 年前
  • npm 包 @types/stripe-v2 使用教程

    概述 在前端开发中,与支付接口相关的问题是一个不可避免的问题。Stripe 是一个受欢迎的在线支付解决方案,它提供了多种集成方式。其中,官方提供的 JavaScript SDK 是前端开发者最常用的方...

    4 年前

相关推荐

    暂无文章