link-types
<link>、<a>、<area>、<form>要素のrel属性のリンクタイプキーワードをWHATWG標準に対して検証します。
このルールは以下をチェックします:
- キーワードが特定の要素で許可されているかどうか(例:
bookmarkは<a>では許可されているが<link>では不許可) <body>内の<link>要素がbody-okキーワードのみを使用しているかどうか- キーワードがMicroformatsレジストリでドロップ、リジェクト、または非HTMLとされたキーワードかどうか
注記
invalid-attrルールも型システム経由でrel属性値を検証しますが、body-okコンテキストはチェックせず、Microformatsキーワードを常に許可します。link-typesルールはbody-okチェックとMicroformats制御をより詳細なエラーメッセージとともに提供します。両方のルールを併用でき、チェック内容は補完的です。
❌ 間違ったコード例
<!-- "bookmark" は <link> では不許可 -->
<link rel="bookmark" />
<!-- "canonical" は body-ok ではないため <body> 内では不許可 -->
<html>
<head></head>
<body>
<link rel="canonical" href="https://example.com/" />
</body>
</html>
<!-- "stylesheet" は <a> では不許可 -->
<a rel="stylesheet" href="/style.css">link</a>
✅ 正しいコード例
<link rel="stylesheet" href="/style.css" />
<link rel="canonical" href="https://example.com/" />
<a rel="noopener noreferrer" href="https://example.com/">link</a>
<form rel="nofollow" action="/submit"></form>
Interface
{
"link-types": boolean
}
rel属性のリンクタイプキーワードをWHATWG標準およびオプションでMicroformatsレジストリに対して検証します。
Options
{
"link-types": {
"options": {
"allowMicroformats"?: boolean | string[]
}
}
}
| Property | Type | Default Value | Description |
|---|---|---|---|
allowMicroformats | boolean | | false | Microformatsのリンクタイプキーワードを許可するかどうか。falseはWHATWG標準キーワードのみを許可します。trueは登録済みのすべてのMicroformatsキーワードを許可します。文字列の配列は指定されたキーワードのみを許可します。 |
Default Severity
error
設定例
デフォルト(WHATWG標準のみ)
{
"rules": {
"link-types": true
}
}
allowMicroformats
型: boolean | string[]
Microformatsリンクタイプキーワードを許可するかどうかを制御します。Microformatsキーワードリストはmicroformats.org wikiの登録済みキーワードに基づいています。
Microformatsキーワードが許可されている場合でも、要素コンテキストの検証は適用されます。例えば、<a>専用のキーワードは<link>では拒否されます。Microformatsレジストリはフォームコンテキストを定義していないため、<form>ではMicroformatsキーワードは常に拒否されます。
true — 登録済みのすべてのMicroformatsキーワードを許可
{
"rules": {
"link-types": {
"options": {
"allowMicroformats": true
}
}
}
}
string[] — 指定されたキーワードのみ許可
指定されたキーワードのみを許可します。レジストリに登録されていないカスタムキーワードも指定できます。
{
"rules": {
"link-types": {
"options": {
"allowMicroformats": ["apple-touch-icon", "mask-icon"]
}
}
}
}