스크린리더에서만 caption 읽힐라고하면

display:none 인가요?

visibility:hidden 인가요?

다읽히나요?

자게leader~
|

댓글 12개

스크린리더 : 캡션 디스플레이 콜론 논 입니다.
ㅋ.
display:none, visibility:hidden 은 스크린리더에서 읽히지 않습니다.
두 속성이 visual 속성이므로, aural 속성에서는 읽어주는게 맞다는 주장도 있습니다만, aural 용 속성이 따로 있지 않는한 visual 속성 자체에 집중하여, 컨텐츠 저작자가 의도한 데로 보여주지 않는게 더 정확한 처리 방법이라고 생각합니다.

따라서 다음과 같은 방법을 제안해드립니다.

<style>
caption span {display:inline-block;width:1px;height:1px;overflow:hidden}
</style>

<table>
<caption><span>테스트용 테이블</span></caption>
<thead>
<tr>
<th>1st header</th>
<th>2nd header</th>
<th>3rd header</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>

caption 자체에 스타일을 적용하면 ie 하위 브라우저나 FF 등에서 원하는 결과와 다른 결과를 마주하게 되실 겁니다.
IE 구버전에서는 display:inline-block;이 의도한대로 안되는 경우가 있던데
그냥 position:absolute를 먹여서 저 구석에 숨겨버리는 게 좋지 않을까요?
ie6 에서 테스트한 방법입니다. ^^
SMaker 님이 말씀하신 것도 좋아보이네요. text-indent 를 쓰는 방법도 있구요.
캡션자체에 position:absolute을 먹이는 경우, 경우에 따라 크롬과 사파리에서 테이블 width 값이 제대로 먹히지 않는 경우가 있습니다.

캡션 날리는 방법이야 여러가지 있겠지만 저는
클래스를 따로 지정 후 {width:0;height:0;font-size:0;line-height:0;overflow:hidden;}

이런식으로 처리 하고 있습니다.
외산 스크린리더는 width:0;height:0 을 읽어주지 않고 있단 얘기가 있더라구요.

그리고 caption 자체에 스타일을 주면 위에도 언급했지만, ie 하위 브라우저나 FF 등에서는 원하는 데로 숨겨지지가 않습니다. 그래서 span 으로 한번 감싸준 다음 스타일을 적용하는 거에요. ^^;;
외산 스크린리더 정보 감사드립니다.

그런데 제가 테스트하면서 보고 있는데 캡션 자체에 스타일을 주어서 6,7,8,9 부터 파폭 오페라 크롬 사파리 모두 잘 숨겨지고 있습니다.

제가 궁금한건 스크린리더에서 어떻게 읽히느냐였는데 첫번째 정보가 맞다면

다른 방법 또는 지운아빠님께서 공유해주신 정보로 갈아타봐야겠네요.

감사드립니다.
아 font-size 랑 line-height 빵도 들어있었군요. 이렇게는 테스트를 안해봤는데 함 해봐야겠네요 ㅎㅎ
다들 고맙소 !
추천하는 것은 position:absolute; 를 통해 어딘가로 보내놓는 것입니다.

@마스터K caption 의 position absolute 로 인해 테이블의 width 가 망가지는 경우에 대해서는 예재를 보여주시면 좋겠네요( 아직 경험하지 못 한 부분이라)

참고로 예전 파폭에서는 width:0; height:0; 과 font-size:0; 등을 통해 보이지 않게 만들어 놓은 녀석은
ajax 처리시에 그 안의 내용을 제대로 처리하지 못했습니다. 이것이 스크린리더에도 영향을 줄 수 있다고 생각됩니다. ( 현재는 테스트를 안해봐서 바뀌었을지도 모르겠지만 )
비슷한 녀석으로
body 태그 바로 다음에 스킵네비게이션을 사용할 때도
display:none 이나 width:0 height:0 등을 넣는 것을 지양하고

position:absolute 로 화면에 보이지 않는 곳으로 보내놓는 것을 추천합니다 :D
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
13년 전 조회 6,948
13년 전 조회 4,650
13년 전 조회 3,570
13년 전 조회 2,750
13년 전 조회 4,928
13년 전 조회 3,937
13년 전 조회 3,618
13년 전 조회 3,298
13년 전 조회 2,981
13년 전 조회 2,946
13년 전 조회 2,709
13년 전 조회 3,834
13년 전 조회 3,145
13년 전 조회 2,772
13년 전 조회 3,849
13년 전 조회 3,064
13년 전 조회 3,650
13년 전 조회 4,879
13년 전 조회 2,638
13년 전 조회 3,599
13년 전 조회 2,443
13년 전 조회 2,934
13년 전 조회 3,549
13년 전 조회 3,188
13년 전 조회 5,997
13년 전 조회 4,101
13년 전 조회 4,274
13년 전 조회 2,654
13년 전 조회 9,968
13년 전 조회 4,797
13년 전 조회 2,865
13년 전 조회 2,732
13년 전 조회 4,127
13년 전 조회 6,853
13년 전 조회 4,848
13년 전 조회 2,779
13년 전 조회 1.5만
13년 전 조회 2,651
13년 전 조회 2,083
13년 전 조회 5,216
13년 전 조회 2,696
13년 전 조회 1.1만
13년 전 조회 2,261
13년 전 조회 2,529
13년 전 조회 4,698
13년 전 조회 2,301
13년 전 조회 3,208
13년 전 조회 5,130
13년 전 조회 2,504
13년 전 조회 2,409
13년 전 조회 6,787
13년 전 조회 2,887
13년 전 조회 2,201
13년 전 조회 3,954
13년 전 조회 3,983
13년 전 조회 2,954
13년 전 조회 4,395
13년 전 조회 8,050
13년 전 조회 3,599
13년 전 조회 2,214
13년 전 조회 3,365
13년 전 조회 3,305
13년 전 조회 4,065
13년 전 조회 2,077
13년 전 조회 3,172
13년 전 조회 2,075
13년 전 조회 3,230
13년 전 조회 4,155
13년 전 조회 2,511
13년 전 조회 5,360
13년 전 조회 1.1만
13년 전 조회 2,597
13년 전 조회 3,979
13년 전 조회 3,578
13년 전 조회 4,312
13년 전 조회 7,525
13년 전 조회 3,947
13년 전 조회 4,474
13년 전 조회 2,487
13년 전 조회 2,232
13년 전 조회 3,334
13년 전 조회 7,351
13년 전 조회 2,924
13년 전 조회 6,214
13년 전 조회 2,200
13년 전 조회 5,576
13년 전 조회 2,735
13년 전 조회 2,584
13년 전 조회 2,910
13년 전 조회 2,775
13년 전 조회 2,016
13년 전 조회 1,984
13년 전 조회 2.2만
13년 전 조회 1,963
13년 전 조회 2,541
13년 전 조회 2,536
13년 전 조회 2,790
13년 전 조회 4,969
13년 전 조회 2,183
13년 전 조회 3,649