img태그 alt 속성 써야할까?

eunsoo kim·2023년 6월 15일
1

궁금한 웹 개발

목록 보기
4/6
post-thumbnail

특별한 경우를 제외하고 필수.

  • 내용을 알 수 없는 이미지
  • 이미지를 볼 수 있는 특정인과의 사적인 문서(사이트, 이메일)에 사용된 이미지
  • 장식 이미지에 alt="" 대신 role="presentation" 사용

위 경우를 제외하고 거의 모든 경우에 alt속성을 사용합니다.

1. WHATWG alt속성

WHATWG에서 img태그 대체 텍스트 제공의 가이드라인으로 아래와 같은 문구가 있습니다.
"Except where otherwise specified, the alt attribute must be specified and its value must not be empty"
달리 지정된 경우를 제외하고 alt 특성을 지정해야만 하며 해당 값은 비워 둘 수 없습니다

2. alt속성을 적지 않는 특별한 경우

WHATWG의 '이미지 대신 텍스트를 제공하기 위한 요구 사항', W3CWAI의 '장식 이미지'에서 확인할 수 있습니다.

- 내용을 알 수 없는 이미지(WHATWG)

: 자동화된 방식으로 이미지를 얻었을 경우(웹캠), 작성자가 대체 텍스트를 제공하지 않은 경우(사진 공유 사이트), 작성자 자신이 이미지가 무엇을 나타내는지 모르는 경우( 이미지를 공유하는 맹인 사진작가 )

alt속성에 넣을 내용을 모르기 때문에 figure태그, figcaption태그를 사용하라고 나와있습니다.

<!-- 맹인 사용자의 블로그. 처음에 사용자는 자신이 찍은 사진이 무엇인지 모를 수 있습니다. -->
<article>
 <h1>I took a photo</h1>
 <p>I went out today and took a photo!</p>
 <figure>
  <img src="photo2.jpeg">
  <figcaption>A photograph taken blindly from my front porch.</figcaption>
 </figure>
</article>

<!-- 자동화된 방식으로 이미지를 얻었을 경우 -->
<figure>
<img src="clara.jpg">
<figcaption>clara.jpg, taken on 12/11/2010.</figcaption>
</figure>

- 이미지를 볼 수 있는 특정인과의 사적인 문서(사이트, 이메일)에 사용된 이미지(WHATWG)

이미지를 볼 수 있는 특정인을 대상으로 하는 사적인 커뮤니케이션(예: HTML 이메일)에 이미지가 포함된 경우 속성이 alt 생략될 수 있습니다. 그러나 이러한 경우에도 대체 텍스트를 포함하도록 강력히 권장하고 있습니다.

- 장식 이미지에 alt="" 대신 role="presentation" 사용(W3CWAI)

장식으로 사용되는 이미지에는 보통 alt속성에 빈 값을 넣습니다.(alt="")
스크린리더기는 빈 alt속성을 가진 이미지를 무시하고 읽지 않습니다.
스크린리더기에서 요소를 무시하는 WAI-ARIA의 role="presentation" 속성을 사용하면 alt=""를 생략할 수 있습니다.
하지만 alt=""보다 지원범위가 적어 사용을 권장하진 않습니다.

3. alt 속성에 빈값은 왜 넣는걸까?

alt속성에 빈값은 글에서 삭제되어도 영향을 주지 않는 장식 이미지에 사용합니다.
자세한 사용 기준은 W3CWAI의 alt 결정 트리에서 확인 할 수 있습니다.

alt 속성이 없다면 스크린 리더기에서는 이미지가 있음을 알리고 이미지명을 알려줍니다.
하지만 alt속성이 있고 읽지 않고 무시합니다.

W3C웹접근성 장식 이미지 섹션에서 예시 코드를 확인할 수 있습니다.

4. 참고 사이트

WHATWG : https://html.spec.whatwg.org/multipage/
MDN img element : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
accessibleweb.com : https://accessibleweb.com/question-answer/when-should-i-use-a-null-or-empty-alt-tag/
stackoverflow : https://stackoverflow.com/questions/22640095/an-img-element-must-have-an-alt-attribute-except-under-certain-conditions-wh

profile
순간을 소중히

5개의 댓글

comment-user-thumbnail
2023년 6월 16일

alt가 이런 의미였군여! 고생하셨습니다!

답글 달기
comment-user-thumbnail
2023년 6월 17일

항상 써야지 써야지 하고 잘 안쓰게 되는 alt인 것 같아요 ㅎㅎ 고생하셨습니당

답글 달기
comment-user-thumbnail
2023년 6월 18일

무조건 적는 줄 알았는데 아닌 경우도 있군요 !! 잘 보고 갑니다 ~~!

답글 달기
comment-user-thumbnail
2023년 6월 18일

특별한 경우를 빼고는 모든 img에 필수적으로 alt 속성을 넣어야하는군요!! 습관 들여야겠어요..

답글 달기
comment-user-thumbnail
2023년 6월 18일

role 이란 것도 있군요!! 잘 보고 갑니다 ㅎㅎ

답글 달기