페이지 내부 링크/ページ内移動リンク



Web Standards Archive for the Category

z-index를 이용한 Image Replacement기법

2006-09-24 Sunday Posted in Web Standards | 7 Comments »

One Web Developer’s Haven에 소개된 z-index를 이용한 Image Replacement기법이다.(via 覚え書き@kazuhi.to) 이미지 off의 상태에서도, CSS off 상태에서도 텍스트는 잘 표시되지만 역시 span태그가 신경 쓰인다. 그래도 혹시 IR기법을 활용하고자 하시는 분은 참고하시길 바란다.





Top-Level Text

코드는 대략 이런식으로 구성되어 있다. 핵심은 body요소에 z-index:1을 주고(z-index프로퍼티는 position프로퍼티에 “relative”, “absolute”, “fixed” 등 “static” 이외의 값을 가지고 있는 요소에만 적용되는 점에 주의) 적용하고자 하는 요소에 background-image로 이미지를 지정하고 텍스트는 span으로 둘러싼다. span에 z-index:-1을 적용함으로써 텍스트가 background-image의 뒤로 숨게된다(참조 샘플 페이지).

머리속에 background-image는 페이지의 가장 뒤에 있는 요소라는 고정관념이 자리하고 있었는데 이 소스를 보고 깜짝 놀랐다. 역시 어떤일에든 유연한 사고가 필요한 것 같다.

clearfix:after

2006-09-06 Wednesday Posted in Web Standards | 7 Comments »

요즘 Web표준에 대한 관심이 높아지면서 XHTML+CSS로 코딩을 하고자 하는 분들이 많이 늘은 것 같다. XHTML+CSS에 의한 코딩에서 많은 분들이 어려움을 느끼고 계시는게 아마 float의 처리가 아닌가 싶다. 나도 예전 그 부분에서 많은 어려움을 겪었지만 결국 Tony Aslett씨가 고안한 “clearfix:after“로 해결을 하고 있다.

<div id="contentsArea">

<div id="contents">Contents</div>

<div id="subNavigation">Sub Navigation</div>

</div>

가령 위와 같은 마크업을 작성하고 왼쪽에는 컨텐츠가, 오른쪽에는 서브 네비게이션이 위치하도록 CSS를 작성한다고 하자.

#contentsArea {
    background-color:#F90;
    padding:10px;
}

#contents {
    background-color:#3C0;
    float:left;
}

#subNavigation {
    background-color:#3CC;
    float:right;
}

컨텐츠를 왼쪽에 위치시키기 위해서 float속성에 left를 주고 서브 네비게이션의 float속성에 right를 주어서 각각 왼쪽과 오른쪽에 배치된 페이지가 완성되었다. 하지만 여기서 문제가 되는게 float속성을 해소(clear:both)시켜 주지 않으면 높이값(height)이 생기지 않는 것이다.

float가 해소되지 않은 이미지

이 문제를 해소하기 위해서 CSS에 다음과 같은 소스를 추가한다.

.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

.clearfix {display: inline-table;}

/* Hides from IE-mac \\*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

그리고 XHTML문서의 contentsArea에 class태그를 추가하는 것으로 간단히 문제가 해결된다.

<div id="contentsArea" class="clearfix">

float가 해소된 이미지

id가 아니라 class를 지정하고 있는 경우에는 스페이스로 구분하여 clearfix를 지정해 주면 된다.

<div class="comment clearfix">

신현석님이 알려주신 overflow 속성을 이용한 방법도 참고하면 많은 도움이 되리라고 생각한다.

she님이 알려주신대로 IE7(베타3)에서는 이 소스가 적용되지 않는다(쇼크!!). 여기에 다시

*+html .clearfix { overflow:auto; }

이렇게 IE7용의 hack을 적어주면 문제는 해결되지만 그다지 의미가 없는 것 같다(기존 작업물의 수정에나 용이할듯..;;). 역시 현석님이 알려주신대로 스크롤바에 유의해가며 overflow:auto;를 이용해서 작업하는게 더 나을 것 같다.

찾아보니 벌써 IE7문제에 대한 해결책이 나와 있었다!(도움주신 kazu님에게 감사드립니다!)

Roger Johansson씨에 따르면 display: inline-tabledisplay:inline-block으로 바꿔주면 문제가 해결된다고 한다:-)

최종 소스

.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

.clearfix {display:inline-block;}

/* Hides from IE-mac \\*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

참고링크

역시 이래서 Web Design이 재미있다:-)
…그리고 무엇보다 영어공부의 필요성을 절실히 느낀다..;;

좋은 공부하게 해주신 jely님, she님, kazu님 감사합니다:-)

IE 전용 zoom프로퍼티를 이용한 clear방법

2006년 12월 26일 업데이트

.clearfix{
zoom:1;/*for IE 5.5-7*/
}

