- 技術 💻
altとは|Altキーとalt属性・代替テキストの書き方を実測で解説
結論
IT で「alt」と言えば、キーボードの「Altキー」か、HTML の「alt属性(画像の代替テキスト)」のどちらかです。どちらも英語の alternative(代わりの)が語源で、Altキーは他のキーの働きを切り替えるキー、alt属性は画像の代わりに読み上げ・表示される文章です。X(旧Twitter)の「ALT」は alt属性と同じ考え方の「画像の説明」です。
この記事でわかること
- 場面別の alt の意味と、Altキー・Mac の option キーのショートカット
- alt あり・空・なしで Chromium の読まれ方がどう変わるかの実測
- 画像の種類別の alt の書き方の判断表と、X の画像説明の付け方
「alt」は短い言葉なので、検索した場面によって答えが変わります。まず自分がどの alt を調べているかを決め、その節へ進むのが早道です。
flowchart LR
Q{どこで見た?} -->|キーボード| K[Altキー<br>Mac は option]
Q -->|HTML| H[alt属性<br>画像の代替テキスト]
Q -->|X の画像| X[ALT バッジ<br>画像の説明]
Q -->|学校・健診| O[ALT<br>IT以外の略語]
よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| altとは | Altキーか alt属性。どちらも alternative(代わり)の略 | altとは(場面別の意味) |
| Altキーの読み方 | 「オルト」と読むことが多い。「アルト」とも | Altキーとは |
| Mac の Altキーはどこ | option(⌥)キー。Apple は「alt」とも表記 | Altキーとは |
| Altキーのショートカット | Alt+Tab(切り替え)・Alt+F4(閉じる)・Alt+←(戻る) | Altキーのショートカット一覧 |
| alt属性の書き方 | 画像の役割を短い文で。装飾なら alt="" | alt属性の書き方 |
| alt を空にする・書かない違い | 空は「読まない」、書かないは「中身の分からない画像」 | alt を空にする場合・書かない場合 |
| twitter alt(X の ALT) | 画像の説明。投稿前に「+ALT」から1,000文字まで | X(旧Twitter)のALT |
| alt属性の確認方法 | DevTools のアクセシビリティ・axe-core・html-validate | alt属性の確認方法 |
確認環境:Ubuntu 24.04.5 LTS の上で、Python 3.13.18 の http.server を 127.0.0.1 のポートに起動し、自作のテストページ(alt あり・空・なし・空白だけ・title だけ・aria-label・リンク内・ボタン内・figure・input type="image"・svg・area など18通りの画像と、読み込みに失敗する画像6通り)を置きました。表示とアクセシビリティツリー(支援技術に渡される情報)は Chromium 153.0.8010.12(playwright 1.63.0・Node.js 22.23.4)で、DevTools Protocol の Accessibility.getPartialAXTree と ariaSnapshot を使って取り出しました。キーボードは Chromium に Alt・右Alt・Alt+S などのキー入力を送り、ページの keydown の値(key・code・location・altKey)を記録しています。検査ツールは axe-core 4.14.0 と html-validate 11.17.0(どちらも作業場所に npm で導入)、自作の Python スクリプトで同じページを調べました。画像は Pillow 12.3.0 で作った単色の図形です。Windows・Mac・X のアプリは手元で動かせないため、ショートカットは Microsoft サポート・Apple サポート・Google Chrome ヘルプ、X の操作は X ヘルプセンターの記載で1つずつ確かめた範囲だけを書いています。alt属性の決まりは WHATWG HTML Living Standard・MDN・W3C WAI(WCAG 2.2 と alt decision tree)、検索での扱いは Google 検索セントラル、WordPress は WordPress.org の公式ドキュメントで確かめました。スクリーンリーダー(NVDA・VoiceOver など)は動かしておらず、スクリーンリーダーが読む元になるアクセシビリティツリーの値で確かめています。図は mermaid-cli 11.16.0 で描画を確かめています(確認日 2026年10月29日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「altとは|Altキーとalt属性・代替テキストの書き方を実測で解説」
altとは(場面別の意味の表)
この節では、「alt」が場面によって何を指すのかが一覧で分かります。
alt は alternative(代わりの・別の)を短くした言葉で、IT ではキーボードの Altキーと HTML の alt属性の2つを指すのがほとんどです。 大文字の「ALT」は、学校や健康診断では別の言葉の略語として使われます。
| 場面 | alt の意味 | 例 | この記事 |
|---|---|---|---|
| パソコンのキーボード | Altキー(Alternate キー)。他のキーと組み合わせて働きを変える | Alt+Tab・Alt+F4 | 詳しく扱う |
| Mac のキーボード | option キー(⌥)が Altキーにあたる | option+command+esc | 詳しく扱う |
| HTML・Web 制作 | alt属性。画像の代わりになる文章(代替テキスト) | <img alt="…"> | 詳しく扱う |
| X(旧Twitter)・SNS | 画像の説明(ALT バッジ)。中身は alt属性と同じ考え方 | 画像左下の「ALT」 | 手順を扱う |
| 英語圏の SNS の言い回し | alt account の略。普段のアカウントとは別のアカウント | my alt | 一言だけ |
| 学校 | ALT(Assistant Language Teacher)。外国語指導助手 | 英語の授業の先生 | 一言だけ |
| 健康診断 | ALT(アラニンアミノトランスフェラーゼ)。肝臓の検査項目で、GPT とも呼ばれる | 血液検査の結果表 | 一言だけ |
Altキー(押すもの)
キーボードの下の段、スペースキーの左右
単独よりも、他のキーとの組み合わせで使う
Mac では option キーが同じ役目
alt属性(書くもの)
HTML の img 要素などに書く属性
画像が見えない人・表示できない場面で画像の代わりになる
X の「画像の説明」も同じ役目
この記事の前半は Altキー、後半は alt属性と X の ALT を扱います。健康診断の ALT の基準値など、IT 以外の意味は医療機関や学校の資料を確かめます。
Altキーとは(読み方・位置・Mac の option との対応)
この節では、Altキーの読み方とキーボード上の位置、Mac で同じ働きをするキーが分かります。
Altキーは、押しながら別のキーを押すことで、そのキーに別の働きをさせる「修飾キー」の1つです。 Ctrl・Shift と同じ仲間で、名前は Alternate(切り替える)から来ています。読み方は「オルト」が一般的で、「アルト」と読む人もいます。
位置
Windows のキーボードでは、下の段のスペースキーの左右に1つずつあることが多い。ノートパソコンでは右側が無い機種もある。
左Alt と右Alt
Mac では option
Apple は修飾キーの記号を「option(または alt)⌥」と書いている。Windows 用キーボードを Mac につなぐと Altキーが option になる。
記号は ⌥
下線付きの文字と
Windows のメニューやダイアログでは、Alt と下線の付いた文字を押すと、その項目を実行できる(Microsoft サポート)。
Alt+下線付き文字
AltGr
キーボードの配列によっては右Alt が「AltGr」になり、3段目の文字(記号など)を入力するキーとして働く(MDN)。
配列で役目が変わる
Apple サポートの「Mac のキーボードショートカット」は、Windows 用キーボードを Mac で使うときは、option キーの代わりに Alt キー、command キーの代わりに Ctrl キーか Windows ロゴキーを使うよう案内しています。
つまり、Altキーの役目の多くは Mac では option キーが受け持ちます。ただし、同じ働きのショートカットでも Windows と Mac で組み合わせが違うものが多く、キーを置き換えるだけで同じ操作になるとは限りません。
| 役目 | Windows | Mac |
|---|---|---|
| Altキーにあたるキー | Alt | option(⌥) |
| Ctrl にあたるキー | Ctrl | command(⌘)が多い。control(⌃)もある |
| 固まったアプリを止める | Ctrl+Alt+Del →タスクマネージャー | option+command+esc(強制終了) |
| Alt/option を押しながらドラッグ | 元の場所への参照(ショートカット)を置く | 項目をコピーする |
固まったアプリの止め方は、Windows は関連記事「タスクマネージャーの開き方|ショートカット7つと使い方・開かない時の対処」で、Mac は関連記事「Mac 強制終了の方法|アプリが固まった時のショートカットとできない時の対処」で扱っています。
Altキーのショートカット一覧(Windows・Mac・Chrome)
この節では、Altキー(Mac は option キー)を使う主なショートカットが、Windows・Chrome・Mac の順に分かります。
最初に覚えるなら Alt+Tab(ウィンドウの切り替え)、Alt+F4(閉じる)、Alt+←(前の画面に戻る)の3つです。 以下は Microsoft サポート「Windows のキーボード ショートカット」に載っているものから、よく使うものを選びました。
Windows の Altキーのショートカット
| キー | 働き(Microsoft サポートの記載) | よく使う場面 |
|---|---|---|
| Alt+Tab | 開いているウィンドウを切り替える。Alt を押したまま Tab を繰り返す | 資料とメールを行き来する |
| Alt+F4 | 作業中のウィンドウを閉じる。ウィンドウが無いときはシャットダウンの画面 | アプリを閉じる |
| Alt+← / Alt+→ | 前の画面に戻る/次の画面に進む | ブラウザー・エクスプローラー |
| Alt+Esc | 開いた順にウィンドウを切り替える | 一覧を出さずに切り替える |
| Alt+Space | 作業中のウィンドウのメニュー(最小化・最大化など)を開く | マウスを使わずに最大化 |
| Alt+PrtScn | 作業中のウィンドウだけのスクリーンショットをクリップボードへ | 1つの画面だけ貼る |
| Alt+Enter | エクスプローラーで選んだ項目のプロパティを表示 | ファイルのサイズ・場所を見る |
| Alt+D / Alt+↑ | エクスプローラーでアドレスバーを選ぶ/1つ上のフォルダーへ | パスをコピーする |
| Ctrl+Alt+Del | ロック・ユーザー切り替え・サインアウト・タスクマネージャーの画面 | 固まったとき |
| Ctrl+Alt+Tab | 開いているアプリの一覧を出し、方向キーで選ぶ | 手を離して選びたいとき |
Windows キーと組み合わせる Windows+Alt+↑/↓(ウィンドウを画面の上半分・下半分に置く)や、Windows+Alt+D(日付と時刻の表示)も同じページに載っています。ショートカットを自分で割り当て直したいときは、関連記事「PowerToysとは|使い方・全ツール一覧とショートカット早見表」の Keyboard Manager が使えます。
Chrome の Altキーのショートカット(Windows・Linux)
| キー | 働き(Google Chrome ヘルプの記載) |
|---|---|
| Alt+Home | 現在のタブでホームページを開く |
| Alt+← / Alt+→ | 前のページに戻る/次のページに進む |
| Alt+D | アドレスバーに移動 |
| Alt+F または Alt+E | Chrome のメニューを開く |
| Alt+Enter | アドレスバーに入れた語で、新しいタブで検索 |
| Alt+リンクをクリック | リンク先をダウンロード |
| Shift+Alt+T | ツールバーの最初の項目にフォーカス |
Mac の option キーのショートカット
| キー | 働き(Apple サポート・Chrome ヘルプの記載) |
|---|---|
| option+command+esc | 応答しなくなったアプリを強制終了 |
| option+command+H | 最前面のアプリ以外を隠す |
| option+command+D | Dock の表示・非表示を切り替える |
| option+command+L | 「ダウンロード」フォルダを開く |
| option+ドラッグ | 項目をコピーする |
| option+← / option+→ | 文字の入力欄で単語単位にカーソルを動かす(Chrome ヘルプ) |
| command+option+I | Chrome のデベロッパーツールを開く(Chrome ヘルプ) |
Apple のページには「アプリごとに独自のショートカットがあり、あるアプリで動くものが別のアプリでも動くとは限らない」という注意もあります。Excel・VS Code など個別のアプリのショートカットは、それぞれの公式の一覧で確かめます。
ブラウザーから見たAltキー(左右・Mac・AltGr の実測)
この節では、Altキーを押したときに Web ページへ届く値と、左右の Alt の見分け方が実測で分かります。
Chromium に Altキーを送ると、ページには key が「Alt」、code が「AltLeft」または「AltRight」として届きました。 左右は code と location(1 が左、2 が右)で見分けます。次はテストページの keydown・keyup をそのまま記録した結果です。
keydown key=Alt code=AltLeft location=1 altKey=true ctrlKey=false
keyup key=Alt code=AltLeft location=1 altKey=false ctrlKey=false
keydown key=Alt code=AltLeft location=1 altKey=true ctrlKey=false
keydown key=s code=KeyS location=0 altKey=true ctrlKey=false
keyup key=s code=KeyS location=0 altKey=true ctrlKey=false
keyup key=Alt code=AltLeft location=1 altKey=false ctrlKey=false
keydown key=Alt code=AltRight location=2 altKey=true ctrlKey=false
keyup key=Alt code=AltRight location=2 altKey=false ctrlKey=false
keydown key=Control code=ControlLeft location=1 altKey=false ctrlKey=true
keydown key=Alt code=AltLeft location=1 altKey=true ctrlKey=true
keydown key=Delete code=Delete location=0 altKey=true ctrlKey=true
1altKey は押している間だけ true
Alt+S では、S の keydown・keyup の両方で altKey=true。Alt を離した keyup で false に戻った。
2左右は code で分かる
右Alt は code=AltRight・location=2。key はどちらも「Alt」なので、key だけでは左右を区別できない。
3Ctrl+Alt+Del もページに届いた
テストではブラウザーに直接キーを送ったため3つの keydown が届いた。Windows の実機では、この組み合わせでセキュリティの画面が開く(Microsoft サポート)。
MDN の「キーボードイベントの key の値」では、「Alt」キーの OS ごとのキーコードとして、Windows は VK_MENU、Mac は kVK_Option(option キー)、Linux は GDK_KEY_Alt_L・GDK_KEY_Alt_R が挙げられています。Mac の option キーも、Web ページからは同じ「Alt」として見えるということです。 また、右Alt を AltGr として使う配列では key が「AltGraph」になり、MDN には Chrome 67・Firefox 63 からこの扱いが正しくなったという注記があります。
Web アプリで Alt を使うショートカットを作るときは、OS やブラウザーがすでに使っている組み合わせ(Alt+F4・Alt+←・Alt+D など)を避けます。HTML の accesskey 属性も Alt との組み合わせで動くブラウザーがありますが、MDN は OS・ブラウザー・支援技術のショートカットとぶつかるおそれがあるとして、一般向けのサイトでの使用を推奨していません。
Linux の X Window System では、Altキーの割り当ては xkb の「オプション」で変えられます。この環境の一覧ファイル(/usr/share/X11/xkb/rules/evdev.lst)には、次のような Alt の選択肢がありました。
lv3:ralt_switch Right Alt
lv3:ralt_alt Right Alt never chooses 3rd level
altwin:meta_alt Alt and Meta are on Alt
altwin:alt_win Alt is mapped to Win and the usual Alt
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win
alt属性とは(画像の代替テキスト)
この節では、HTML の alt属性が何のためにあり、誰に読まれるのかが分かります。
alt属性は、画像の代わりになる文章(代替テキスト)を書く HTML の属性です。 画像を見られない人にはスクリーンリーダーが alt を読み上げ、画像を表示できないときはブラウザーが alt の文字を画像の場所に表示します。
<img src="sales-2026q2.png" alt="2026年4〜6月の売上は毎月伸び、6月は180万円">
MDN は alt属性について、次のように説明しています。
alt 属性は、この画像のテキストによる代替情報を保持します。これは必須であり、アクセシビリティに非常に有用なものです。スクリーンリーダーは、この属性値をユーザーに読み上げるので、画像の意味が分かります。
スクリーンリーダーの利用者
画像の場所で alt が読み上げられる。alt が無いと、画像があることしか分からない。
読み上げ・点字
画像が表示されない人
回線が遅い・画像を切っている・ファイルが壊れている。ブラウザーは alt の文字を代わりに表示する。
MDN の説明
検索エンジン
Google は代替テキストを、画像の内容を理解するための重要な属性としている。
Google 検索セントラル
リンク・ボタン
画像だけのリンクやボタンでは、alt がそのリンク・ボタンの名前になる。
手元で実測
alt属性は「altタグ」と呼ばれることもありますが、正しくはタグ(要素)ではなく、img 要素などに付ける属性です。HTML の規格(WHATWG HTML Living Standard)の 4.8.4.4.1 は、「特に指定がない限り、alt属性は書かなければならず、値は空であってはならない」と定め、空にしてよい場合(装飾の画像など)をその後の節で個別に挙げています。アクセシビリティの国際的な指針 WCAG 2.2 の達成基準 1.1.1「非テキストコンテンツ」(レベル A)も、画像などに同じ目的を果たすテキストの代替を求め、装飾の画像は支援技術が無視できるように作ることを求めています。
alt属性を書ける要素は、img のほかに、input type="image"(画像のボタン)と area(イメージマップの領域)です。HTML のほかのタグは関連記事「HTMLタグ一覧表|基本タグから全要素まで表示例・コピペ用コード付き」で扱っています。
alt属性の書き方(画像の種類別の判断表)
この節では、画像の種類ごとに alt に何を書けばよいかが、判断表と例で分かります。
alt には「画像の見た目」ではなく「その画像がこのページで果たしている役割」を書きます。 同じ写真でも、記事の中で何のために置いたかで alt は変わります。W3C の WAI が公開している alt decision tree(alt の決定木)は、次の順で問いかけます。
- 1画像に文字が入っているか → 入っていれば、その文字を alt に同じ文字が近くの本文にあれば alt=""、飾りの文字なら alt=""
- 2リンクやボタンに使っているか → 行き先・動作を alt に「虫眼鏡」ではなく「検索」、「ロゴ」ではなく「トップページ」
- 3ページに意味を足しているか → 意味が伝わる短い説明をグラフ・複雑な図は、内容を本文や表にも書く
- 4飾りだけ・利用者に向けたものでない → alt=""区切り線・背景の模様・計測用の画像
| 画像の種類 | alt に書くこと | よい例 | 避けたい例 |
|---|---|---|---|
| 内容を伝える写真 | ページの文脈で大事な点を短く | ソファで丸くなって眠る茶色の猫 | 猫の写真・IMG_0123.png |
| リンクのロゴ | リンク先 | RJC トップページ | ロゴ・logo.png |
| アイコンのボタン | 押すと起きること | 検索する | 虫眼鏡のアイコン |
| 文字入りのバナー | 画像の中の文字 | 秋の説明会 11月8日開催 | バナー |
| グラフ | 結論を短く+本文や表に数値 | 4〜6月の売上は毎月伸び、6月は180万円 | グラフ |
| 飾り・区切り線 | 何も書かない(alt="") | alt="" | 飾り・線 |
| 本文と同じ内容の画像 | 何も書かない(alt="") | alt=""(隣に同じ説明がある) | 本文の繰り返し |
「画像」「写真」と書く
手元の Chromium では alt="画像" は名前が「画像」の image として渡った
キーワードを並べる
スパムとみなされる要因になる場合がある(Google 検索セントラル)
長さに決まった上限はありませんが、読み上げは途中で止められないため、1〜2文に収めるのが基本です。グラフや図解のように説明が長くなるものは、alt には結論だけを書き、数値は本文や表に書きます。画像の下に図の番号と説明を書くなら、figure と figcaption を使います。
<figure>
<img src="sales.png" alt="4〜6月の売上は毎月伸び、6月は180万円">
<figcaption>図1 2026年4〜6月の月別売上(詳しい数値は下の表)</figcaption>
</figure>
alt を空にする場合・書かない場合の違い(Chromium で実測)
この節では、alt="" と alt を書かない場合で、支援技術への渡り方がどう違うかが実測で分かります。
alt=""(空)は「この画像は読まなくてよい」という合図で、alt を書かないのは「中身の分からない画像がある」という状態です。 見た目は同じでも、Chromium がスクリーンリーダーに渡す情報はまったく違いました。
- img "ソファで丸くなって眠る茶色の猫" ← alt あり(この次の alt="" は出てこない)
- img ← alt なし(名前の無い画像)
- img "猫の写真" ← alt なし・title="猫の写真"
- link "RJC トップページ": ← リンク内の画像に alt あり
- img "RJC トップページ"
- link: ← リンク内の画像に alt なし
- img
- img ← alt=" "(空白1文字)
- img "画像" ← alt="画像"
これは Chromium の ariaSnapshot(アクセシビリティツリーを文字にしたもの)の出力の抜粋に、どのタグかを右側に書き足したものです。alt="" の画像は行そのものがありませんでした。DevTools Protocol で1つずつ取り出した値は次のとおりです。
| 書き方 | ツリーでの扱い | 役割(role) | 名前(name)と出どころ |
|---|---|---|---|
| alt="説明" | 読まれる | image | 説明(alt) |
| alt="" | 無視される | none | なし |
| alt なし | 読まれる | image | 空 |
| alt なし・title あり | 読まれる | image | title の文(title) |
| alt=" "(空白) | 読まれる | image | 空白だけ(alt) |
| alt="" と title | 読まれる | image | 名前は空、説明(description)に title |
| alt="猫" と role="presentation" | 無視される | none | なし |
1alt なしは「名前の無い画像」
role は image のまま、名前が空で渡った。MDN は、alt が無いとスクリーンリーダーによってはファイル名を読み上げることがある、と書いている。
2alt="" に title を足すと無視されなくなった
装飾のつもりで alt="" にしても、title を付けると role が image に戻った。html-validate もこの組み合わせを誤りとした。
3空白1文字は「空」ではない
alt=" " は名前が空白の image として残った。axe-core は alt が無い画像と同じ違反(image-alt)として報告した。
装飾の画像を消したいときは、alt="" と書きます。alt属性そのものを消すと、逆に「名前の無い画像」として読まれます。CSS の background-image で表示した画像は、そもそもアクセシビリティツリーに出てこないので、飾りの模様は CSS で描く方法もあります。
リンクやボタンの中の画像
画像だけのリンクやボタンでは、alt がそのままリンク・ボタンの名前になります。逆に、画像と同じ文字が隣にあるときに alt も書くと、名前が二重になりました。
- link "お問い合わせお問い合わせ": ← <img alt="お問い合わせ">お問い合わせ
- img "お問い合わせ"
- text: お問い合わせ
- link "お問い合わせ": ← <img alt="">お問い合わせ
- button "検索": ← <button><img alt="検索"></button>
- img "検索"
- button: ← <button><img></button>(名前が無い)
- img
リンクの中に画像と文字が両方あるときは、画像を alt="" にすると「お問い合わせ」と1回だけ読まれます。画像だけのボタンに alt が無いと、名前の無いボタンになり、何のボタンか分かりません。
画像が表示されないときのalt(壊れた画像の実測)
この節では、画像の読み込みに失敗したとき、alt の有無で画面の見え方と大きさがどう変わるかが分かります。
読み込みに失敗した画像は、alt があれば alt の文字が表示され、alt="" なら幅も高さも0になって消えました。 存在しないファイルを指す img を6通り書き、Chromium で表示した大きさを測りました。
| 書き方(画像は存在しない) | 表示された大きさ | 見え方 |
|---|---|---|
| alt="4月の売上は…2割増" | 284×24 | アイコン+alt の文字 |
| alt なし | 16×16 | 壊れた画像のアイコンだけ |
| alt="" | 0×0 | 何も出ない |
| alt あり+width="240" height="160" | 284×24 | 指定の大きさを使わず、文字の幅になった |
| alt なし+width="240" height="160" | 240×160 | 枠とアイコン |
| 長い alt(50字)+width="120" height="40" | 715×24 | 文字が1行で横に長く出た |
MDN は、画像を表示しない設定や、未対応の形式、リンク切れのときに、ブラウザーが画像を alt の文字列に置き換える、と説明しています。手元の Chromium では、alt があると width・height の指定より alt の文字の幅が優先され、レイアウトが崩れることもありました。画像が表示されないときに読める文になっているかは、DevTools のネットワークのタブで画像の読み込みを止めて確かめられます。
alt属性とtitle属性・aria-label の違い
この節では、alt・title・aria-label・figcaption のどれが画像の名前として使われるのかが分かります。
画像の代替テキストは alt に書きます。title は「マウスを乗せると出る補足」で、alt の代わりにはなりません。 MDN は、title を alt の代わりに使えないこと、同じ文を alt と title の両方に書くとスクリーンリーダーが2回読むおそれがあることを書いています。
| 書き方 | 役目 | 手元の Chromium での名前 |
|---|---|---|
| alt | 画像の代替テキスト | alt の文が名前になった |
| title | 補足のツールチップ | alt が無いときだけ名前になった。マウスを使わない人やスマホでは見えない |
| aria-label | 支援技術向けの名前 | alt="猫" と両方あると aria-label が勝ち、alt は使われなかった |
| figcaption | 画像の見出し・説明(画面に出る) | figure の名前になり、img の名前は alt のまま |
| svg の title | svg の名前 | role="img" の svg は title の文が名前になった |
| input type="image" の alt | 画像ボタンの名前 | role は button、名前は alt(「検索する」) |
| area の alt | イメージマップの領域の名前 | role は link、名前は alt(「東京エリア」) |
aria-label は alt より優先されるため、両方を書くと alt を直しても読み上げが変わらない、という取り違えが起きます。img には alt を書き、aria-label は alt を書けない要素(アイコンだけのボタンを CSS で描いたときなど)に使うのが分かりやすい分け方です。
alt属性とSEO(Google画像検索での扱い)
この節では、alt属性が検索にどう関わるのかが、Google の公式の説明で分かります。
Google は、代替テキストを画像のメタデータとして最も重要な属性と説明しています。 Google 検索セントラルの「Google 画像検索 SEO ベスト プラクティス」には、次の記述があります。
画像に関してより多くのメタデータを提供するうえで最も重要な属性は、代替テキスト(画像について説明するテキスト)です。
同じページは、キーワードの羅列(キーワードの乱用)を避けるよう書き、悪い例・良い例を4段階で示しています。
<img src="puppy.jpg"/> ← 悪い例(代替テキストがない)
<img src="puppy.jpg" alt="子犬 犬 赤ちゃん犬 小犬 仔犬 …"/> ← 悪い例(羅列)
<img src="puppy.jpg" alt="子犬"/> ← 良い例
<img src="puppy.jpg" alt="「取ってこい」遊びをするダルメシアンの子犬"/> ← 最も良い例
alt を書けば順位が上がる、というものではありません。画像の内容がページの文脈と合っていて、読み上げて意味が通る文になっていることが、利用者にも検索エンジンにも伝わる書き方です。画像のファイル名を内容に合った名前にする、画像の近くに説明の文を置く、といった点も同じページで勧められています。ページ全体の title や description の書き方は、関連記事「HTML metaタグ一覧|SEO・OGP・viewportのコピペ用テンプレート」で扱っています。
WordPress で alt を入れる場所
WordPress のブロックエディターでは、画像ブロックを選んだときの右側の「ブロック設定」の「代替テキスト(Alternative text)」欄に入れます。WordPress.org の公式ドキュメントによると、ブロック設定で入れた alt はその投稿の画像だけに使われ、メディアライブラリで入れた alt は、その画像をほかの場所に挿入したときの既定値になります。意味を持たない画像には「Mark as decorative」(装飾として扱う)のチェックがあり、支援技術がその画像を無視できるようになります。
alt属性の確認方法(DevTools・axe-core・html-validate・自作スクリプト)
この節では、ページの画像に alt が正しく入っているかを確かめる方法と、ツールごとに見つけられるものの違いが分かります。
1枚ずつなら Chrome の DevTools、ページ全体なら axe-core や html-validate のような検査ツールで確かめます。 同じテストページを3つの方法で調べると、見つかるものに差がありました。
DevTools で1枚を確かめる
画像を右クリックして「検証」を開き、Elements で img の alt を見る。右側の「Accessibility」の欄では、計算された名前(Name)と、その名前が alt・title・aria-label のどこから来たかが分かる。
ソースで alt の無い img を探す
ページのソースを開き、「<img」で検索して alt の有無を見る。画像が多いページでは、次の自作スクリプトのように機械で数える。
検査ツールでページ全体を調べる
axe-core(ブラウザー上で動く)や html-validate(HTML ファイルを調べる)で、alt の無い画像・名前の無いリンクをまとめて出す。
最後は人が文を読む
ツールは「alt があるか」は分かっても、「alt が画像の役割を伝えているか」は分からない。読み上げて意味が通るかを人が確かめる。
axe-core 4.14.0 をテストページに読み込んで、画像まわりの規則だけを実行した結果です(抜粋)。
{
"id": "image-alt",
"impact": "critical",
"help": "Images must have alternative text",
"nodes": ["#c3", "#c6 > img[src$=\"logo.png\"]", "#c8", "#c10"]
},
{
"id": "link-name",
"impact": "serious",
"help": "Links must have discernible text",
"nodes": ["#c6"]
}
html-validate 11.17.0 で同じ HTML ファイルを調べた結果です(alt に関係する行の抜粋)。
5:2 error <img> is missing required "alt" attribute wcag/h37
8:2 error Anchor link must have a text describing its purpose wcag/h30
10:2 error <img> is missing required "alt" attribute wcag/h37
17:36 error <img> with empty alt text cannot have title attribute wcag/h67
画像の一覧を出して、alt の状態を分類する自作の Python スクリプトです。標準ライブラリだけで動きます。
import sys, re
from html.parser import HTMLParser
class AltCheck(HTMLParser):
def __init__(self):
super().__init__()
self.rows = []
def handle_starttag(self, tag, attrs):
if tag != "img":
return
a = dict(attrs)
src = a.get("src", "")
if "alt" not in a:
kind = "alt なし"
elif a["alt"] == "":
kind = "空(装飾)" + ("・title あり" if "title" in a else "")
elif a["alt"].strip() == "":
kind = "空白だけ"
elif re.fullmatch(r"(画像|写真|image|photo|img)", a["alt"], re.I):
kind = "意味のない語"
elif a["alt"] in src or re.search(r"\.(png|jpe?g|gif|webp)$", a["alt"], re.I):
kind = "ファイル名"
else:
kind = "OK" if len(a["alt"]) <= 100 else "長い(%d字)" % len(a["alt"])
self.rows.append((self.getpos()[0], src, kind))
for path in sys.argv[1:]:
p = AltCheck()
p.feed(open(path, encoding="utf-8").read())
for line, src, kind in p.rows:
print(f"{path}:{line}\t{src}\t{kind}")
$ python3 altcheck.py alt.html
alt.html:3 cat.png OK
alt.html:4 deco.png 空(装飾)
alt.html:5 IMG_0123.png alt なし
alt.html:8 logo.png alt なし
alt.html:12 cat.png 空白だけ
alt.html:13 cat.png 意味のない語
alt.html:17 cat.png 空(装飾)・title あり
| テストページの画像 | axe-core | html-validate | 自作スクリプト |
|---|---|---|---|
| alt なし | 違反 | 誤り | alt なし |
| alt なしのリンク画像 | 違反(画像とリンクの2件) | 誤り(2件) | alt なし |
| alt=" "(空白) | 違反 | 見つけない | 空白だけ |
| alt="画像" | 合格 | 見つけない | 意味のない語 |
| alt="" と title | 合格 | 誤り | 空・title あり |
| alt なし・title だけ | 合格(title を名前と認める) | 誤り | alt なし |
ツールによって判定が分かれる書き方がありました。特に alt="画像" はどちらのツールも見逃したため、文の中身は人の目で確かめます。
X(旧Twitter)のALT(画像の説明)の付け方
この節では、X で画像に説明(ALT)を付ける手順と、文字数の上限、表示のされ方が分かります。
X の「ALT」は、投稿する画像に付ける説明文で、HTML の alt属性と同じ役目です。 X ヘルプセンターの「画像の説明を追加する方法」「画像のアクセシビリティを向上させる方法」によると、説明は iOS・Android・Web のどれでも1,000文字まで入れられます。手元で X のアプリは動かしていないため、以下はヘルプセンターの記載の範囲です。
画像を付けて投稿画面を開く
ポストの作成画面で画像を追加する。Web 版(x.com)では N キーでも作成画面が開く。
「+ALT」か「説明を追加」を選ぶ
スマホのアプリでは画像の上の「+ALT」、Web 版では画像の下の「説明を追加」を選ぶ。
説明を入れて「完了」
入力欄の隅に文字数が出る。上限は1,000文字。「完了」(または「保存」)を選ぶと、画像の隅に ALT バッジが付く。
投稿する
投稿後は画像の ALT バッジを選ぶと説明が表示される。複数の画像は、画像ごとに ALT を付け、ダイアログ上部の矢印で画像を移る。
ヘルプセンターによると、ALT バッジが付いた画像は、Android・iOS・Web のどれでもバッジをタップ(クリック)すると説明が表示され、「非表示にする」ボタン・esc キー・説明の外側のタップで閉じます。GIF には「GIF」のラベルが付き、説明があれば ALT バッジがその横に並びます。
ALT の使い方
X ヘルプは「画像に何が写っているかを具体的に」と書いている
スクリーンショットを載せるときは、画像の中の文字を ALT に書き起こすと、画像を見られない人にも内容が届きます。企業アカウントでは、社内で ALT の書き方を決めておくと、担当者が替わっても書き方がそろいます。
よくあるエラー・つまずき(症状→原因→直し方)
この節では、alt と Altキーでよくつまずく症状と、その原因・直し方が表で分かります。
| 症状・原文 | 原因 | 直し方 |
|---|---|---|
| Images must have alternative text(axe-core) | alt が無い、または空白だけ | 役割を書く。装飾なら alt="" |
| <img> is missing required "alt" attribute(html-validate) | alt属性そのものが無い | alt を足す。CMS の画像なら代替テキスト欄に入れる |
| Links must have discernible text | 画像だけのリンクに alt が無い | alt にリンク先を書く |
| <img> with empty alt text cannot have title attribute | alt="" と title を同時に書いた | 装飾なら title を消す。説明が要るなら alt に書く |
| リンクが「お問い合わせお問い合わせ」と読まれる | 隣の文字と同じ alt を画像にも書いた | 画像を alt="" にする |
| alt を直しても読み上げが変わらない | aria-label が alt より優先されている | aria-label を消すか、同じ内容にそろえる |
| 画像が壊れたら文字が出てレイアウトが崩れた | alt の文字の幅が width・height より優先された | 画像のパスを直す。alt は短い文に |
| Mac で Altキーが見つからない | Mac では option(⌥)キーが Alt の役目 | option を使う。Windows 用キーボードでは Alt が option になる |
| Alt+Tab で切り替わらない | Alt を先に離している | Alt を押したまま Tab を押し、選んでから Alt を離す |
| 自作のショートカットが動かない | OS・ブラウザーが同じ組み合わせを先に使う | Alt+F4・Alt+←・Alt+D などと重ならない組み合わせにする |
よくある質問
この節では、alt についてよく聞かれる質問と答えが分かります。
Q. altとは何の略ですか? A. alternative(代わりの)、または alternate(切り替える)の略です。Altキーは他のキーの働きを切り替えるキー、alt属性は画像の代わりになる文章という意味で、どちらも同じ語源です。
Q. Altキーは何と読みますか? A. 「オルト」と読むのが一般的です。「アルト」と読む人もいて、どちらでも通じます。
Q. Mac に Altキーはありますか? A. option(⌥)キーが Altキーにあたります。Apple は記号の説明で「option(または alt)」と書いており、Windows 用キーボードでは Alt キーを option の代わりに使うよう案内しています。
Q. alt属性は必ず書かないといけませんか? A. HTML の規格は、特別な場合を除いて img に alt を書くことを求めています。装飾の画像でも alt を省くのではなく、alt="" と書きます。alt を書かない画像は「名前の無い画像」として支援技術に渡りました。
Q. alt に何文字まで書けますか? A. HTML には文字数の上限はありません。読み上げを聞く人のために1〜2文に収め、長い説明は本文や表に書きます。X の画像の説明は1,000文字までです。
Q. alt と title の違いは何ですか? A. alt は画像の代わりになる文章、title はマウスを乗せると出る補足です。title は alt の代わりにならず、スマホやキーボードだけで操作する人には見えません。同じ文を両方に書くと2回読まれるおそれがあります。
Q. alt属性は SEO に効果がありますか? A. Google は代替テキストを、画像について説明する最も重要な属性としています。ただし alt だけで順位が上がるものではなく、キーワードを並べるとスパムとみなされる要因になる場合があります。
Q. twitter alt(X の ALT)とは何ですか? A. X に投稿する画像に付ける説明文です。投稿前に画像の「+ALT」(Web は「説明を追加」)から入れ、投稿後は画像の ALT バッジを選ぶと表示されます。
Q. 一度投稿したポストに、あとから ALT を付けられますか? A. X ヘルプセンターに載っている手順は、投稿する前に画像に説明を付ける方法です。投稿後の付け方は記載が見当たらなかったため、付け忘れたときは、ヘルプセンターの最新の案内を確かめてから操作します。
Q. 背景画像(CSS)にも alt は要りますか? A. CSS の background-image には alt を書けず、アクセシビリティツリーにも出てきません。意味のある画像は img で置いて alt を書き、飾りだけの画像を CSS で表示します。
Q. alt に「画像」「写真」と書くのはなぜ避けるのですか? A. スクリーンリーダーは画像であることを先に伝えるため、「画像、画像」のように重なり、何の画像かは伝わりません。写っているものと、載せた理由を書きます。
まとめ
- alt は alternative の略。IT では、修飾キーの「Altキー」と、HTML の「alt属性(画像の代替テキスト)」の2つを指す。
- Altキーは Alt+Tab・Alt+F4・Alt+← から覚える。Mac では option(⌥)キーが Alt の役目で、Web ページからはどちらも key="Alt" として見えた。
- alt には画像の役割を短い文で書く。リンク・ボタンの画像は行き先・動作を、文字入りの画像はその文字を、飾りは alt="" にする。
- 手元の Chromium では、alt="" は無視、alt なしは名前の無い画像、alt="" に title を足すと無視されなくなり、aria-label は alt より優先された。
- 検査ツールは alt の有無は見つけても中身は判定できない。X の ALT(1,000文字まで)も含め、最後は人が読んで意味が通るかを確かめる。
参考・出典
確認日はいずれも 2026年10月29日です。
- Microsoft サポート「Windows のキーボード ショートカット」:https://support.microsoft.com/ja-jp/windows/windows-のキーボード-ショートカット-dcc61a57-8ff0-cffe-9796-cb9706c75eec
- Apple サポート「Mac のキーボードショートカット」:https://support.apple.com/ja-jp/102650
- Google Chrome ヘルプ「Chrome のキーボード ショートカット」:https://support.google.com/chrome/answer/157179?hl=ja
- MDN「キーボードイベントの key の値(Keyboard event key values)」:https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values
- MDN「accesskey」:https://developer.mozilla.org/ja/docs/Web/HTML/Reference/Global_attributes/accesskey
- MDN「<img>: 画像埋め込み要素」:https://developer.mozilla.org/ja/docs/Web/HTML/Reference/Elements/img
- WHATWG「HTML Living Standard」4.8.4.4 Requirements for providing text to act as an alternative for images:https://html.spec.whatwg.org/multipage/images.html
- W3C WAI「An alt Decision Tree」:https://www.w3.org/WAI/tutorials/images/decision-tree/
- W3C WAI「Understanding Success Criterion 1.1.1: Non-text Content」(WCAG 2.2):https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html
- Google 検索セントラル「Google 画像検索 SEO ベスト プラクティス」:https://developers.google.com/search/docs/appearance/google-images?hl=ja
- WordPress.org Documentation「Image block」:https://wordpress.org/documentation/article/image-block/
- X ヘルプセンター「画像の説明を追加する方法」:https://help.x.com/ja/using-x/add-image-descriptions
- X ヘルプセンター「画像のアクセシビリティを向上させる方法」:https://help.x.com/ja/using-x/picture-descriptions
- X ヘルプセンター「ALTバッジとGIF画像ラベルの使い方」:https://help.x.com/ja/using-x/how-to-use-alt-gif
- axe-core「Rule Descriptions」:https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md
- html-validate「Rules」:https://html-validate.org/rules/
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「altとは|Altキーとalt属性・代替テキストの書き方を実測で解説」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。