Skip to content
← Back to rules

jsx-a11y/media-has-caption Correctness

作用

检查 <audio><video> 元素是否包含用于字幕的 <track> 元素。 这可确保媒体内容对所有用户都是可访问的,包括听力受损者。

为什么这不好?

如果没有字幕,音频和视频内容对聋人或听力不佳的用户就不可访问。 字幕对于身处嘈杂环境或无法使用音频的用户也很有用。

示例

此规则的错误代码示例:

jsx
<audio></audio>
<video></video>

此规则的正确代码示例:

jsx
<audio><track kind="captions" src="caption_file.vtt" /></audio>
<video><track kind="captions" src="caption_file.vtt" /></video>

配置

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

audio

type: string[]

default: ["audio"]

要视为 <audio> 元素的元素名称

track

type: string[]

default: ["track"]

要视为 <track> 元素的元素名称

video

type: string[]

default: ["video"]

要视为 <video> 元素的元素名称

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["jsx-a11y"],
  "rules": {
    "jsx-a11y/media-has-caption": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["jsx-a11y"],
  rules: {
    "jsx-a11y/media-has-caption": "error",
  },
});
bash
oxlint --deny jsx-a11y/media-has-caption --jsx-a11y-plugin

版本

此规则于 v0.1.1 中添加。

参考资料