---
title: a11y/abbr-title · 展開のない略語
description: title のない <abbr> は読者に展開形を提供しません。晴眼ユーザーにはツールチップが出ず、支援技術には展開するものがありません。
---

**重大度:** info · **カテゴリ:** a11y

## チェック内容

展開形を与える `title` のない `<abbr>` を検出します。

```svelte
<p>The <abbr>W3C</abbr> publishes the spec.</p>
```

空のリテラル `title=""` は展開形を持たないため同様に検出します。式値の `title={expr}` は通します。レンダリング結果は判定不能なので、属性の存在をもって展開形があるとみなします。

検出しないもの:

- スプレッド属性を持つ `<abbr>`。レンダリングされる属性が判定不能です。
- `<svg>` 内の `<abbr>`。SVG の要素ではなく、そこではレンダリングされません。

## なぜ重要か

`<abbr>` は略語であることを示しますが、展開形を与える `title` がなければこの要素は何の情報も追加しません。晴眼ユーザーにはツールチップが出ず、支援技術には展開するものがありません。

これは適合性の要求ではなくベストプラクティスへの後押しです: 仕様上 `title` は任意で、展開形を周囲の本文で与えるのも正しいマークアップです。

## 修正方法

展開形を `title` として追加するか、初出時に完全な形で書きます。

```svelte
<p>The <abbr title="World Wide Web Consortium">W3C</abbr> publishes the spec.</p>
```

## 制限事項

周囲のテキストで展開形を与えるマークアップ（`The World Wide Web Consortium (<abbr>W3C</abbr>)`）は適合しますが、このルールからは見えません。これが既知の偽陽性の類型です。冗長な `title` を足すのではなく、下のインラインディレクティブで抑制してください。

## モードによる違い

ありません。このルールが読むのは同じ `.svelte` / `.ts` のソースファイルなので、CLI、Vite プラグインのビルド、ライブダッシュボードの静的ベースラインのいずれでも結果は同一で、レンダリング済み HTML の解析で再評価されることもありません。`--route` で実行範囲を絞ると、このルールは動きません。コンポーネントスコープのルールには、検出を紐づけるルートが無いためです。

## 無効化

展開形を周囲のテキストで与えている場合は、`<!-- svelte-vitals-disable-next-line a11y/abbr-title -->` で個別の要素を抑制するか、ルールを無効化してください。

```js svelte-vitals.config.js
export default {
  rules: {
    'a11y/abbr-title': 'off'
  }
};
```
