[font series 2]폰트사이즈만 상대적으로 하면 된다?

많은 분들이 폰트사이즈만 상대적으로 생각하시는데..
저는 폰트만 상대크기면 반쪽짜리라고 생각합니다.

만약 폰트만 상대크기로 했을경우 줌브라우징하면 글자만 커졌다 작아졌다 하게 된죠. 그렇게 되면 한줄에 10글자씩 보이던게 한줄에 2글자만 보이게 되는 상황이 연출될 수 도 있는데, 이렇게 되면 글자 하나 읽을때마다 엄청난 스크롤의 압박을 견뎌내야 합니다.

그리고 레이아웃도 깨져서 섹션별로 구분하기가 힘들어 집니다.
예를들어, 다음의 메일함 좌측 메뉴에서 글자크기를 크게 해버리면 그리드가 넘어가버리게 됩니다.


이런식으로 정보가 섹션단위로 나뉘어져 있을때, 글자를 크게 해버리면 이 정보가 어느 섹션인지 알 수 없게 되버리는 거죠.
“난 상대크기줘서 글자 켜졌다 작아졌다 하게 해 줫으니깐 책임없어” 라구요?
너무 무책임하시진 않으신가요?

“이렇게 된 사이트가 어딨는데~?” 냐구요?
왜 없겠습니까. 대표적인 예시 사이트가 있습니다. 바로 yahoo.com 이지요.
yahoo.com에 가서 글자크기조절 한번 해보세요. 진정한 줌브라우징에 깜짝(?) 놀라실겁니다. ㅎㅎ

광고

[font series 1]웹에서 Font Size 문제..

스마트에디터오픈하면서 font size 논쟁을 지켜보다가, 과거 제가 겪었던 고민을 공유해보자 글을 써 내려 갑니다.(모두가 한번쯤 생각해볼만한 문제)

폰트 크기를 상대크기로 하면 줌 브라우징을 지원하니 접근성이 향상이 됩니다.
하지만 막상 상대크기로 하고 나면 예상치 못한 문제점들이 발생합니다.

많은 사람들이 브라우져의 글자크기 조절하는 법을 모릅니다.
브라우져 텍스트크기가 보통이 아닌 다른 글자크기로 정의되어 있는데 사이트가 상대크기라면
글자가 갑자기 크게 나오거나, 혹은 작게 나오거나 하겠죠. 이런 상황을 일반적인 사용자가 맞닥뜨리면 기겁을 하며(특히 IE 6) 해킹당한건 아닌지, 바이러스 걸린건 아닌지, 컴퓨터가 고장난건 아닌지 하는 겁이 덜컥 듭니다. 너무 극단적인 예인가요?
하지만 컴퓨터를 조금 아시는 분이라도 당황하기는 마찬가지 입니다.

사용자가 많을 수 록 이러한 문제의 비율은 극격히 높아질 것 이고, 고객센터에 엄청난 질문과 항의가 올라올 것 입니다.(때때론 전화가 올 수 있구요..ㅎㅎ;)
FAQ에 올려 있다고 하더라도, 이걸 보는 사용자가 얼마나 될까요..?

대다수의 고객들이 절대크기를 경험에 의한 학습으로 사용해 왔고, 사용하고 있습니다.
회사 입장에서는 모험을 하기보다는, 안정적인 운영을 위해 절대크기로 갈것입니다. (안정적인 운영은 곧 수익창출을 할 수 있는 기반이니깐요)

그럼 결국 줌브라우징이 필요한 소수의 사용자들은 또 배척되는 딜레마 상황이 되어버리죠..
양쪽 모두를 아우를 수 있는 방법은 없는 걸까요?

IE 6 이 패치되는 방법은 어떨까요? (IE 7 부터는 줌브라우징이 지원됩니다)
패치됬을때 불러올 혼란을 생각하면 끔찍하지만, 가장 확실한 방법이죠.
하지만 MS가 그 무리수를 감당하려 할까요?
애시당초 IE 6 이 줌브라우징을 지원했었더라면..(덤으로 표준도 준수했더라면;;)

