반응형 웹 강좌를 준비하면서, 웹 접근성 측면에서 display:none의 문제점을 지적?한 글을 읽었습니다.
즉, 반응형 웹에서 스크린 폭에 따라서 조건부로 보이거나, 또는 마우스 클릭을 해야 보여야 하는 경우, 많은 경우 display:none을 이용하는데, 웹 접근성에 문제가 있다는 것입니다.
결국, position: absolute; left: -999em; 으로 가리는 것이 웹 접근성을 고려한다면 가장 적절한 방법이라고 합니다.
하지만, 직접 CSS를 적용하는 경우는 가능하지만, jQuery의 많은 화면 관련 기능들은 display:none 을 내부적으로 사용하고 있기에 이를 위한 별도의 조치가 필요하다고 합니다. 아래는 #myButton과 #myText 를 찾아서 적절한 클래스 (이경우 asseccibly-hidden, 즉 위의 position:absolute; left: -999em)로 적용하는 것입니다.
출처: Aaron Gustafson, Now You Can Me, A List Apart, 2011
즉, 반응형 웹에서 스크린 폭에 따라서 조건부로 보이거나, 또는 마우스 클릭을 해야 보여야 하는 경우, 많은 경우 display:none을 이용하는데, 웹 접근성에 문제가 있다는 것입니다.
CSS 규칙 |
화면 표현 |
접근성 |
visibility: hidden; |
적용된 요소가 화면에 나오지는 않지만, 원래 차지하는 공간은 남습니다. |
스크린 리더가 무시합니다. |
display: none; |
적용된 요소가 화면에 나오지 않고, 공간도 없습니다. |
스크린 리더가 무시합니다. |
height: 0; with: 0; overflow: hidden; |
차지하는 공간이 없어지고 적용된 요소도 화면에 나오지 않습니다. |
스크린 리더가 무시합니다. |
text-indent: -999em; |
적용된 요소가 화면에 보이지 않는 좌측으로 사라지지만, 링크에 포커스가 잡힐 수 있는 등 예측하지 못한 결과가 나올 수 있습니다. |
스크린 리더가 접근할 수 있으나, 이 방법은 텍스트와 인라인 요소에만 적용 가능합니다. |
position: absolute; left: -999em; |
적용된 요소가 화면에 보이지 않는 좌측 으로 사라지고, 공간도 차지하지 않습니다. |
스크린 리더가 접근할 수 있습니다. |
결국, position: absolute; left: -999em; 으로 가리는 것이 웹 접근성을 고려한다면 가장 적절한 방법이라고 합니다.
하지만, 직접 CSS를 적용하는 경우는 가능하지만, jQuery의 많은 화면 관련 기능들은 display:none 을 내부적으로 사용하고 있기에 이를 위한 별도의 조치가 필요하다고 합니다. 아래는 #myButton과 #myText 를 찾아서 적절한 클래스 (이경우 asseccibly-hidden, 즉 위의 position:absolute; left: -999em)로 적용하는 것입니다.
(function(){
var $button = $('#myButton'),
$text = $('#myText'),
visible = true;
$button.click(function(){
if ( visible ) {
$text.slideUp('fast',function(){
$text.addClass('accessibly-hidden')
.slideDown(0);
});
} else {
$text.slideUp(0,function(){
$text.removeClass('accessibly-hidden')
.slideDown('fast');
});
}
visible = ! visible;
});
})();출처: Aaron Gustafson, Now You Can Me, A List Apart, 2011
댓글 4개
12년 전
화면에서 안보이게 가려야 한다면.. 마찬가지로 스크린리더로도 읽혀지지 않아야 하지 않나요?
12년 전
디자인측면에서 가려야 하는 경우와, 내용 측면에서 가려야 하는 경우가 다른것 같습니다.
무조건 display:none; 가 적절치 못하다고 표현한 제 의견 부분은 잘못된 것 같네요...
지적 감사합니다. :-)
무조건 display:none; 가 적절치 못하다고 표현한 제 의견 부분은 잘못된 것 같네요...
지적 감사합니다. :-)
WEBsiting
12년 전
좋은정보 감사합니다.
디자인적으로 보이지 말아야할 부분은 display:none; 으로 처리했었는데
이젠 다른방법으로 처리해 두어야겠네요^^
디자인적으로 보이지 말아야할 부분은 display:none; 으로 처리했었는데
이젠 다른방법으로 처리해 두어야겠네요^^
takumi22
12년 전
좋은정보네요
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 5730 | 13년 전 | 766 | ||
| 5729 | 13년 전 | 3586 | ||
| 5728 | 13년 전 | 1151 | ||
| 5727 |
freejazzme
|
13년 전 | 1111 | |
| 5726 | 13년 전 | 1448 | ||
| 5725 |
itlang
|
13년 전 | 427 | |
| 5724 | 13년 전 | 504 | ||
| 5723 |
crocojea
|
13년 전 | 1482 | |
| 5722 | 13년 전 | 1977 | ||
| 5721 | 13년 전 | 711 | ||
| 5720 |
쿠우우우우
|
13년 전 | 470 | |
| 5719 | 13년 전 | 606 | ||
| 5718 |
|
13년 전 | 586 | |
| 5717 | 13년 전 | 1444 | ||
| 5716 |
|
13년 전 | 1035 | |
| 5715 | 13년 전 | 468 | ||
| 5714 | 13년 전 | 472 | ||
| 5713 | 13년 전 | 537 | ||
| 5712 |
|
13년 전 | 775 | |
| 5711 | 13년 전 | 697 | ||
| 5710 |
minini
|
13년 전 | 489 | |
| 5709 |
|
13년 전 | 1331 | |
| 5708 | 13년 전 | 679 | ||
| 5707 | 13년 전 | 5857 | ||
| 5706 |
오니기리죠
|
13년 전 | 1019 | |
| 5705 |
HSEngine
|
13년 전 | 657 | |
| 5704 |
Giggle
|
13년 전 | 1696 | |
| 5703 | 13년 전 | 504 | ||
| 5702 |
AMDbest
|
13년 전 | 1421 | |
| 5701 |
|
13년 전 | 2888 | |
| 5700 | 13년 전 | 500 | ||
| 5699 |
미션임파썩을
|
13년 전 | 540 | |
| 5698 | 13년 전 | 625 | ||
| 5697 | 13년 전 | 532 | ||
| 5696 | 13년 전 | 433 | ||
| 5695 |
|
13년 전 | 696 | |
| 5694 | 13년 전 | 439 | ||
| 5693 | 13년 전 | 977 | ||
| 5692 | 13년 전 | 949 | ||
| 5691 |
쉽다zzz
|
13년 전 | 718 | |
| 5690 | 13년 전 | 474 | ||
| 5689 | 13년 전 | 632 | ||
| 5688 | 13년 전 | 1412 | ||
| 5687 | 13년 전 | 467 | ||
| 5686 | 13년 전 | 2449 | ||
| 5685 |
AMDbest
|
13년 전 | 2158 | |
| 5684 | 13년 전 | 2038 | ||
| 5683 | 13년 전 | 1352 | ||
| 5682 |
AMDbest
|
13년 전 | 666 | |
| 5681 | 13년 전 | 3799 | ||
| 5680 |
|
13년 전 | 1682 | |
| 5679 | 13년 전 | 2087 | ||
| 5678 |
|
13년 전 | 511 | |
| 5677 |
mobiler
|
13년 전 | 463 | |
| 5676 | 13년 전 | 1600 | ||
| 5675 | 13년 전 | 585 | ||
| 5674 |
PHPㅡASP프로그래머
|
13년 전 | 1812 | |
| 5673 |
PHPㅡASP프로그래머
|
13년 전 | 1488 | |
| 5672 |
PHPㅡASP프로그래머
|
13년 전 | 1277 | |
| 5671 |
PHPㅡASP프로그래머
|
13년 전 | 1211 | |
| 5670 |
PHPㅡASP프로그래머
|
13년 전 | 4607 | |
| 5669 | 13년 전 | 3050 | ||
| 5668 | 13년 전 | 1412 | ||
| 5667 | 13년 전 | 490 | ||
| 5666 | 13년 전 | 1142 | ||
| 5665 |
Darby
|
13년 전 | 1601 | |
| 5664 | 13년 전 | 1338 | ||
| 5663 | 13년 전 | 1122 | ||
| 5662 | 13년 전 | 784 | ||
| 5661 | 13년 전 | 449 | ||
| 5660 | 13년 전 | 841 | ||
| 5659 | 13년 전 | 710 | ||
| 5658 | 13년 전 | 531 | ||
| 5657 | 13년 전 | 536 | ||
| 5656 | 13년 전 | 990 | ||
| 5655 | 13년 전 | 437 | ||
| 5654 | 13년 전 | 390 | ||
| 5653 |
졸린다젠장
|
13년 전 | 477 | |
| 5652 |
|
13년 전 | 395 | |
| 5651 | 13년 전 | 1027 | ||
| 5650 | 13년 전 | 718 | ||
| 5649 | 13년 전 | 2231 | ||
| 5648 | 13년 전 | 479 | ||
| 5647 | 13년 전 | 757 | ||
| 5646 | 13년 전 | 1493 | ||
| 5645 | 13년 전 | 679 | ||
| 5644 | 13년 전 | 614 | ||
| 5643 |
|
13년 전 | 573 | |
| 5642 |
쿠마하우스
|
13년 전 | 685 | |
| 5641 |
goaway
|
13년 전 | 1084 | |
| 5640 |
쿠마하우스
|
13년 전 | 647 | |
| 5639 | 13년 전 | 674 | ||
| 5638 |
쿠마하우스
|
13년 전 | 989 | |
| 5637 | 13년 전 | 803 | ||
| 5636 | 13년 전 | 1411 | ||
| 5635 |
goaway
|
13년 전 | 909 | |
| 5634 |
lllolll
|
13년 전 | 414 | |
| 5633 | 13년 전 | 962 | ||
| 5632 | 13년 전 | 4272 | ||
| 5631 | 13년 전 | 564 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기