왜 웹표준을 준수해야 하는지에 대해 잘 정리한 글이다.
출처 :
http://monoeyes.com/523여러분 가게에 물건 구경하겠다는 손님을 그냥 내쫓겠습니까?
손님이 시각장애인이라는 이유로 물건을 팔지 않겠습니까?
웹표준을 지키지 않으면 알게 모르게 놓치는 것들이 많습니다!
웹표준? 웹접근성? 그게 뭐길래?
웹표준을 지킨다 즉, 웹접근성을 높인다는 말은 무엇이고.
웹표준을 지키면 뭐가 좋길래 사람들이 웹표준, 웹표준 할까요?
똑같은 데이터를 가지고 있는 웹사이트가 있습니다.
웹표준을 지키면 검색엔진 노출이 잘 됩니다. 반면 그렇지 않으면 검색엔진 노출도 힘들어 집니다. 또한, 웹표준을 지키지 않으면 어렵사리 찾아온 고객을 내쫓는 경우도 발생합니다.
웹표준을 지키면 브라우저나, 장치, 기기에 관련없이 조금더 많은 사람에게 정보전달을 할 수 있습니다. 또한 검색엔진
유입량도 늘어납니다. 웹표준을 지키지 않으면, 우리 웹사이트에서 가지고 있는 정보가 모두에게 전달될 수 없습니다. 제한된 일부
사람들에게만 전달될 뿐이지요. 이것은 매우 비효율적 입니다. 똑같은 데이터를 가지고 있는데 웹표준을 지원하고 안하고는 웹사이트의
정보를 더욱 많은 사람에게 전달할 수 있고 못하고의 차이를 가져옵니다. 그 이외에 웹표준을 지키면 다양한 장점이 있습니다. 그
장점들을 소개해 드리겠습니다.
크로스브라우징
혹시 익스플로러에 최적화하여
사이트를 제작하셨습니까? 파이어폭스나, 사파리, 오페라 등 다른 브라우저에서 웹사이트 레이아웃이 문제없이 출력되며, 문제없이
작동되는지 확인해보셨나요? 웹표준을 지킨 웹사이트는 일단 크로스브라우징을 가능하게 해줍니다. 내가 만든 웹사이트를 방문하는
방문객이 익스플로러를 사용하든, 파이어폭스를 사용하던, 사파리나 오페라 등의 특이한 브라우저를 사용하든 늘 한결같은 모습을
보여줍니다. 아래의 그림을 보시면 이해가 쉽게 되시리라 생각됩니다.
물론 익스플로러의 점유율에 비하면, 아직은 보잘것 없는 파이어폭스나 사파리등의 점유율 입니다. 그렇지만, 단 한 명이라도 방문객을 더 유치하기 위해서라면 웹표준은 반드시 지켜야겠지요.
데이터와 디자인의 분리?!
이
말은 처음 웹표준을 접하는 분들께는 언뜻 이해하기 어려운 개념일 수 있습니다. 하나의 웹페이지를 흔히 우리가 다루는 A4 용지의
문서처럼 하나의 문서라고 가정합시다. 그렇다면 해당 웹페이지는 디자인을 배제하고 기본적으로 문서의 형태를 띄고 있어야 합니다.
그 기본적인 문서의 형태를 띄면서 데이터를 가지고 있는 것이 HTML 입니다. 그리고 이 HTML 페이지를 좀 더 다양하고
보기좋게 디자인 해주는 역할을 하는 것이 바로 CSS입니다.
CSS
Zen garden의 웹사이트 입니다. HTML 문서를 보세요. 큰 제목부터 작은 제목, 그리고 단락별로 들어가는 내용까지...
HTML 문서의 구조화가 잘 되어있지요? HTML 파일에는 손 하나도 안대고, CSS 만 교체하여 전혀 색다른 느낌의 웹사이트
디자인을 만들 수 있습니다. 잊지마세요. HTML은 문서!(데이터) CSS는 디자인 속성 저장!
모바일 기기를 위한 웹표준
CSS가
지원되지 않는 모바일 기기에서 여러분의 웹사이트는 접속을 원하는 이용자에게 정보전달을 제대로 하고 있나요? HTML데이터와
CSS디자인을 완벽하게 분리하여 웹표준에 따라 작성된 웹페이지는 CSS가 지원되지 않는 모바일 기기에서도 원하는 정보를 완벽하게
전달할 수 있습니다. (단, 와이브로나 휴대폰 전용 서비스로 개발된 웹페이지 제외)
CSS가 지원되지 않는 모바일기기에서 접속해도 충분히 원하는 정보를 얻을 수 있도록 데이터와 디자인이 잘 분리되어 있는 '다음'메인페이지의 경우(우측 핸드폰 사진은 합성한 것입니다)
데
이터와 디자인의 분리가 되지 않은 사이트는 모바일 기기가 아예 웹페이지를 해석하지 못하기도 합니다. 또한 CSS없이 사이트를
읽어들이면 아래 사진처럼 사이트가 폭격을 맞은냥 깨져서 출력됩니다. 사이트 이용이 전혀 불가능하게 됩니다. 조사결과 웹표준을
지키는 컴퓨터학원 홈페이지는 한군데도 없었고, 홈페이지 제작업체들도 웹표준을 거의 지키지 않고 있었습니다. 명색이 홈페이지로
돈벌어 먹고 사는 사람들이 말입니다. (위 사진은 합성된 이미지 입니다)
시각장애인을 위한 스크린리더기의 지원
웹은 평등합니다. 웹은 사람을 차별하지 않습니다.
하지만 언제부턴가 우리나라는 많은 디자이너/개발자분들께서 의미를 담은 웹페이지는 신경을 쓰고 있지 않습니다. 사이트는 테이블로
통자이미지를 덕지덕지 붙여서 보여주기에만 급급한 경우가 많고, 필요없는 플래시 U.I.를 남발하여 웹페이지의 의미를 알아볼 수
없게 만들고 있습니다. 앞을 못보는 시각장애인을 위한 사이트를 고려해보셨습니까? 웹표준을 지키면 시각장애를 가진 분들도
웹사이트를 편안하게 이용할 수 있게 해줄 수 있습니다. 그래서 웹접근성도 한층 높아집니다.
계속 강조하는 것이지만, HTML 문서를 코딩할 때는 꼭 의미에 맞는 코딩을 해야합니다.
예
를 들어서, 강조하고 싶은 문장이 있는데, 해당 부분을 <b> 태그로 감싸면 글씨만 굵어질 뿐, 브라우저나
스크린리더기는 해당 문장을 중요문장으로 취급하지 않습니다. 웹표준에 맞는 태그는 <b>태그가 아니라
<strong>입니다. 이처럼 웹표준에 부합하는 태그들이 있습니다. 숙지하시어 사용하시기를 권장합니다.
사이트 디자인 관리 시간 단축데
이터와 디자인의 분리. 즉, HTML 페이지는 말그대로 문서상태이고, CSS를 통해서 웹페이지를 디자인 합니다. 그러면,
CSS를 여러개 만들었을 경우, CSS 파일의 경로를 변경하는 것 만으로 새로운 디자인으로 사이트를 리뉴얼 할 수 있습니다.
또한 기존에는 사이트에 이미지나 스타일 하나만 변경하더라도 페이지마다 다 바꿔주어야 하는 번거로움이 있었습니다. 하지만 HTML
과 CSS의 분리는 이런 작업시간까지 단축시켜 주었습니다. CSS에서 코드 한 줄만 수정해주면, 수백~수천페이지의 디자인이
한꺼번에 변경이 가능하게 되었습니다. 이것은 추가적으로 웹사이트 관리 비용절감의 효과도 가져옵니다.
디자인을 수정해야하는 페이지가 12500페이지라면 여러분의 선택은?
검색결과 상단에 노출되고 싶으세요? 그럼 웹표준을 지키세요!
실
제로 똑같이 그래픽 처리가 된 두개의 웹사이트가 있다고 가정합시다. 하나의 사이트는 데이터와 디자인 분리를 하지 않고 많은
사이트이고, 다른 하나는 데이터와 디자인을 완벽하게 분리하여, 웹페이지의 내용과 의미를 정확하게 담고 있습니다. 겉보기는
똑같지만 속은 완전히 다른 사이트이지요. 한 쪽은 페이지의 의미를 정확하게 담고 있고, 한쪽은 페이지의 의미가
해석불분명하니까요.
이것은 검색결과에 상당한 영향을 미칩니다. SEO에서 웹표준은 많은 부분을 차지합니다.
검
색엔진의 검색결과 상단에 노출되기 위해서 메타태그나 title 태그의 활용, 본문에서 주력 단어의 빈도수 노출 등 많은 부분이
널리 알려져서 활용되고 있습니다. 그렇지만 아직까지, 웹표준을 지키면 검색엔진의 검색결과 상단에 컨텐츠가 노출된다는 사실은
그다지 많이 알려져 있지 않습니다.
대표적으로 H1, H2, H3 ... 제목 태그인 h 태그의 SEO는 막강합니다.
저
의 블로그 제목은 '쏭군은 열정 드리머' 입니다만, CSS를 이용하여 MONOEYES라는 블로그 제목으로 이미지 치환 해두어
텍스트는 감추어 두었습니다. 보이지만 않을뿐 문서의 대제목은 '쏭군은 열정 드리머'라는 속성을 항상 가지고 있는 것입니다.
구글에서 검색한 결과 최상단에 H1 태그가 검색되어 출력됩니다.
포
스팅 제목의 경우 검색엔진에서 검색되는 빈도가 많아야 하는 중요한 부분인 만큼, 문서 대제목인 H1 다음으로 H2를 주었습니다.
H1 보다 중요도는 떨어지지만, 단락의 대제목으로서 검색엔진 검색결과에서 만족스러운 노출을 보여줍니다. 위의 사진은 CSS를
제거했을 때, 포스트 제목이고, '디올 어딕트'라는 디올의 제품을 구글에서 검색했을 때, 가장 상단에 쏭군의 블로그가 노출되는
것을 보실 수 있습니다.
DIV와 TABLE 논란은 문제의 본질이 아닙니다
많은
분들이 DIV=웹표준, TABLE=비표준이라는 인식을 가지고 계십니다. 문제는 DIV냐 TABLE이냐가 아닙니다. DIV나
TABLE은 모두 웹페이지를 작성하기 위한 '도구'일 뿐이지, 그 자체가 '웹표준이냐 아니냐'를 가늠하는 목적이 될 수
없습니다.
TABLE은 데이터를 출력하기 위해 존재하지 레이아웃 짜라고 존재하는 것이 아닙니다
테
이블은 말그대로 데이터들을 표형식으로 출력해야 할 필요성이 있을때만 사용합니다. 테이블로 레이아웃을 만들게 되면, 웹페이지의
로드 속도도 느리게 되고, 웹페이지를 수정할 곳이 생기면 자칫 페이지 전체를 뜯어내야하는 대공사가 발생될 수 있습니다.
TABLE에 없는 DIV의 장점
모
듈화? 디자인을 하시는 분들께는 말이 어렵지요. 하지만 간단한 뜻입니다. 필요한 부분을 마음껏 떼어서 쓸 수 있게 웹사이트를
만들 수 있다고 생각하시면 됩니다. 예를 들어, 테이블로 웹사이트 레이아웃을 구성하면 로그인 박스 하나를 바꾸기 위해서
웹페이지의 다른 부분도 영향을 주거나, 웹페이지 전체를 뜯어내야 하는 경우가 대부분입니다. 그렇지만 DIV로 작업을 하면 원하는
박스만 떼어서 디자인을 수정할 수 있고, 또 그 박스는 얼마든지 다른 페이지에 자유롭게 붙였다 뗐다 하면서 재활용이 가능합니다.
게다가 TABLE 레이아웃을 구성할때보다, 작업의 속도나 사이트 관리적인 측면에서 훨씬 이득을 볼 수 있고, 페이지 로드도 테이블 레이아웃 보다 빠릅니다.
하지만 TABLE이 꼭 필요한 곳은 테이블을 쓰세요
테이블을 이용해서 웹사이트의 레이아웃을 짜면 나쁜 것 입니다. 하지만 반드시 테이블이 들어가야 할 곳이 있습니다. 반드시 데이터형식을 표방식으로 보여주어야 하는 곳은 테이블을 쓰는편이 낫습니다.
테이블을 유용하게 활용하고 있는 올블로그와 네이버
만
약 위의 프리미어리그 점수판을 표를 사용하지 않고 DIV나 LI 를 이용해서 표현했다고 가정합시다. 그 페이지의 CSS가
지원되지 않을때 오히려 팀별로 득점이나 승점을 보기가 힘들어집니다. 이런 표형식의 데이터는 TABLE을 사용하는 것이 더욱
웹표준에 부합합니다. 또한 CSS를 깼을때도 점수표를 깔끔하게 출력할 수 있구요. 반드시 이런 데이터처리에만 TABLE을 쓰시고
어지간하면 사용하지 않는 것을 권장드립니다. 더구나 TABLE로 레이아웃을 짜는 비통한 일은 다시는 있어서는 안 되겠지요.
데이터를 표시하라고 하사한 TABLE 이거늘.. 그걸로 홈페이지 레이아웃을 만들면 원래 목적에도 어긋날 뿐 아니라 원통하기 까지
합니다.
스크립트 사용시될 수 있으면
스크립트 사용을 자제하는 것이 좋습니다. 부득이 스크립트를 사용해야 하는 경우라면, 모든 브라우저에서 작동되는 스크립트를
사용하시고, 스크립트가 지원되지 않는 환경을 위해서 스크립트 없이도 웹사이트를 이용할 수 있도록 차선책을 미리 만들어 두시는
것을 권장합니다.
서버 부하를 덜어줌디자인 정보를 CSS에 저장함으로서, 관련 소스코드를 획기적으로 줄일 수 있습니다.
또한, CSS는 캐싱되어 웹사이트에 최초 접속할 때 한번만 로드되므로, 서버 부하를 획기적으로 줄여줄 수 있고, 규모가 큰 사이트라면 비용 절감 효과도 가져올 수 있습니다.
긴 글 읽느라 고생 많으셨습니다. 글쓴이를 표기하신다면 본 문서를 상업적으로 이용하셔도 되고, 어디에나 퍼가셔도 됩니다. 웹표준을 처음 접하시는 분들께 도움이 되고자 작성한 문서인데. 조금이나마 도움이 되셨으면 좋겠습니다.