.clearfix:after{/*for modern browser*/
content:".";
display: block;
height:0px;
clear:both;
visibility:hidden;
}

이 방법은 IE 전용 프로퍼티를 이용하고 있기에 hack을 사용하지 않아도 되는 장점과 IE7에서도 적용이 되고 소스코드도 줄어드는 장점이 있지만 역시 IE 전용 프로퍼티를 이용하는데서 오는 껄꺼로움이 남는다..;

액세시빌리티는 필요 없다!

2006-08-31 Thursday Posted in Web Standards | 9 Comments »

어제는 우리 회사의 액세스빌리티 전문가인 N상과 T상의 강연으로 사내 액세스빌리티 세미나가 열렸다. T상은 선천성 시각장애를 가지고 있어서 전혀 앞이 보이지 않는 분으로 자신이 사용하고 있는 스크린리더기와 음성 브라우저를 이용해서 액세시빌리티에 대응하지 않는 페이지, 아니 Web표준을 따르지 않는 페이지를 시연해 주셨다.

눈을 감고 스피커에서 흘러나오는 소리에 귀를 귀울인다.

..슬러시.엔.에이.브이.아이.제로.이치…

몇초도 지나지 않아서 눈을 뜨고 음성브라우저가 불러 들이고 있는 이미지를 찾기 위해 프로젝트 화면을 찾아봐도 네비게이션 부분이라는 것은 알겠지만 어떤 링크를 읽고 있는지 도통 알 수가 없다. 헤더의 네비게이션 부분만해도 메인로고, 서브 네비게이션과 글로벌 네비게이션, 텍스트 옵션메뉴까지 4종류의 네비게이션에 링크만해도 14개. 짧은 시간이었지만 대체 텍스트(alt)의 필요성을 직접 느낄 수 있었다.

Web의 액세시빌리티는 “배려“가 아니라 “Web의 본래 있어야 할 모습“이라는 것이 이 세미나의 주제였다. 특정 환경에 배려한 컨텐츠보다는 환경에 의존하지 않으면서 액세시빌리티를 가지는 컨텐츠를 만드는게 더 중요하다는 이야기. 국내 정부입찰 사이트의 경우 특정 스크린리더나 음성 브라우저에 대응한 환경이나 텍스트 페이지를 함께 만드는 경우가 많은데 그런 것 보다는 어떤 환경에도 대응할 수 있는 페이지를 만들자는 것이다. 그렇게 만들어 주는 것이 바로 “Web표준“이라는 것이다.물론 컨텐츠를 제공하는 사람, 제작하는 사람, 유저에이전트, 사용자가 모두가 바람직한 Web을 만들도록 노력해야 하지만 말이다.

타겟 유저를 선정하는 것은 어떤 사이트에도 필수적인 항목이다. 하지만 유저를 한정하지는 말아야 할 것이다.

그 누가 접근을 하더라도, 어떤 디바이스로 접근하더라도 동일한 정보를 얻을 수 있는 Web사이트를 구축하는 것. 그것을 위해 필요한 것이 Web표준, 제대로 된 마크업으로 정보와 디자인의 분리하는 것이 꼭 필요하다.

사내 세미나를 통해 조금은 머리속에 생각하고 부분들이 정리되는 느낌이었다. 역시 주변에 이렇게 선생님이 많은 환경에 있으니 정말 배울 것이 많구나.

“Web표준의 날” 프레젠테이션 자료 공개

2006-08-16 Wednesday Posted in Web Standards | 3 Comments »

2006년 7월 15일 롯뽄기힐즈에서 열린 “Web표준의 날(The Day of Web Standards)” 행사의 강연자료(프레젠테이션 파일과 MP3파일)를 다운로드 받을 수 있도록 공개하였다.

프레젠테이션 파일과 MP3파일만 가지고도 충분히 강연 내용 파악이 가능할 것 같다. 관심이 있으신 분은 한번씩 들어보셔도 좋을 듯:-) 복습차원에서 집에 가면 한번 더 들어봐야 겠다. 참고로 행사 당일 리포트.

