Daybreakin Things

Posted
Filed under 컴퓨터

dolufy 님의 답글 및 블로그를 보고 트랙백합니다.

우선, 웹표준을 지키는 것과 테이블 레이아웃은 별개의 문제입니다. w3c에서 테이블 쓰지 말라고 한 적도 없구요. 저를 비롯해서 많은 분들이 혼동하는 것 중에 하나가 바로 그 점입니다. 웹 접근성을 지키기 위해서 테이블을 쓰지 말라는 것이지, 웹표준을 지키기 위해서 테이블을 쓰지 말라는 게 아니라는 거죠. (웹표준 지키면서 테이블 레이아웃 쓰는 거 얼마든지 가능합니다. 제가 태터툴즈의 제작자이신 JH 님께 건의하는 글을 보시면 좀더 이해가 되리라 생각합니다.)

웹 접근성이라 하면 또 많이 하실 수 있는 오해가, 장애인들을 위한 지침들을 지키는 것 정도로 생각할 수 있다는 점입니다. 그러나 접근성은 사실 장치 독립성의 문제에 더 가깝습니다.

dolufy 님의 포스트에 답글을 다신 oseb 님의 말처럼 옛날 브라우저 같은 경우는 CSS를 지원하지 않습니다. 그리고 현재 모바일 기기들(PDA나 휴대전화 등) 또한 기초적인 것만 지원할 뿐 레이아웃을 하는 데 사용되는 고급 CSS 기법들은 전혀 먹지 않습니다.

이때 생각해야 할 것이, 모든 장치에서 디자인을 동일하게 보이도록 하는 게 접근성을 지키는 것이 아니라는 점입니다. 장치마다 그 장치에 맞도록 표시되는 것이 가장 이상적이죠. (여기서 말하는 장치에는 시각장애인용 웹브라우저 등도 포함합니다) 하지만 그렇다고 각각에 대해 다 다른 웹페이지를 만들어야 할까요?

웹표준이 제시하는 것은 올바른 XHTML 문서를 만들고, 디자인을 CSS로 분리하라는 것입니다. XHTML 문서는 지극히 단순한 태그들로만 이루어집니다. 모든 레이아웃과 디자인은 CSS에 정의되어 있지요. 그러면 CSS나 고급 테크닉들을 지원하지 않는 장치나 예전 웹브라우저에서는 XHTML만 자체 방식대로 표시하면 되는 겁니다.

여기서, 테이블을 쓴다는 것은 XHTML 문서 자체에 디자인 요소가 포함된다는 것을 뜻합니다. 게시판 글목록, 달력, 자료 표시처럼 테이블을 꼭 써야 할 부분들이 있지만, 레이아웃을 테이블로 하게 되면 장치 종속적이 되어버립니다. 일반 PC의 웹브라우저에서는 잘 보이겠지만, PDA 처럼 작은 화면을 가진 장치들에서 볼 때는 엄청난 스크롤을 해야 할 것이고 사용자의 불편을 초래하겠지요.

웹과 인터넷이 앞으로 모바일 기기로 점점 확장되어 나갈 것이라는 데 이견을 달 사람은 없을 것입니다. 이미 일어나기 시작한 일입니다. 제 블로그 우측 상단에 보면 HTML을 건드리지 않고 CSS만 바꿈으로써 모바일용 스킨과 심플 모드 스킨을 구현한 것을 볼 수 있을 것입니다. 아직까지 모바일 기기의 브라우저들이 표준에 대한 지원(link 태그의 media 속성)을 많이 하지 않아 실제로 저 스킨이 지금 당장 적용되지는 않습니다. (관련 포스트 1, 관련 포스트 2, 웹 표준의 현실성 참조)

웹의 근본 정신을 회복하고 접근성을 높이자라는 게 원래 목적이며 취지임을 아셨으면 좋겠습니다. table 레이아웃은 극히 작은 부분일 뿐이구요.

덧/ 일모리 님의 글들을 참고하세요.
웹표준의 잘못된 문구사용
테이블을 사용하는것 당연히 옵션입니다
또한 태우 님의 7월 블로그 포스트들도 참고하시기 바랍니다.
태우's log (2005/07)

덧/ 하드 코딩과 위지윅 중 어느 것이 더 나쁘다고 말할 수는 없습니다. 하지만 제대로 된 XHTML 문서 구조를 만드는 건 위지윅을 쓴다고 하더라도 하드 코딩하는 것에 비해 더 나은 결과를 얻기는 어렵다는 점이 있습니다. 위지윅을 사용하더라도 XHTML에 대한 이해가 있으면 괜찮지만, 그렇지 않고 순수하게 위지윅만 쓰게 되면 테이블 레이아웃의 함정에 빠질 수 있다는 것이지요.
특히 제가 강조하고 싶은 부분은 툴에 의해 만들어지는 겉모양이 중요한 게 아니라는 것, XHTML 문서의 의미가 무엇인지 그 내면을 볼 수 있어야 한다는 점입니다.