[웹접근성] 적절한 대체 텍스트 제공
2023. 11. 28.ㆍ공부/HTML,CSS
728x90
오류사례 1. 텍스트 이미지에 대체 텍스트가 제공되지 않은 경우
<tr>
<td>
<a href="">
<img src="btn_confirm.gif" alt="">
</a>
<a href="">
<img src="btn_cancel.gif" alt="">
</a>
</td>
</tr>
<!-- img 태그에 적절한 alt 속성을 기재하여 접근성을 준수 -->
<tr>
<td>
<a href="">
<img src="btn_confirm.gif" alt="확인">
</a>
<a href="">
<img src="btn_cancel.gif" alt="취소">
</a>
</td>
</tr>
오류사례2. 불충분한 대체 텍스트를 제공한 경우
<a title="새 창에서 링크 열림" target="_blank" href="링크주소">
<img src="08236_recruit.jpg" alt="2012 대한민국취업박람회">
</a>
<!-- alt 속성으로 이미지에 대한 충분한 부연 설명을 제공하여 접근성을 준수 -->
<a title="새 창에서 링크 열림" target="_blank" href="링크주소">
<img src="08236_recruit.jpg" alt="2012 대한민국취업박람회,고용노동부주최일시:2012년10월30일(화)~31일(수)10시~17시,장소:aT센터(서초구양재동)제1전시장사이트방문바로가기">
</a>
오류사례3. 대체텍스트가 오타로 표기된 경우
<div id="con_title">
<h2>
<img src="/images/sitemap.gif" alt="인사말씀">
</h2>
<p>Home > 사이트맵</p>
</div>
<!-- 오타로 표기된 대체텍스트를 수정하여 접근성을 준수 -->
<div id="con_title">
<h2>
<img src="/images/sitemap.gif" alt="사이트맵">
</h2>
<p>Home > 사이트맵</p>
</div>
오류사례4. 이미지 버튼에 대체 텍스트를 제공하지 않은 경우
<div class="search">
<input type="image" src="/images/submit.gif">
</div>
<!-- 이미지 버튼에 alt 속성을 표기하여 접근성을 준수 -->
<div class="search">
<input type="image" src="/images/submit.gif" alt="검색">
</div>
오류사례5. 불릿 이미지에 대한 대체 텍스트를 제공하지 않은 경우
<ul>
<li>
<a href="">
<img src="/images/dot.gif">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif">
2012년 함께 누리는 일자리 한마당
</a>
</li>
</ul>
<!-- 불릿 이미지에 대한 alt를 기재하여 접근성을 준수 -->
<ul>
<li>
<a href="">
<img src="/images/dot.gif" alt="">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif" alt="">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif" alt="">
2012년 함께 누리는 일자리 한마당
</a>
</li>
<li>
<a href="">
<img src="/images/dot.gif" alt="">
2012년 함께 누리는 일자리 한마당
</a>
</li>
</ul>
오류사례6. 의미 없는 이미지에 대체텍스트를 제공한 경우
<dl>
<dt>
<img src="/images/txt01.gif" alt="종합민원안내">
</dt>
<dd>
<p>
<img src="/images/img02.gif" alt="민원사람이미지">
<img src="/images/txt02.gif" alt="민원안내">
</p>
<p>
<img src="/images/img03.gif" alt="여권마크이미지">
<img src="/images/txt03.gif" alt="여권민원">
</p>
</dd>
</dl>
<!-- 의미 없는 이미지의 대체 텍스트를 삭제하여 접근성을 준수 -->
<dl>
<dt>
<img src="/images/txt01.gif" alt="종합민원안내">
</dt>
<dd>
<p>
<img src="/images/img02.gif" alt="">
<img src="/images/txt02.gif" alt="민원안내">
</p>
<p>
<img src="/images/img03.gif" alt="">
<img src="/images/txt03.gif" alt="여권민원">
</p>
</dd>
</dl>
오류사례7. longdesc의 파일이 없거나 연결되지 않은 경우
<p>
<img src="img1.gif" alt="조직도" longdesc="">
</p>
<!-- longdesc의 파일을 연결하여 접근성을 준수 -->
<p>
<img src="img1.gif" alt="조직도" longdesc="html/long1.html">
</p>
오류사례8. 이미지맵을 사용한 img 요소에 alt 속성으로 제공하지 않은 경우
<div>
<img src="/images/jeosu_map.gif" alt="" border="0" usemap="#Map">
<map name="Map" id="Map">
<area shape="rect" coords="169,610,247,634" href="#" alt="경기도">
<area shape="rect" coords="169,610,247,634" href="#" alt="강원도">
</map>
</div>
<!-- 이미지맵을 사용한 img 요소에 alt 속성을 기재하여 접근성을 준수 -->
<div>
<img src="/images/jeosu_map.gif" alt="전국지도" border="0" usemap="#Map">
<map name="Map" id="Map">
<area shape="rect" coords="169,610,247,634" href="#" alt="경기도">
<area shape="rect" coords="169,610,247,634" href="#" alt="강원도">
</map>
</div>
오류사례9. 대체 텍스트를 title만으로 제공하는 경우
<input type="image" id="uploadButton" src="/images/btn_upload.gif" title="파일 업로드">
title이 아닌 alt로 기재하여 접근성을 준수
<input type="image" id="uploadButton" src="/images/btn_upload.gif" alt="파일 업로드">
오류사례10. QR코드의 이동 주소 경로를 대체 텍스트나 설명, 링크 등으로 제공하지 않은 경우
<p class="qrcode">
<img src="images/qrcode.gif" alt="QR코드">
</p>
<!-- QR코드의 이동 주소 경로를 img 태그의 alt로 기재하여 접근성 준수 -->
<p class="qrcode">
<a href="http://m.ryu01258.com">
<img src="images/qrcode.gif" alt="리베하얀닷컴 모바일 서비스 바로가기 QR코드">
</a>
</p>
오류사례11. 의미있는 배경 이미지의 대체 컨텐츠를 제공하지 않은 경우
.memberLoginBox {
background:url(/images/bg_memberlogin.gif) no-repeat;
}
<div>
<div class="memberLoginBox">
<fieldset>
<legend>회원 로그인</legend>
<label for="id">아이디</label>
<input type="text" id="id">
<label for="pwd">비밀번호</label>
<input type="password" id="pwd">
<input type="image" src="images/btn_login.gif" alt="로그인">
</fieldset>
</div>
</div>
<!-- 의미있는 배경 이미지의 대체 컨텐츠를 제공하여 접근성을 준수 -->
.memberLoginBox {
background:url(/images/bg_memberlogin.gif) no-repeat;
}
.memberLoginBox span {
position:absolute; left:-3000%;
}
<div>
<div class="memberLoginBox">
<fieldset>
<legend>회원 로그인</legend>
<span>웹 로그인</span>
<label for="id">아이디</label>
<input type="text" id="id">
<label for="pwd">비밀번호</label>
<input type="password" id="pwd">
<input type="image" src="images/btn_login.gif" alt="로그인">
</fieldset>
</div>
</div>
오류사례12. 의미있는 색상 배경 이미지에 대체 콘텐츠를 제공하지 않은 경우
.holiday {
background:url(/images/bg_holiday.gif) no-repeat;
}
<tr>
<td class="sun">
6
</td>
<td class="holiday">
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
</tr>
<!-- 의미있는 색상 배경 이미지에 대체 콘텐츠를 제공하여 접근성을 준수 -->
.holiday {
background:url(/images/bg_holiday.gif) no-repeat;
}
.holiday span {
position:absolute; left:-3000%;
}
<tr>
<td class="sun">
6
</td>
<td class="holiday">
7
<span>휴관일</span>
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
</tr>
+ 실시간 영상이나 CAPCHA의 대체 텍스트는 용도만 제공해도 준수
// Let 'sampleMoviClip' is a MovieClip instance placed on the movie's main timeline
sampleMoviClip.accessibilityProperties = new AccessibilityProperties();
sampleMoviClip.accessiblitiyProperties.name = "올림픽대로 행주대교 방향 CCTV";
+ 이미지의 텍스트 정보와 대체 텍스트가 달라도 인식 가능하면 인정
<img src="url" alt="고용노동부">
+ 이미지의 설명이 본문에 있으면 대체 콘텐츠로 인정
<img src="url" alt="OO보건소 찾아오시는 길입니다. 이미지 하단에 자세한 내용이 있다.">
'공부 > HTML,CSS' 카테고리의 다른 글
[HTML/CSS] em과 rem (0) | 2023.12.02 |
---|---|
[HTML/CSS] 체크박스 커스텀 (0) | 2023.11.29 |
[HTML/CSS] Flex (2) | 2023.11.22 |
[HTML/CSS] 반응형 테이블 만들기 (0) | 2023.09.29 |
[HTML/CSS] 툴팁 만들기 (0) | 2023.06.25 |