`img alt` isn't a fallback for when the image fails to load — it's the text a screen reader speaks **instead of** the image. A good alt describes what the image communicates in context. Reusing the filename (`IMG_2043.jpg`) or writing just "image" carries no information, which is functionally the same as having none.
Purely decorative images (background patterns, icons duplicating adjacent text) should get `alt=""` (empty string) so a screen reader skips them entirely. Omitting the alt attribute altogether is worse — some screen readers fall back to reading the file path.
The demo shows the same photo handled three ways, and what a screen reader actually says for each: a real description, meaningless text, and silence (skipped).
When to use
Every time you add an image, ask 'what would a user miss if this weren't here?' No answer means an empty alt; an answer is your alt text.