웹표준의 오해 토론

이정환님의 정리버즈삼구님께서 반론하신다고 적으신 일부 부분을 발췌했습니다.

웹표준을 지켜야 하는 이유는 여러가지 브라우져에 제대로 혹은 잘 보이게 하는 가장 편리한 방법이기 때문이지 그 이상도 아닙니다. 그리고, 테이블도 엄연한 표준이지만, 레이아웃을 테이블로 잡는 것은 웹표준이 아니라는 말은 어패가 있습니다.

실제 CSS를 이용한 레이아웃은 테이블에 비해서 수정이 쉽다고 하지만, 아주 간단한 레이아웃이 아닌 약간만 복잡한 레이아웃을 CSS만으로 적용하려 하면 테이블에 비해서 아주 많은 노력이 있어야 합니다. 테이블이 매우 직관적인데 비해서 CSS는 코드 자체만으로 디자인이 머리에 그려지질 않기 때문에 수정이 쉽지도 않습니다. 또한, 테이블에 비해서 CSS는 브라우져마다 약간씩 적용되는 바가 틀리기 때문에(padding이나 margin 등) CSS 핵이라는 전혀 필요없는 코드가 들어가야 합니다.

긴글중 아주 짧은 두 문단이지만 여러가지 사실이 아닌 부분들이 많아 키보드를 잡았습니다. 덧글로 달기엔 많을꺼 같았습니다.

  1. 일단 첫번째로 웹표준이 여러가지 브라우져에 제대로 혹은 잘 보이게 하는 가장 편리한 방법이라는것은 전혀 사실이 아닙니다. 일모리네 방문하시는 분들께서는 왠만큼 코딩을 해보셔서 아시다시피 전혀 편리하지 않습니다. 머리아파서 밤 새시는 분들 많으십니다. Firefox 에서 보이는듯 하다가 IE 에서 깨지고 오페라에서 전혀 다른 모습을 보여줍니다. 물론 어느정도 손에 익게 되면 쉬운 것이긴 하지만 말입니다.
  2. 두번째로 테이블도 엄연한 표준이 맞습니다. 그것이 표로 사용될때 말이죠. 테이블이 레이아웃의 틀을 잡는 부분으로 둔갑한다면 표준이라 말할수 없습니다. w3c 에서 권하는 웹표준이라는 것은 의미에도 무게를 많이 두는 권고안입니다. 테이블이 사용될때 W3C Validator 는 통과하더래도 부끄러운 코딩일수 밖에 없습니다. 이미 전세계적으로 웹표준 으로는 가장 유명한 Web Standards Awards(최고의 웹표준 사이트를 뽑는곳)는 이제 테이블로 레이아웃 짜는것은 지나갔다라고 믿으며 사이트 고르는것을 중단한 상태인데 "레이아웃을 테이블로 잡는 것은 웹표준이 아니라는 말은 어패가 있습니다" 라는 말씀은 안타깝지 않을수 없습니다.
  3. 많은 노력이 있어야 한다는것에 동의합니다. 손에 익지 않다면 쉽지 않을것입니다. 하지만 CSS 가 코드 자체만으로 디자인이 머리에 그려지지 않는다는것, 수정이 쉽지 않다는것은 전혀 CSS 의 장점을 과소평가 하시는것이라고 생각됩니다. CSS 가 손에 익게되면 CSS 만큼 쉬운것도 없습니다.(테이블이 더 쉬울때도 태반이긴 하지만) 수정또한 편견과는 다르게 가히 놀랄만큼 쉽습니다. 제가 이전에 나누었던 CSS 를 정리하는 법으로 코딩한다면 더욱 수정은 쉽게 되겠죠.
  4. CSS 핵에대해서 말씀드리겠습니다. CSS 핵은 margin 과 padding 의 브라우저 간의 연관성을 잘 이해하지 못하기 때문에 많이 쓰이게 되는 부분입니다. 솔직히 한국과 같은 브라우저의 종류가 적은곳에선 CSS 핵이 그다지 많이 필요하지 않습니다. 이번에 새롭게 변화된 Slashdot 사이트도 CSS 핵을 찾아보기 힘들만큼 핵은 이제 조금씩 사라지고 있는 형태입니다. 물론 여기저기 필요는 하지만 전체 레이아웃을 잡을때 특별히 필요하기 때문에 줄여야 하는 것들로 인해 쓰는 몇가지 빼고는 어렵지도 힘들지도 않습니다. 몇번 하다보면 요령도 생기고 양도 줄게 되는게 바로 코딩이라는 것이죠. CSS 도 이제 예외가 아닙니다.
  5. 오페라와 같은 브라우져에서 제대로 보이는 디자인을 CSS로 구현하는 것은 실질적으로 불가능합니다.

    왜 이러한 말씀을 하셨는지 모르지만 CSS 로 구현되는 디자인은 불가능이 아니라 아주 가능합니다. 방금 SLASHDOT 이야기도 드렸고 THINKVITAMIN 같은 사이트들, 수많은 사이트들이 있습니다. 더큰 대형 사이트를 원하신다면 ESPN.COM 을 살펴보셔도 되고 제가 소개한 사이트들을 한번 둘러보시는것도 이해를 도울수 있을꺼라 생각합니다. 불가능한것이 아니라 국내엔 CSS 를 깊이 공부할 SOURCE 가 모자라기에 구현하기 힘들다 하는것이지 CSS 자체가 불가능 하다는건 사실무근입니다. 오히려 디자인을 모든 브라우져에서 구현하는것이 불가능 한것이 아니라, 기능들을 구현하는것이 불가능 하다는것이 말이 될꺼라 생각됩니다. 국내에서 유행하는 ACTIVE X 컨트롤등 말이죠. 솔직히 비IE 브라우저를 사용하시는 분들께서 원하는건 디자인이 깨진다 하더래도 모든 기능들이 IE 에서처럼 돌아가는 것입니다.

    모든 브라우저에서 디자인이 같게 보인다는건 여러가지 많은 지식과 경험이 필요합니다. 어떠한 특별한 상황이 닥쳤을때 예외도 있을꺼라는 생각을 해보지만 그것이 '실질적으로 불가능 합니다' 라는 말이 나올만한것이라 생각하지 않습니다. 흥미롭게도 오페라가 이번에 Acid2 테스트를 통과하였습니다.

