Archive for 10월, 2009

웹표준의 목적과 태그 선택

월요일, 10월 26th, 2009


happycog.com (h1을 사이트 로고와 메뉴처럼사용되는 문구로 사용한 예)


A List Apart (h1을 사이트 로고와 페이지내 컨텐츠 타이틀에 두번 사용한 예)


W. W. Norton & Company (h1을 페이지내 컨텐츠 타이틀만에 사용한 예)


ACP Online (h1을 사이트 로고에만 사용한 예)

위의 여러 캡춰를 보면 <h1>태그의 몇가지 사용예가 있습니다. 어떤것은 로고에 어떤것은 컨텐츠 타이틀에 있습니다. 다른 예는 로고를 <h4>로 사용한 것도 있었습니다. 위 4가지 예는 제프리젤드먼이 함께 하고 있는 웹스튜디오의 포트폴리오들입니다. 한 회사에서 다양하게 <h1>을 사용한 것이 흥미롭습니다. 일을 하다보면 고민되는 선택의 순간이 찾아 오는데 사람들의 얘기를 들어보면 서로 다른 의견이 있는것 같습니다.  이럴때마다 선택의 기준, 즉 목적을 분명히 한다면 쉽게 방향을 잡을 수 있다고 봅니다.

<h1>태그 같은 경우 검색엔진이 그 문서를 선택하는 중요한 단서가 될  수 있으므로 한번만 그리고 컨텐츠  타이틀에 사용하는게 보통의 상황에서는 더 도움이 된다고 생각합니다. 물론 태그에 로고와 같은 웹사이트를 대표하는 이름을 넣어야 겠지요.
이처럼 검색엔진 관점에서 그러고 접근성 관점에서 더욱 좋은 방법을 선택하면 그게 “맞다” 라고 표현할 수 있다고 생각합니다. 여기서 “맞다”는 옳고 그름의 차원이 아니라 “더좋다”, “실용적이다”라는 이야기 입니다.

위의 예와 같이 다양하게 쓰여지게 된 이유는 아마도 이런 실용적인 측면에서 사연이 있어서 일지 모릅니다. 로고를 <h1>으로 둔 경우 검색 키워드 전략상 사이트 제작의 목적에 유리하기 때문에 그렇게 했을 수도 있다는 거지요.  검색결과라는 것이<h1>과 상관 없이 본문내 얼마나 중요 키워드를 잘 가지고 있느냐에 따라 달라질 수 있지만 <h1>을 참고 한다는 것만은 사실이니까요.

가끔 웹표준을 위한 웹표준의 관점에서 코드를 만드는 분을 만나 태그 선택이나 여러가지에서 조금씩 이견이 생기기도 합니다. 웹표준은 기계가 더 잘 읽으라고 의미있게 만드는 것입니다. 그런데 진짜 목적은 그 기계는 사람에게 정보를 잘 제공하기 위해 존재하는 것이죠. 그런 관점에서 보았을때 항상 궁극의 목적을 “사람”에게 맞추어 선택하고 고민해야 한다고 생각합니다.

만약 사람이 아니라 “웹표준 문법 자체”가 목적이 되면 사람이 만드는 디자인과 기획등 여러상황에 딱딱한 규율처럼 되서 결국 충돌을 일으키고 성공적으로 프로젝트를 진행하는데 무리를 일으키게 됩니다.

<dl>태그처럼 <dl><dt><dd>를 가지고 있어 용도가 분명한 태그를 선택할 경우 아주 많은 방법으로 이용할 수 있겠지만, 어떨때는 사용하고 싶은 욕심?에  틀리지는 않지만 무리한 내용을 넣은 코드도 보게 됩니다.
사실 그렇게 다양한 용도의 정보가 있는 정보묶음이라면 <div>안에 <h?>을 사용하고 다양하게 구성하는게 좋다고 생각합니다. 이렇게해서 다양한 상황에서 공통으로 모듈화해서 쓸수 있도록 만드는 것이죠.  물론 깔끔하게 <dl><dt><dd>로 사용할 수있는 곳이 있다면 써야겠지만  웹을 제작하다보면 <dl><dt><dd>같이 용도가 분명한 태그를 다양한 형식에 무리하게 사용한 경우 기획(내용)이 중간에 바뀌면서 <dl>태그 구조로는 도저히 안되는 상황이 되서 나중에 부랴부랴 야근까지 해가면서 바꾸는 경우가 많습니다.

이렇듯 작업상황과 공동작업, 모듈화를 통한 코드의 효율성등을 고려해 코드를 설계할 필요가 있다는 생각입니다.

처음과 기획이 틀리면 안되고 디자인도 바뀌면 안되는게 맞지만 우리가 사는 현실이 그렇지 않기 때문에, 또 같이 일하는 “사람”들과 함께 하는 공동 작업이기 때문에 한번 더 감싸 더라도 문법과 접근성에 문제가 없고 Machine-friendly해서 합리적이다면 어떤면서는 약간의 융통성?을 발휘해야 한다는 생각입니다. 그렇다고 고민없는 <div>남발을 얘기하는것이 아닙니다.

사실 이렇게 하려면 내가 알고 있는 표준문법 용도 외에 상황마다 더 많은 고민이 필요하니까요.
어쩌면 웹표준의 발전은 완벽한 문법을 그대로 사용하려는 고민없는 고집보다도 상황에서 최선을 다하려는 지식위의 고민으로 이어질때 창의적인 발전으로 이루어질 수 있지 않나  생각해봅니다.