Skip to content
← Back to rules

jsx-a11y/no-distracting-elements 正确性

它的作用

强制禁止使用可能引起视觉干扰的元素。

为什么这是个问题?

可能导致视觉干扰的元素会对视觉障碍用户造成无障碍访问问题。这类元素很可能已被弃用,应避免使用。默认情况下,<marquee><blink> 元素具有视觉干扰性,可能引发前庭系统紊乱。

示例

此规则的错误代码示例:

jsx
<marquee />
<marquee {...props} />
<marquee lang={undefined} />
<blink />
<blink {...props} />
<blink foo={undefined} />

此规则的正确代码示例:

jsx
<div />
<Marquee />
<Blink />

配置

此规则接受一个配置对象,包含以下属性:

elements

type: array

要检查的干扰性元素列表。

elements[n]

type: "marquee" | "blink"

如何使用

通过配置文件或命令行启用此规则,可以使用:

json
{
  "plugins": ["jsx-a11y"],
  "rules": {
    "jsx-a11y/no-distracting-elements": "error"
  }
}
bash
oxlint --deny jsx-a11y/no-distracting-elements --jsx-a11y-plugin

参考资料