혹시나 버즈삼구님의 글을 읽고 약간 오해하는 부분들이 있다 생각되어 적게되었습니다. 방문하시는 분들, 여러 많은 의견들 부탁드립니다.

덧글 및 토론들

JWC - 1번 항목에는 좀 동의가 안되네요 :roll: 웹 표준의 목적은 최대한의 호환성을 제공해서 메체가 특별한 기기나 브라우져에 구애받지 않고 모두에게 제작자가 의도한대로 프린트 해주기 위함이라고 생각합니다.

그렇지 않다면 웹 표준의 의미는 없어지며, W3C를 따를 필요성도 사라집니다.

다만 각 브라우져가 W3C 권고안을 100%지키지 못하고 각기 다른 엔진을 사용하기에 그 모습이 다르게 나온다고 생각합니다. :smile:

여담이지만 W3C 발리데이터는 패스하지 못해도 4대 브라우져(IE, 파폭, 오페, 사파)에서 문제없이 메체를 보여준다면 전 그것 역시 웹 표준이라고 부르고 싶네요.

nmind - JWC님 웹표준의 근본적인 목적은 브라우저 호환서을 제공하기 위함이 아니라고 생각합니다.

디자인과 컨텐츠를 분리하여 말 그대로 의미론적인 웹을 제공하자 함에 그 목적이 있다고 생각합니다.

브라우저에서 제대로 보여지는 것도 중요하지만 의미없는 태그로 점철되어진다면 그 또한 웹표준에서 벗어난다고 생각합니다.

국 내에서 CSS에 대한 이런 논의가 많은 것은 그만큼 기술적으로 정착이 되지 않았기 때문이라고 생각합니다. 버즈삼구님의 반론에서 언급된 내용들은 대부분 아직 웹표준에 의한 사이트 제작 기술에 익숙하지 않기 때문에 생기는 오해인 것 같습니다.

PRAK - 만약 제가 일모리님께서 말씀하신 “디자인과 문서의 분리가 가져오는 많은 이득”을 웹2.0이라는 context에서 구체화해 본다면, 그것은 아마 Perpetual beta에 적합하다는 것일 겁니다. 이제 웹사이트라는 것이 한번 만들어 놓고 줄창 가는 것이 아니라 사용자의 요구, 새로운 아이디어에 맞추어 지속적으로 컨텐츠나 디자인을 업데이트해야 하는 것이라고 할 때, 만약 각 디바이스에 따라 또 사용자 환경에 따라 따로 만들어둔 페이지들을 모두 수정해야 한다면 인력과 시간이 많이 필요하겠지요. 하지만 컨텐츠와 디자인이 분리되어 있으면 보다 더 빨리, 비용효율적으로 시장의 요구에 대응할 수 있게 되는 것 같습니다. 아마 이것이 CSS가 Perpetual beta로 유지되는 lightweight business model에 있어 가장 큰 잇점일 겁니다. 듣자하니 플릭커는 30분마다 새로운 빌드가 올라온다고 하지요..

이에관해 더 읽고 싶으시다면: nmind