为了账号安全,请及时绑定邮箱和手机立即绑定

控件必须与文本标签相关联

控件必须与文本标签相关联

萧十郎 2021-11-18 20:59:56
我收到错误:控件必须与文本标签相关联。这段代码是: <i   role="button"   className={classN}   onClick={this.muteVolume}   onKeyDown={this.muteVolume} />该错误与此 eslint 规则有关。当使用标签和关联的控件时,该规则是有意义的。就我而言,我根本不需要标签。我可以创建一个,但在我看来这是一种避免出现该错误的解决方法。问题是什么?编辑正如@rickdenhaan 所指出的,要应用的正确规则是这个。
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

该消息实际上来自control-has-related-label规则。


规则由role="button"属性触发。这会将您<i />变成一个控件,因此出于可访问性原因,它需要一个文本标签(例如,屏幕阅读器知道要读出什么)。为了遵守规则,您可以给“按钮”文本内容或添加一个aria-label属性:


<i

   role="button"

   className={classN}

   onClick={this.muteVolume}

   onKeyDown={this.muteVolume}

>

  Mute volume

</i>


<i

   role="button"

   aria-label="Mute volume"

   className={classN}

   onClick={this.muteVolume}

   onKeyDown={this.muteVolume}

 />


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信