`<img alt="...">`는 이미지가 로드되지 않을 때의 대체 문구가 아니라, 스크린 리더가 그 이미지 **대신** 읽는 텍스트입니다. 좋은 alt는 이미지가 전달하는 정보나 기능을 문맥에 맞게 설명합니다. 파일명을 그대로 쓰거나(`IMG_2043.jpg`) "이미지"라고만 쓰는 것은 정보가 전혀 없어서 없는 것과 다를 바 없습니다.
순수하게 장식용인 이미지(배경 패턴, 아이콘 옆의 중복 그림)는 `alt=""`(빈 문자열)를 줘서 스크린 리더가 아예 건너뛰게 만듭니다. `alt` 속성 자체를 생략하면 오히려 일부 스크린 리더가 파일 경로를 읽어버리는 더 나쁜 결과가 나올 수 있습니다.
데모는 같은 사진을 세 가지로 처리했을 때 스크린 리더가 실제로 뭐라고 읽는지 보여줍니다 — 좋은 설명, 의미 없는 텍스트, 그리고 건너뛰기(침묵)입니다.
언제 쓰나
이미지를 넣을 때마다 "이 이미지가 없으면 사용자가 뭘 놓치는가"를 자문하세요. 답이 없다면 빈 alt, 답이 있다면 그 답을 그대로 alt에 쓰면 됩니다.