고니님과 대화를 하면서 외국계 회사들은 상대크기를 많이 쓰는거에 대해 얘기를 하게 되었는데
고니님은 그 이유를 서체에 있다고 보셨습니다. 영어는 줌브라우징으로 작게해도 알아볼 수 있는 마지막단계가 한글보다 높다는 의견이었는데,
즉 무슨말인고 하니(숫자가 작을수록 글씨크기는 작아진다면) 영어로 사이즈를 2으로 하면 더 이상 알아보기 힘들다고 한다면 한글은 5로 하면 더 이상 알아보기 힘든 사이즈가 되는 것이죠.

상대폰트 쓰면 좋은데, 막상 쓰고나면 이러저러한 문제점들이 생기니…

ps > 이것 말고도 많은 고민들과 문제점이 있을 수 있습니다.
그런것들을 서로 공유를 하면 좋겠습니다. (트랙백 혹은 코멘트로)
이러한 고민들을 서로 공유해 나가는것이 해결책을 찾아 나가는 길이니깐요.

 

font-size: em을 처음쓰시는 분들을 위한 간단한 팁

font-size정의시 px을 쓰지말고 em을 쓰기를 권고하고 있죠..
근데, 임마가 참으로 성가시게 굴때가 있습니다.

그 이유는, 상대적이기 때문이죠..
px같은 절대적인 값이라면, 솔직히 코더(Coder)들이 코딩(Coding)하기엔 더욱 쉽습니다.(저만 그런걸지도)
하지만, 줌브라우징 기능때문에 em을 권고하죠.
(물런, 이것외에도 여러가지가 있지만 줌브라우징은 그 이유중 하나입니다. http://www.mondaybynoon.com/2006/03/13/effective-style-with-em/)

자, 그럼 무엇이 성가시게, 골때리게 구냐..
이 녀석들은 폰트크기..즉 위에서 선언된 font-size와 모종의 뒷거래(?)가 있다는 것입니다.
예를들어,

<style type=”text/css”>
body { font-size:1em; }
.Mother {font-size:1em;}
.Child01 {font-size:0.5em;}
.Child02 {font-size:2em;}
.Child03 {font-size:2em;}
.Baby01  {font-size:2em;}
</style>
<div>Mother
<div>
<div>Child01(Baby01)</div>
</div>
<div>Child02</div>
<div>Child03</div>
</div>

가 있다고 가정을 할경우, Baby01 과 Child02~03은 코드결과적으로 보면 font-size:2em입니다.
하지만, 실제로 돌려보면, 틀리게 나옵니다.

그 이유를 확인하신다면..

body { font-size:5em; }

으로 수정해보세요, 그럼 제가 한말을 바로 이해하실 수 있을 겁니다.

상대적” 이기 때문이죠.

그리고, 다른부분은..
위의 상황과 연관된 경우인데..만약 같은 class를 폼 컨트롤러(input, textarea…..)와 함께 사용한다고 가정을 할경우..
눈에 보이는것(위의 div)과 같지 않은 출력이 나올 수 있다는 것이지요..

예를들어, Baby01 class를 같이 쓴다고 가정을 하고..
div에서는 대략 13~4px정도의 크기로 출력이 되죠
하지만, 이걸보고 폼 컨트롤러에 적용을 시킬경우, 13~4px정도의 글자크기가 출력되는게 아니라.
순수하게 2em 즉 200% 글자가 출력이 됩니다

<textarea>Baby01</textarea>

이 부분은 상속을 받지 않기때문에, “모종의 뒷거래”가 일어나지 않게 되는 것이지요~
이해하시겠죠..?

그리고
font-family를 정의하지 않은 textarea같은 경우, font-family가 기본과 틀립니다.(IE, FF에서 확인했습니다)

<textarea>Mother</textarea><br />
<textarea>Baby01</textarea><br />

<input type=”text” value=”Mother”><br />
<input type=”text” value=”Baby01″><br />
<input type=”button” value=”Mother”><br />
<input type=”button” value=”Baby01″><br />

즉, form control에는 상속이 되지 않는거죠.
그래서 공용선택자 * 에 폰트크기나 서체등을 정의하는 방법으로 해결 할 수 있답니다.

왜냐면, 공용선택자는 모든 마크업을 일괄 재정의 하는 것이니깐요~!!!