본문으로 바로가기

웹표준의 이해

category 웹개발론/웹표준, 접근성 2012. 11. 26. 01:47

웹표준이 대두된지 많은 해가 흘렀다. 기본적인 개념정리는 하고 넘어가자.

웹표준(Web Standard)이란?

'웹에서 표준적으로 사용되는 기술이나 규칙'을 의미하며, 이는 특정 브라우저에서만 사용되는 비 표준화된 기술은 배제하고 W3C의 토론을 통해 나온 권고안(recomendation)을 사용하는 것을 말하며, 웹 문서의 구조와 표현, 그리고 동작을 구분해서 사용하는 것을 뜻한다.

1. 접근성

'모든 사용자가 신체적, 환경적 조건에 관계없이 웹에 접근하여 이용할 수 있도록 보장하는 것'을 의미한다. 마우스가 없는 환경이나 키보드만을 조작해야 할 경우, 신체적 장애로 인해 특수한 환경하에 접속해야 되는 경우, 브라우저별, 모바일 환경에서 접속해야 되는 경우와 같이 다양한 플랫폼에서도 정보제공에 다름이 없어야 한다.

우리나라 대부분의 사이트는 Internet explorer 환경에만 최적화 되어 있으며, ActiveX, Flash, Image의 과도한 사용과 웹표준을 준수하지 않은 코딩 등으로 다양한 기술적 환경을 지원하지 못하고 있으며, 신체적 제한조건을 가진 고령자나 장애인 등이 이용 하기에 불편한 부분이 많다. 웹접근성을 준수한 사이트는 기술적 환경이나 신체적 조건에 관계없이 웹 콘텐츠를 이용할 수 있도록 해 준다.

웹 콘텐츠 접근성 지침(WCAG)

인지성(Perceivable)

정보와 사용자 인터페이스 요소는 그들이 인지할 수 있도록 사용자에게 표시될 수 있어야 한다.

  • 모든 텍스트가 아닌 콘텐츠에 대체 텍스트를 사람들이 원하는 인쇄, 점자, 음성, 기호 또는 간단 언어 등과 같은 형태로 제공해야 한다.
  • 시간을 바탕으로 한 미디어에 대한 대안을 제공해야 한다.
  • 정보와 구조의 손실 없이 콘텐츠를 다른 방식(예를 들면 더욱 간단한 형태로)들로 표현할 수 있어야 한다.
  • 사용자들이 보다 쉽게 보고 들을 수 있는 전경에서 배경을 분리한 콘텐츠를 만들어야 한다.
운용성(Operable)

사용자 인터페이스 요소와 탐색은 운용 가능해야 한다.

  • 키보드로 모든 기능을 사용할 수 있도록 해야 한다.
  • 읽기 및 콘텐츠를 사용하는 사용자에게 충분한 시간을 제공해야 한다.
  • 알려진 방법으로 발작을 일으킬 수 있는 콘텐츠를 디자인하지 않아야 한다.
  • 사용자가 탐색하고, 콘텐츠를 찾고 그들이 어디에 위치하고 있는지를 알 수 있도록 도와주는 방법을 제공해야 한다.
이해성(Understandable)

정보와 사용자 인터페이스 운용은 이해할 수 있어야 한다.

  • 텍스트 콘텐츠를 판독하고 이해할 수 있도록 만들어야 한다.
  • 웹 페이지의 탑재와 운용을 예측 가능한 방법으로 제작해야 한다.
  • 사용자의 실수를 방지하고 수정할 수 있도록 도와야 한다.
내구성(Robust)

콘텐츠는 보조 기술을 포함한 넓고 다양한 사용자 에이전트에 의존하여 해석될 수 있도록 충분히 내구성을 가져야 한다.

  • 보조 기술을 포함한 현재 및 미래의 사용자 에이전트의 호환성을 극대화해야 한다.

한국형_웹_콘텐츠_접근성_지침_2.0_20101231.pdf



웹접근성은 법적으로 강제할 수 있습니다. 이는 장애인 차별 금지법에 근거하여 그 효력을 발휘합니다. 사이트를 제작시 상업적인, 혹은 공적인 사이트를 제작하게 된다면 이를 염두에 두어야 합니다. 차후에 수정할때 금전적, 시간적 낭비를 줄이기 위해서라도 처음부터 웹접근성에 입각하여 제작하길 바랍니다.

2. 구조와 표현의 분리

웹 표준을 준수함으로써 웹 문서 파일의 용량을 줄일 수 있고 이로 인한 트래픽 감소 효과를 얻을 수 있다. 이는 물리적인 서버용량의 증가를 막을수 있기 때문에 경제적인 효과를 얻을 수 있다.

단편적인 예로, 웹 표준을 준수하는 사이트는 구조와 표현을 분리해서 개발하기 때문에 사이트의 용량이 기존에 비해서 현저히 적어진다. CSS는 HTML과 구조가 분리되어 있기 때문에 한 번 해당 페이지를 불러오게 되면, 브라우저의 캐시에 CSS가 저장되고 메모리에 상주하게 되어 동일한 CSS는 다시 불러오지 않아 HTML 코드가 가벼워지게 되는 것이다.

※ HTML을 캐시하지 않는 이유

 -  HTML은 정적이지 않으므로  javascript와 같은 동적인 기능을 구현할때 그 구조가 자주 변한다.

3. 사이트 개발및 유지 보수

구조와 표현을 분리하기 때문에 사이트 개발시에 코딩 & 디자인 & 프로그래밍이 동시에 진행될 수 있기 때문에 개발 기간이 많이 단축되며, 웹페이지가 단순화되어 디버깅에 유리하다. 또한, 손쉽게 디자인만을 변경하여 리뉴얼 시킬 수 있어 유지 보수에 용이하다.

4. 검색 친화적인 웹 사이트 구현

meta 요소를 이용한 정확한 문서 정보의 제공과 적절한 제목(heading 요소)의 사용, 의미에 맞는 마크업은 검색 시 결과에 영향을 미칠 수 있는 중요한 정보이다. 따로 홍보를 위한 비용을 지출하지 않더라도 충실하게 작성된 문서 정보만으로도 검색의 효율성을 높일 수 있다.

5. 호환성의 확보

표준 웹 기술을 사용하게 되면, 기종 혹은 플랫폼에 따라 달리 보이거나 혹은 의도된 바와는 전혀 다른 모습의 사이트가 보이게끔 하는 것을 방지할 수 있다.

물론, 국내의 브라우저 이용현황이 웹표준 준수에 미약한 IE 점유율이 높기 때문에 모던 브라우저들(크롬, 사파리, 파이어폭스, 오페라)을 위한 웹표준으로 웹문서를 작성한 후 IE를 위한 작업을 따로 해야 하는 경우가 많은 것이 사실이다. 외국에서는 IE를 Stupid Browser라 칭하며 그 사용을 꺼려하고 있으며 혹시나 아직도 IE8 이하의 브라우저들을 사용하고 있다면 모던 브라우저들로 바꾸어 보는 걸 추천한다.