XHTML, HTML, CSS 그리고 테이블

용어의 혼돈으로 단문으로 쓰는 것이 좋을 것 같아서 차분하게 정리해 봅니다.

사실

1. XHTML1.1+CSS2.0은 현재 표준이라고 불리우지만, 영문으로는 권고라고 한다.

2. XHTML은 HTML의 확장판이며, HTML을 포함하고, XML형식의 모든 언어를 포함하는 구조를 지칭한다.

3. CSS에서 말하는 접근성은 일반적으로 시작장애자나 마우스가 없는 컴퓨터에서 쓸 수 있도록 만든다는 의미의 접근성과는 틀리다. 사람이 대상이 아닌 프로그램이나 기기(device)가 인식하기 쉽도록 한다는 의미이다. 예를 들어서 제목을 H 태그로 쓰면 다른 프로그램은 그 문단이 제목 혹은 중요한 문단이라는 것을 알고 가중치를 부여하는 등의 행위를 할 수 있게 된다.

4. CSS만으로 레이아웃을 하는 것은 어려운 작업이다. 하지만, 불가능한 것은 아니다. 일반적으로 테이블로 디자인 했을 경우 같은 디자인이라도 CSS만으로 만들면 경우에 따라서 뉴스가 된다.

주장

1. 테이블 레이아웃은 생산성 면에서 CSS 레이아웃보다 뛰어나다.

2. 유지 보수 측면에서도 CSS 레이아웃은 테이블 레이아웃보다 나은 점이 없다. 왜냐하면 테이블 레이아웃은 그 자체로 문서와 하나가 되지만, CSS는 보통 별도의 파일에 레이아웃이 스타일만으로 들어가 있기 때문에 다른 사람이 만든 디자인을 분석하는 것은 쉽지 않다. Yahoo!은 선도적으로 XHTML과 CSS만으로 첫페이지를 꾸몄는데, 그 소스를 보고 디자인을 수정하는 것을 상상해보자.

3. XHTML과 CSS레이아웃은 경우에 따라서 양립하기가 쉽지 않다. 왜냐하면 XHTML은 모듈의 결합을 추구하는데, 여기서 모듈이란 컨텐츠 만이 아니라 디자인까지 포함된다. 10가지 모듈이 DIV태그에 쌓어여 존재할 때, 디자인에 따라서 모듈간 감싸는 DIV 태그는 틀리다. 이 말은 CSS파일의 수정 만으로는 디자인 변경이 불가능하다는 의미다. 원래의 XML은 완벽하게 디자인과 문서가 분리된다. 하지만, XHTML은 그렇지 못하다.

4. 경험상 가장 편한 제작방법은 레이아웃을 테이블로 잡고, 각각의 모듈만을 DIV로 감싸는 것이다. 특별한 디자인이 필요할 경우(메뉴나 라운드가 들어간 사각형), 일부러 CSS만으로 디자인 할 필요는 없다. 보통 이런 경우 익스플로러와 사파리, 혹은 파이어폭스 간의 호환성을 맞추기 위해서 많은 시간이 투자되어야 하기 때문이다.

5. 이종기기간 호환성은 환상이다. 마치 컴퓨터를 살 때 CPU 교환이 되어 미래에도 사용할 수 있다고 홍보하는 것과 마찬가지이다. 컴퓨터가 구형이 되면 CPU와 램 확장만으로 원하는 성능을 얻는 것은 사실상 불가능하다. 마찬가지로, 어떤 웹사이트에서 모바일용 웹사이트를 런칭한다고 하면 그것은 새로 제작되어야 한다. 디자인, 프로그램 그리고 비지니스적인 면에서 봐도 마찬가지다.

6. 이종기기간 호환성과는 별개로, 브라우져간 호환성은 매우 중요하다. 특히 돈을 받고 이미지 광고 같은 것이 있을때는 더욱 그렇다. 만약 브라우져간 호환성이 없어서 페이지가 제대로 보이지 않을 때에는 세이클럽처럼 호환성이 없는 브라우져에서 아예 서비스를 하지 말아야 한다.

7. 브라우져간 최고의 호환성은 CSS를 쓰지 않는 것이다. 브라우져 호환성은 익스플로러나 사파리, 파이어폭스 만을 말하는 것이 아니라 각 브라우져 별 버젼 호환성을 포함한다. Google의 검색 첫화면의 소스를 보도록 하자. 테이블 레이아웃이고, XHTML이 아닌 HTML로 제작되어 있다. 현재까지 하휘 호환성은 브라우져별 호환성과 마찬가지로 중요하다.

8. 흔히 말하는 접근성은 CSS로 레이아웃을 잡느냐 테이블로 잡느냐와는 상관이 없다. 보통, 키보드만으로 사용이 가능한지 혹은 800*600의 256컬러로도 제대로 보이는지 등을 말하고, 그것은 디자인 자체와 HTML 코드의 사용에 기인한다.

9. XHTML에서 말하는 표준과 파이어폭스에서 제대로 안보인다 라고 할 때의 표준은 전혀 다른 말이다. 일반적으로 표준이 아니다라고 말 할 때에는 익스플로러에만 있는 Javascript나 태그를 사용하는 것을 지칭한다.

다음 부터는 어이없는 예측

W3C가 HTML, XHTML 그리고 CSS를 포함만 많은 부분에서 권고를 발표하는 것은 제 생각에는 웹페이지 제작자가 참고해야 될 부분이 아니라 브라우져 제작자가 참고해야 할 부분입니다. 연구&개발이 아닌 다음에야 원하는 디자인을 보여주는 것이 목적이 아닐까요?

표준을 따르는 것 자체가 목적이 되면 앞뒤가 바뀌는 것이 아닐까 합니다.

One thought on “XHTML, HTML, CSS 그리고 테이블

Leave a Reply

Your email address will not be published. Required fields are marked *