`

ESLint: elements with click handlers must have at least one keyboard listener.

    博客分类:
  • js
阅读更多

ESLint: Visible, non-interactive elements with click handlers must have at least one keyboard listener. (jsx-a11y/click-events-have-key)

 

由于ESLint检查强制非Button的 onClick 事件需要至少一个键盘事件。

键盘事件:

onKeyUponKeyDownonKeyPress

 

<!-- 成功的onClick事件绑定在div上 -->
<div onClick={() => {}} onKeyDown={this.handleKeyDown} />
<div onClick={() => {}} onKeyUp={this.handleKeyUp} />
<div onClick={() => {}} onKeyPress={this.handleKeyPress} />

 

For GitHub:https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/click-events-have-key-events.md

 

 

WARNING:

ESLint: Static HTML elements with event handlers require a role. (jsx-a11y/no-static-element-interactions

 

Fixed:

 

<div role="button" onClick={() => {}} onKeyDown={this.handleKeyDown} />
 

 

WARNING:

ESLint: Elements with the 'button' interactive role must be focusable. (jsx-a11y/interactive-supports-focus)

 

Fixed:

 

<div role="button" tabIndex="0" onClick={() => {}} onKeyDown={this.handleKeyDown} />

 

 

WARNING:

ESLint: Missing parentheses around multilines JSX (react/jsx-wrap-multilines)

 

Final Fixed:

 

{
  midBoxInfo.icons.map((v, i) => (
    <span
      key={i}
      role="button"
      tabIndex="0"
      onClick={() => this.goLink(v.link)}
      onKeyPress={() => this.goLink(v.link)}
    >
      <img alt="" src={require(`../../../static/images/for/${v.icon}`)} />
    </span>
  ))
}
分享到:
评论

相关推荐

    eslint-plugin-styled-components-a11y

    所有这些都会显示错误- Visible, non-interactive elements with click handlers must have at least one keyboard listener.` const Div = styled . div `` ;&lt; Div xss=removed&gt; null } / &gt; ; const Div = styled ...

    handlers

    在IT行业中,"handlers"通常指的是程序中处理特定事件或任务的部分。特别是在JavaScript这个标签相关的语境下,处理程序指的是JavaScript中的事件处理器。JavaScript是一种广泛应用于网页和网络应用的脚本语言,它...

    Python库 | pydap.handlers.netcdf-0.6.1-py2.6.egg

    python库。 资源全名:pydap.handlers.netcdf-0.6.1-py2.6.egg

    PyPI 官网下载 | pydap.handlers.sql-0.1.1-py2.7.egg

    资源来自pypi官网。 资源全名:pydap.handlers.sql-0.1.1-py2.7.egg

    COS——R.log

    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost...

    perl-Attribute-Handlers-0.99-421.el8.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    perl-Attribute-Handlers-0.99-420.el8.noarch(1).rpm

    官方离线安装包,亲测可用

    PyPI 官网下载 | lambda_handlers-0.0.1rc0.tar.gz

    5. **src**或**lib**目录:存放实际的Python源代码,包括模块和类定义,例如`lambda_handlers.py`,其中可能定义了处理AWS Lambda事件的函数。 6. **tests**目录(如果存在):包含了单元测试和集成测试,用于验证...

    Python库 | django-ohm2-handlers-light-0.1.19.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:django-ohm2-handlers-light-0.1.19.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    WKWebViewJS调用OC Demo

    window.webkit.messageHandlers.方法名.postMessage("这是传给OC的参数"); } ``` 当用户点击按钮时,JavaScript会调用`callOC`函数,向OC发送消息,OC的`userContentController:didReceiveScriptMessage:`代理...

    handlers.js

    handlers.js

    perl-Attribute-Handlers-0.99-419.el8.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    one-deploy.tar.gz

    标题中的"one-deploy.tar.gz"是一个压缩包文件,通常在Linux或Unix环境中使用,它包含了一组相关文件或目录,被压缩以节省存储空间和方便传输。".tar"是归档文件格式,用于将多个文件和目录组合到一个单一的文件中,...

    EurekaLog_7.5.0.0_Enterprise

    All packages now have version suffix (e.g. EurekaLogCore240.bpl). No files are copied to \bin folder of IDE. Run-time package (EurekaLogCore) is copied to Windows\System32 folder. Refer to help for ...

    Python logging模块handlers用法详解

    本文将深入探讨logging模块中的handlers,这是日志处理的核心组件,它们负责将日志信息发送到不同的目的地,如控制台、文件或网络。 一、handlers是什么? 在logging模块中,handlers是处理日志记录的关键类。它们...

    React-Express-React-Router-Webpack

    React-Express-React-Router-Webpack 构建简单的Express+React+React-...1: Static HTML elements with event handlers require a role // 给静态HTML元素(非交互元素)添加角色role 解决方案: role="presentation

Global site tag (gtag.js) - Google Analytics