SAMSUNG VLUU

2006-08-02 Wednesday Posted in Design, IT, Web Standards | 5 Comments »

얼마전 삼성에서 VLUU라는 멋진 디지털 카메라를 내놓았다. 심플하고 멋진 디자인으로 삼성카메라 중에 처음으로 갖고 싶다는 생각을 가졌던 카메라였지만 오늘 조금 생각이 바꼈다.

네이버 영어사전에서 단어를 검색하던 중 장동건이 등장하는 삼성 VLUU 배너가 떠서 평소 VLUU카메라에 호감이 있던지라 좀 알아볼까 싶어서 배너를 클릭했더니…

Firefox에서 본 SAMSUNG VLUU사이트
“팝업이 블록되었습니다”라는 알림이 표시되고 있다.

갑자기 브라우저가 470X430사이즈로 팍 줄어들어서 심장이 오그라드는 줄 알았다..;; 새창을 싫어해서 Firefox의 Tab Mix Plus플러그인을 사용해서 새창이 전부 새탭으로 열리게 설정해 놓고 사용중인데 열려있던 다른 페이지까지 함께 팍 줄어들었다. 윈도우의 반을 브라우저의 메뉴가 차지하고 페이지가 반밖에 안 보이게 되는데도 굳이 창 사이즈를 줄이는 이유를 모르겠다. 방문자의 이탈을 막기 위함인가? 삼성 프로모션 사이트가 예전부터 접속하면 브라우저 사이즈를 줄이는 건 알고 있었지만 이제 좀 버릴때도 되지 않았나?

놀란 가슴 진정시키고 그래도 VLUU에 대해서 알고 싶어 팝업창을 띄었더니 내용이 다 잘려있었다.

Firefox에서 본 SAMSUNG VLUU사이트

470X430사이즈의 작은 창에서 움직이고 있는 플래시를 보고 있으려니 조금 불쌍하다는 생각도 들고…분명 멋지게 잘 만들어 놨을거라는 생각은 들었지만 이 이상 이 사이트를 둘러보는 걸 그만 두었다. 원래 어느정도 사이즈로 열려고 했는지 궁금해져서 소스를 살펴보니 javascript에 사이즈가 1010X699으로 지정되어 있었다. 하지만 document.all이라는 ms dom을 사용해서 Firefox에서는 적용이 안 되었던 모양이다.

프로모션 사이트의 목적이 무엇인가? 한사람이라도 더욱 많은 사람에게 알리는 데 그 목적이 있는 것 아닌가? 상업적인 사이트는 다른 어떤 사이트보다 사용자를 잘 배려하여야 한다고 생각한다. 고객(이 될 가능성이 있는)에 대한 배려가 이 정도라면 나는 절대 삼성을 선택하지 않을 것이다. 조금 만 더 신경써주면 안 될까? nikon사이트에 가서 한번 소스 좀 분석해 보길 바란다. 카메라를 이용할 가능성이 가장 적은 시각장애자를 위해서 그들이 하고 있는 배려를 배우기 바란다(물론 시각장애자 뿐만 아니라 텍스트 브라우저, 모바일 환경에서의 접근 등 다양한 경우에 대한 대응이지만..).

이제 우리도 조금 달라져야 하지 않을까? 많이도 바라지 않는다. 조금만 배려를 하는 사이트를 만들었으면 좋겠다. 같은 동종업계에서 일하고 있으면서 이런 포스트를 하고 싶지 않다. 나도 지금껏 수많은 사이트를 만들어 왔고 잘못한 부분도 많고 이렇게 떳떳하게 말할수 있을 만큼 항상 배려로 넘친 사이트를 만들어 온 것은 아니지만 이제부터라도 잘못된 부분을 인식하고, 공부하고, 바른 방향으로 바꾸려고 노력중이다. 노력하지 않으면, 발전하지 않으면 도태되어질 수 밖에 없다.

우리 같이 노력해 갑시다.

삼성 VLUU NV 시리즈
이 링크를 클릭하면 브라우저 사이즈가 470X430사이즈로 줄어듭니다. 주의하시기 바랍니다.このリンクをクリックするとブラウザのサイズが470X430サイズに縮みます。ご注意ください。

삼성 사내 인트라 게시판에 이 포스트가 소개된 모양이다. 조금이라도 인식의 전환이 있었으면 좋겠다.