jsx-a11y/anchor-ambiguous-text 限制
它的作用
检查锚点链接文本中是否使用了模糊词汇。
该规则会检查锚点元素的 aria-label 中的文本(如果存在)。
若锚点没有 aria-label,则会合并其子元素的以下文本内容:
aria-label(如果存在)- 若子元素为图片,则使用其
alt文本 - HTML 元素的文本内容
为什么这是个问题?
屏幕阅读器用户依赖链接文本获取上下文,像“点击这里”这样的模糊词汇无法提供足够的信息。
示例
此规则的 错误 代码示例:
jsx
<a>link</a>
<a>click here</a>此规则的 正确 代码示例:
jsx
<a>阅读此教程</a>
<a aria-label="oxc linter 文档">点击这里</a>配置
此规则接受一个配置对象,包含以下属性:
words
type: string[]
default: ["click here", "here", "link", "a link", "learn more"]
应在锚点文本中被标记的模糊词汇或短语列表。
如何使用
通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"plugins": ["jsx-a11y"],
"rules": {
"jsx-a11y/anchor-ambiguous-text": "error"
}
}bash
oxlint --deny jsx-a11y/anchor-ambiguous-text --jsx-a11y-plugin