この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:guest
更新日時:2026-06-11 13:11:56

タイトル: img要素
SEOタイトル: HTML img 要素完全ガイド(src / alt / width / height / loading / srcset / sizes 属性の使い方とアクセシビリティ)

この記事の要点
  • <img> は HTML に画像を埋め込むための空要素(終了タグなし)
  • src(画像 URL)と alt(代替テキスト)が必須属性
  • width / height を指定するとレイアウトシフト(CLS)を防げる
  • loading="lazy"遅延読み込みdecoding="async" で描画ブロックを回避
  • srcset / sizesレスポンシブ画像を提供し、デバイスに応じた最適サイズを配信できる

img 要素とは

<img> は HTML 文書に画像を埋め込むためのインライン要素です。空要素(void element)のため終了タグはなく、<img src="..." alt="..."> のように 1 タグで完結します。

基本構文

<img src="画像URL" alt="代替テキスト" width="幅" height="高さ">

主な属性

属性役割必須
src画像ファイルの URL必須
alt代替テキスト(画像が表示できない/読み上げ用)実質必須
width / height表示サイズ(ピクセル)推奨
loadinglazy / eager。遅延読み込みの制御任意
decodingasync / sync / auto。デコード方式任意
srcset解像度別の画像候補任意
sizes各候補に対応する表示サイズsrcset 併用時
referrerpolicyリクエスト時の Referer 制御任意
crossoriginCORS 設定任意

alt 属性の書き方

代替テキストは画像が読み込めない場合や、スクリーンリーダーで読み上げられる場合に使われる極めて重要な属性です。書き方を間違えるとアクセシビリティが大きく損なわれます。

画像の種類alt の書き方
情報を持つ画像その情報を簡潔に文章化(例: alt="月別売上の棒グラフ。1月100万、2月150万、3月200万"
装飾画像空文字 alt=""(無視させる)
リンクに含む画像リンク先の内容を書く(例: 会社ロゴ → alt="会社名 トップページへ"
テキストを含む画像そのテキストをそのまま書く

レイアウトシフトを防ぐ width / height

width / height を指定すると、ブラウザは画像読み込み前にも領域を確保できるためCLS(Cumulative Layout Shift)が改善します。CSS で別サイズを指定したい場合でも、HTML には元画像の比率と一致する値を必ず書いておきます。

<!-- 800x600 の画像なら、CSS で width:100% にする場合でも -->
<img src="/hero.jpg" alt="" width="800" height="600" style="width:100%;height:auto">

遅延読み込みと非同期デコード

ファーストビュー外の画像は loading="lazy" を付けて遅延読み込みにすると、初期表示が速くなります。さらに decoding="async" でデコード中の描画ブロックも避けられます。

<img src="/photo.webp"
     alt="桜の写真"
     width="1200" height="800"
     loading="lazy"
     decoding="async">

ファーストビューに表示するメイン画像(LCP 対象)は loading="eager" または属性なしで即時読み込みさせます。

レスポンシブ画像(srcset / sizes)

デバイスの画面幅やピクセル比に応じて、最適な解像度の画像を配信できます。

<img src="/hero-800.jpg"
     srcset="/hero-400.jpg 400w,
             /hero-800.jpg 800w,
             /hero-1600.jpg 1600w"
     sizes="(max-width: 600px) 100vw, 800px"
     alt="メインビジュアル">

srcset は候補一覧、sizes は表示サイズの宣言です。これによりスマホには軽い画像、PC には高解像度を自動で選ばせられます。

picture 要素との組み合わせ

アートディレクション(端末ごとに別画像を出したい)や WebP / AVIF など新フォーマットへのフォールバックには <picture> を使います。

<picture>
  <source srcset="/hero.avif" type="image/avif">
  <source srcset="/hero.webp" type="image/webp">
  <img    src="/hero.jpg" alt="" width="1200" height="800">
</picture>

FAQ

Q: alt を空にしていい場合は?
A: 装飾画像(横線・飾り背景)の時だけ。alt 属性自体を省略するとファイル名が読み上げられるので、装飾でも alt="" は書きます。

Q: 表示サイズに合わせて自動で縮小される?
A: CSS の width / max-width を指定すれば見た目は縮みますが、転送量は元のままです。データ量を削るには srcset や CDN リサイズが必要。

Q: SVG はどうやって埋め込む?
A: <img src="icon.svg"> でも可。CSS で色を変えたい場合は <svg> 要素をインラインで書く方法が柔軟です。

関連

  • 画像 — 親カテゴリ
  • HTML — HTML トップ
  • a要素 — リンクの中に画像を入れる場合
  • picture 要素 — アートディレクション
  • srcset / sizes 属性 — レスポンシブ画像