1 서론

2 웹 표준이 무엇인가요?
2.1 W3C 표준
2.1.1 W3C는 무엇인가요?
2.1.2 W3C는 어떤 활동을 하나요?
2.1.3 W3C 표준은 무엇인가요?
2.1.3.1 HTML 4.01
2.1.3.2 XML 1.0
2.1.3.3 XHTML 1.0, 1.1, XHTML 모듈화
2.1.3.4 CSS (Cascading Style Sheet)
2.1.3.5 DOM
2.2 ECMA 표준
2.2.1 ECMA는 무엇인가요?
2.2.2 ECMA는 어떤 활동을 하나요?
2.2.3 ECMA 표준은 무엇인가요?
2.2.3.1 ECMA 스크립트

3 웹 표준을 사용하면 어떤 장점이 있나요?
3.1 접근성
3.1.1 소프트웨어/기계 관점
3.1.2 인간 관점
3.2 안정성

4 결론

1 서론

Tim Berners-Lee는 그가 발명한 World Wide Web이 공동작업이나 놀이, 또는 사교적 활동을 위해서 사용자들의 정보를 공유할 수 있는 공동의 장소가 되길 바랍니다(The World Wide Web, A very short personal history). 사업적, 사회적, 교육적 사이트를 구축하는 웹개발자로써, 우리는 이 꿈을 현실화합니다.

그러나 오늘날의 급성장기의 웹은 그 가능성을 충분히 발휘하기 위해서 안내가 필요합니다. 웹 표준이 이 안내입니다. 웹 표준은 우리가 제공하는 정보를 모든 사람이 접근할 수 있도록 하며, 보다 빠르고 즐거운 웹 개발을 가능하게 합니다.

표준 준수는 웹을 이용하기 위해서 특별한 요구를 갖는 사람들이 보다 쉽게 웹을 이용할 수 있도록 합니다. 시각장애인은 웹문서를 읽어주는 컴퓨터를 사용할 수 있습니다. 약시의 사람들은 페이지를 쉽게 읽기 위해서 모양을 바꾸거나, 확대하고 있을지도 모릅니다. 그리고 휴대폰 사용자는 고성능의 워크스테이션을 사용하는 것처럼 간단하게 페이지를 읽을 수 있습니다.

지금부터 설명하듯이, 많은 실용적인 이유때 문에 웹개발자는 웹 표준에 관심을 가져야 합니다. 예를 들어, 검색엔진들은 더욱 효율적으로 사이트를 인덱싱할 수 있습니다. 특정 브라우저를 위한 코드를 사용하면 웹문서를 작성하기 위해서 종종 2~3배 이상의 노력을 필요로 하며, 또한 새로운 미디어가 도입될 경우 많은 문제에 직면하게 됩니다. 웹 표준에 의한 건전한 방향이 설정되지 않을 경우, 이 사태는 보다 심각해지겠죠.

웹 표준이 한정적이라며 부정적으로 생각하는 사람도 있습니다. 실제로 웹 표준은 웹개발 과정의 대부분의 지루한 업무를 제거하여, 개발자에게 시간적 여유를 주며, 개발자가 더욱 창의적일 수 있도록 합니다. 웹 표준은 미래 발전의 주춧돌이며, 과거의 기술을 소중히 하는 것이기도 합니다.

웹 표준이 넓게 규정되지 않으면 아직 현실화하지 않은 것을 포함할 수 없고, 대부분의 웹의 이용하는 형태가 불가능하거나 어려워지겠죠. 현재 매우 일반적이며, 전세계 공통적으로 이용되는 것처럼 생각되는 시스템이나 소프트웨어가 존재합니다. 그러나, 향후 어떤 일이 발생할지 누구도 예측할 수 없습니다. 어느 기업에 의한 독점은 우리 미래에 행운과 불운의 모두를 가져다 줍니다. 보편적인 웹 표준을 유지함으로써, 현재(또는 그 이상)의 속도로 기술 혁신이 일어난다고 하더라도 웹을 존속시킬 수 있습니다.

웹 표준 전부를 이해하는 것은 무척 어렵지만, 우리는 웹 표준에 대해서 보다 깊은 이해가 필요함에 따라 Web Standards Project (웹 표준 프로젝트, WSP)를 설립했습니다. 이 문서는 그저 출발점 밖에 지나지 않습니다. 그러나 이 문서를 통해서, 어떠한 웹 표준이 왜 존재하며, 이것들에 대해서 왜 관심을 가져야 하는지에 대해서 충분히 이해할 수 있습니다. 우리는 웹문서를 제작할 때마다 웹이라고 하는 공동의 정보 공간에 기여하고 있습니다. 우리는 웹을 크게 만들 수도, 산산조각 낼 수도 있습니다. 선택은 우리의 몫이며, 결과는 모두가 공유합니다.

2 웹 표준이 무엇인가요?

2.1 W3C표준

2.1.1 W3C가 무엇인가요?

The World Wide Web Consortium(W3C)은 "웹의 잠재된 가능성을 이끌어내는 것"을 목적으로 한 국제적인 컨소시엄입니다. 웹의 발명자인Tim Berners-Lee이 총장을 근무하고 있으며, 1994해에 창립되었습니다. W3C에는 Microsoft, America Online (현재 Netscape Communications 포함), Apple Computer, Adobe, Macromedia, Sun Microsystems 등과 같은 하드웨어 및 소프트웨어 전반의 제작사와 컨텐츠 제공사, 교육 기관, 전기 통신 회사 등을 포함한 450여 회원사로 구성되어 있습니다. 컨소시엄은 미국의 MIT, 유럽의 INRIA, 일본의 Keio 대학 3곳에 위치해 있습니다.

2.1.2 W3C는 어떤 활동을 하나요?

W3C은 웹 관련 제품의 상호 호환성을 향상시키기 위한 개방적인 규격(사실상 표준)을 작성합니다. W3C의 규격은 컨소시엄 멤버와 멤버 외의 전문가로 구성되는 위원회에 의해서 작성됩니다. 위원회는 웹 어플리케이션 제작사와 단체로부터의 합의를 얻어서 권고 초안과 권고안을 작성합니다. 이것들은W3C멤버와 총장에게 제출되어 W3C권고로서의 공식 승인을 받습니다. 이 과정과 재검토 단계에 대한 자세한 것은 W3C 웹 사이트에서 확인할 수 있습니다.

2.1.3 W3C표준이 무엇인가요?
2.1.3.1 HTML 4.0 – HyperText Markup Language

HyperText Markup Language(HTML)은 텍스트 문서에 데이터 구조를 추가하기 위해서 웹에서 널리 사용되고 있습니다. 브라우저는 이러한 문서를 해석하고, 사용자에게 각 미디어에 특화된 방법으로 구조화 된 정보를 구현합니다. 예를 들어 대부분의 브라우저는 강조항목(<strong> … </strong>)을 굵은 글씨로 표시하지만, 텍스트음성변환 리더기의 경우 강한(큰) 소리로 읽을지도 모릅니다.

Cascading Style Sheet(CSS)를 사용함으로써, 웹개발자는 브라우저의 기본적인 표현을 무효화 시키고, 구조 항목들에 대한 표현을 정의할 수 있습니다.

2.1.3.2 XML 1.0 – Extensible Markup Language

XML 문서의 예

<addressbook>  <entry>   <name>Bill Gates</name>    <email>bgates@microsoft.com</email>  </entry>  <entry>   <name>Marc Andreesen</name>   <email>marca@netscape.com</email>   </entry>  <entry>   <name>Jon S. von Tetzchner</name>   <email>jon@opera.com</email>  </entry> </addressbook>

Extensible Markup Language(XML)은 HTML과 같은 마크업 언어입니다. 그러나, 정해진 구조 정의 세트가 하나만 있는 것이 아니라, 개발자가 스스로 세트를 정의할 수 있으며, 다른 사람이 작성한 세트를 이용할 수도 있습니다. 게다가 XML 이름 공간을 이용하면, 하나의 문서 안에서 복수의 세트를 이용하는 것도 가능합니다.

XHTML이나 MathML와 같이, 몇몇 XML의 적용 예는 이미 W3C 의 권고가 됐으며, 다른 것은 현재 W3C 초안입니다.

CSS나XSL이라고 하는 스타일시트 표준은 XML요소가 어떻게 표시될지 지정하기 위해서 이용됩니다. CSS와 XSL 모두, 다른 미디어를 위한 다른 스타일을 지정할 수 있습니다. 이 때문에 일반적인 미디어, 음성 미디어, 점자 미디어, 또 다른 미디어처럼 다른 스타일·세트를 이용할 수 있습니다.

XML은 HTML보다 유연성이 풍부합니다. 개발자 스스로 요소를 추가하거나 독자적인 구조 시스템을 만들 수 있기 때문입니다. 이로 인해 XML은 대량의 데이터를 갖는 조직을 위한 이상적인 형식이며, 이미 많은 데이타베이스나 검색엔진에 사용되고 있습니다.

2.1.3.3 XHTML 1.0, 1.1, and Modularization

XHTML 1.0은 XML의 응용으로서 HTML을 재구성한 것입니다. XHTML 1.0 은 HTML 4.01로부터 개념적인 영향을 받았고, XML의 영향으로 기술적으로 보다 엄격합니다.

XHTML은 상응하는 HTML과 동일하게 브라우저에 표시됩니다. 일반 웹용 문서를 PDA용으로 재가공할 가능성이 있는 경우처럼 컨텐츠를 재가공해야 할 때, XML의 엄격한 구문 규칙으로 작성된 XHTML이 일반적인 HTML보다 편하고 쉽게 할 수 있습니다.

개념적으로 XHTML 1.0이 상속하는 HTML 4.01의 일반 개념 :

  • 문서의 표현과 구성이 스타일 시트에 의해서 분리돼야 합니다.
  • 문서가 접근 가능해야 합니다.
  • 문서가 국제화돼야 합니다.

또한XHTML 1.0은 Strict, Transitional, Frameset이라는 세 개의 DTD 모델을 이용합니다. 이 모델은 HTML 4.0으로 태어나 그 후 HTML 4.01 에도 사용되고 있습니다.

XHTML이 포함하는 XML의 중요한 기술적 관례 :

  • 모든 문서 형식은 정확한 DOCTYPE(문서) 선언에 의해서 선언되어야 합니다.
  • XHTML 이름 공간을 선언한 html 요소, title를 포함한 head 요소, body 요소를 포함한 문서의 구조가 DOCTYPE 선언과 일치돼야 합니다
  • 요소와 속성은 모두 소문자로 작성돼야 하며, 모든 속성값은 인용부호로 감싸져야 합니다.
  • 모든 채움 요소(예: p,li)는 종료 태그로 제대로 닫혀져야 합니다.
  • 모든 빈 요소(예: br,hr,img)는 slash (/)로 제대로 닫혀져야 합니다. ()
  • 선언된 DTD 검증으로부터 문서가 유효해야 합니다.

템플릿은 Learn >Templates에서 확인할 수 있습니다.

XHTML 1.1 은 3가지 주요 구성 :

  • XHTML 1.0 Strict DTD (작은 변경)
  • XHTML 모듈화
  • 루비 주석

XHTML 1.1 문서를 작성하기 위해서는 몇 가지 방법이 있습니다. 첫째는 public XHTML 1.1 DTD 을 사용하는 방법입니다. 이 방법에 따르면, XHTML 1.1에 표현을 위한 속성이 거의 없기 때문에 매우 체계적으로 작업이 진행될 것입니다. 이 때 구조와 표현의 분리가 완성되며, 표현에 관련된 모든 작업은 스타일 시트로 진행합니다.

XHTML 1.1로 문서를 작성하는 또 하나의 방법은 XHTML 모듈화를 이용하는 것입니다. 이 방법은 HTML과 XHTML의 익숙한 구성요소(텍스트, 테이블, 프레임, 폼과 같은 것)를 개개의 덩어리로 분할하는 것입니다. 그 다음에 자신의 DTD를 작성할 수 있고, 필요한 요소만 사용할 수 있습니다. 이것은 분명 확장된 실행이며, 웹 개발자인 당신은, 실질적으로 자신의 마크 업을 커스터마이즈할 수 있습니다. 루비 주석은 일부 아시아 문자에서 사용되는 주석 문자를 다루는 특수한 방법입니다. 이것은 국제화의 작업의 일부입니다.

2.1.3.4 CSS – Cascading Style Sheets

Cascading Style Sheets(CSS)는 요소의 형식, 직접 정의한 클래스 요소, 또는 개별 인스턴스에 스타일을 지정해서 HTMLXML 요소의 모양을 변화시키는 방법입니다.

스타일시트는 사이트 전체의 외관을 일관되게 정의하기 위해서 사용합니다. CSS 도입에 이어, W3C는 보다 간결하고 구조적인World Wide Web을 구축하기 위해서는 HTML의 레이아웃에 관한 기능을 단계적으로 폐지하고 스타일 시트로 옮겨야 한다고 권고했습니다.

2.1.3.5 DOM 1 – Document Object Model Level 1

DOM을 이용하면, 웹문서 위에서 동작하는 스크립트 언어(예 : JavaScript의 표준인 ECMAScript) 의 잠재 능력과 상호작용성을 발휘시킬 수 있습니다. (프로그래밍의 전문 용어로 Document Object Model (DOM) Level 1은 웹문서와 상호작용하기 위한Application Programming Interface(API)임). DOM을 이용해서 스크립트 언어는 HTML이나CSS등의 언어로 작성된 문서의 구조나 내용, 표현에 쉽게 접근할 수 있습니다.

DOM은 미래에 있어서 기술의 진전을 고려합니다. DOM을 이용하면, 문서에 사용된 어떤 스크립트 언어도 상호작용할 수 있습니다. 이 표준 의해서, 동적 HTML 프로그래밍을 쉽게 할 수 있을 뿐만 아니라, 미래의 인터넷 기술도 보다 쉽게 적용할 수 있습니다.

2.2 ECMA표준

2.2.1 ECMA는 무엇인가요?

The European Computer Manufacturers Association(유럽 컴퓨터 제조 공업회, ECMA)는 프로그램 언어나 입출력 코드를 포함한 컴퓨터 작동의 형식을 표준화 하는 것을 목적으로 1961년에 설립된 단체입니다.

ECMA(은)는 스위스의 제네바에 본거지를 두며, International Organization for Standardization(국제 표준화 기구, ISO)와 International Electrotechnical Commission(국 제 전기표준회의, IEC)의 본부 근처에 있습니다. 1994년, 폭넓은 활동을 위해서 조직의 명칭을ECMA – European Association for Standardizing Information and Communication Systems로 변경했습니다.

2.2.2 ECMA는 어떤 활동을 하나요?

ECMA의 주된 역할은 정보 통신 기술의 분야에 있어 표준과 기술 보고서를 정리하는 것입니다. ECMA(은)는 기업협회의 공인된 표준화 기관이 아니기 때문에, 종종 공인된 국내·국제기관과 공동 프로젝트를 실시합니다.

ECMA 표준은 국제표준과 유럽표준의 기초로서 채택됐습니다. 지금까지 꽤 많은 270 ECMA표준과70 기술 보고서가 출판됐습니다. 이러한 85 표준이 국제표준규격으로서International Organization for Standardization(국제 표준화 기구,ISO)에 채택됐으며, 25 표준이 유럽 표준으로서European Telecommunications Standards Institute(ETSI)에 채택됐습니다.

2.2.3 ECMA 표준은 무엇인가요?
2.2.3.1 ECMAScript (표준JavaScript)

ECMAScript는 표준화 된 스크립트 언어로, 대부분 NetscapeJavaScriptMicrosoftJScript를 기본으로 삼습니다. ECMAScript표준은 ECMA의Technical Committee 39(TC-39)에 의해서 정의됩니다.

ECMAScript(은)는 오브젝트·기반의 언어로써, 주로 웹문서에 Document Object Model(DOM) 으로 지정된 오브젝트를 조작하기 위해서 사용합니다. 조작되는 오브젝트(웹문서를 구성하는 요소 또는 웹문서 전체)는 추가, 삭제, 이동할 수 있으며, 속성을 변경할 수도 있습니다. 웹개발자는 이 기능을 사용해서 텍스트 애니메이션과 그래픽 롤오버, 그리고 사용자의 조작에 의해서 리로드 없이 웹문서를 변화시킬 수 있습니다.

ECMAScript의 최신판은 ECMA표준 ECMA-262, ECMAScript 언어제2판입니다.

3 웹 표준을 사용하면 어떤 장점이 있나요?

3.1 접근성

3.1.1 소프트웨어/기계 관점

웹 표준을 준수한 웹문서는 매우 효율적으로 검색됩니다. 구조 정보를 가지는 표준 문서는 검색엔진의 접근이 쉽고, 문서중의 정보의 해석도 쉬우며, 보다 정확하게 색인됩니다.

표준을 사용하면, 서버측 뿐만 아니라 클라이언트측의 소프트웨어에 있어서도, 문서의 구조를 해석하는 것이 더욱 쉬워집니다. 이 때문에 검색엔진이 사이트에 쉽게 접근할 수 있고, 또 좋은 결과를 얻을 수 있습니다.

표준을 준수하면, 구형 브라우저도 문서의 기본적인 구조를 해석할 수 있습니다. 비록 구형 브라우저가 새롭게 추가된 표준규격을 해석하지 못할지라도, 사이트의 컨텐츠를 표시할 수는 있습니다. 물론, 검색엔진과 같은 사이트의 정보를 수집하는 시스템인 로봇도 마찬가지입니다.

표준을 준수한 코드를 사용하면, 웹문서를 문법 검증 서비스를 받을 수 있습니다. 문법검사기는 문서를 해석하고, 에러들의 목록을 정리해줍니다. 이 방법으로, 많은 에러들을 쉽게 발견하고 수정할 수 있으며, 많은 시간을 절약할 수 있습니다.

표준에 준수한 문서는, 데이타베이스나Word문서 등 다른 형식으로 쉽게 변환할 수 있습니다. 그러므로, World Wide Web에 있는 정보를 보다 다양한 목적으로 이용할 수 있게 됩니다. 또한 소프트웨어 뿐만 아니라, 텔레비전이나 PDA와 같은 하드웨어의 관점에서도 새로운 시스템으로 웹상의 정보를 활용하는 것이 쉬워집니다.

3.1.2 인간 관점

접근성은 많은 웹 표준, 특히HTML의 배경이 되는 중요한 개념입니다.

접근성은 장애자가 웹을 이용할 수 있도록 하는 것 외에도, 일반적인 브라우저가 아닌 소프트웨어의 사용자도 웹문서를 이용할 수 있도록 함을 의미합니다. 예를 들어 웹문서를 읽어주는 시각 장애자용의 음성 브라우저, 텍스트를 점자로 번역하는 점자 브라우저, 매우 작은 화면 표시 밖에 할 수 없는 휴대 기기용 브라우저, teletext 디스플레이, 다른 특수한 출력장치의 사용자도 마찬가지입니다.

웹에 접근할 수 있는 방법이 다양해짐에 따라, 모든 요구를 충족할 만큼 웹 사이트를 조정하거나 복제하는 것은 더욱 어려워집니다. (실제, 현시점에서 불가능하게 되어 있다고도 말해지고 있습니다) 표준을 준수하는 것은 이런 문제를 해결하는 중요한 첫걸음입니다. 표준을 준수한 사이트는 구형의 브라우저나 브라우저 버전의 차이에 상관없이 올바르게 표시되며, 특수한 브라우저나 미디어에서도 올바르게 표시됩니다.

표준을 무시함으로써 발생하는 문제는 명확합니다. 가장 기본적으로 사이트의 접근이 제한되는 것입니다. 이럴 경우 비즈니스 관점에서 얼마나 많은 잠재고객을 제한하게 될까요? 대상이 비록 일부라도 비즈니스 사이트에서 고객의 접근을 거부하면, 이익 폭에는 큰 차이가 생기게 됩니다. 교육 관련 사이트는 일반적인 브라우저를 사용하는 일반적인 아동 외에도, 텍스트 기반의 브라우저만 사용할 수 있는 제3세계 국가의 아이들이나 특수한 브라우저를 사용하고 있는 장애 학생들도 접근할 수 있습니다.

같은 원칙은 모든 형식의 웹 사이트에 적용됩니다. 표준을 준수하지 않고 브라우저 고유의 기능을 사용하는 것이 매력적일지도 모릅니다만, 긴 안목으로 볼 때 표준을 준수했을 경우 접근성 향상은 훨씬 큰 이익을 줄 것입니다.

3.2 안정성

대부분의 웹 표준은 대체로 상위 호환과 하위 호환의 양쪽 모두에 근거해 정해집니다. 이 때문에, 낡은 버전의 표준을 사용한 자료는 새로운 브라우저에서도 올바르게 작동되며, 새로운 버전의 표준을 사용하고 있는 데이터는 「적절히 격하」되어, 결과적으로 낡은 브라우저에서도 무난히 표시됩니다.

사이트의 개발이나 유지를 위해 여러 개발자가 투입될 경우, 이들이 코드를 쉽게 이해하고, 편집할 수 있어야 합니다. 웹 표준은 모든 웹개발자가 쉽게 이해하고, 준수할 수 있는 규칙입니다. 어느 개발자가 표준에 따라서 사이트를 설계하면, 이전의 담당자를 대신해서 다른 개발자가 사이트를 관리할 수 있습니다.

4. 결론

웹개발자로서, 우리는 브라우저의 차이나 버전의 차이에 따라 웹문서가 다르게 보여지는 문제로 끊임없이 괴로워하게 됩니다. 이 문제는 이중 삼중의 코딩으로 시간을 낭비할지, 한 개의 브라우저만을 위한 코딩을 할지를 선택을 강요합니다. (개발자가 후자를 선택했을 경우에는 어떤 사용자는 그 사이트를 이용할 수 없을 수도 있습니다.) 전화, 호출기, PDA등 웹을 이용할 수 있는 새로운 하드웨어나 소프트웨어의 출현으로 이 상황은 더욱 악화되겠죠.

웹 표준은 정체 모를 조직에 의해서 정해진 불가해한 규칙이 아닙니다. 지금까지 설명한 것처럼 브라우저의 제작자, 웹개발자, 컨텐츠 제공자, 그 외의 단체 등 표준을 사용하는 대표자에 의해서 책정됩니다.

표준을 준수하면 사이트 개발시간이 단축되고, 사이트 유지가 쉬워집니다. 표준을 준수한 코드는 디버깅과 고장수리도 쉬워집니다. 더 이상 같게 표현하기 위해서 여러 버전의 코드를 작성하거나 유지할 필요가 없습니다. 사이트를1개의 버전으로 작성하면, 그것으로 끝입니다.

전세계적으로 웹 표준을 채택하는 것은 무척 중요합니다. Web Standards Project의 사명은, 표준을 준수한 어플리케이션의 개발을 브라우저의 제작사와 웹사이트 개발자에게 장려함으로써, 개발자와 최종 사용자 모두에 게 웹을 보다 좋은 장소로 만드는 것입니다. 웹개발자가 표준을 당연하게 준수할 때, 개발도구나 브라우저가 표준에 준수해야 한다 라고 주장할 때, 우리의 시도는 많이 도움이 되겠죠.

우리의 주장을 읽은 당신은 웹개발자로서 표준을 사용하려는 충분한 동기가 싹텄을 것입니다. 그리고, 직장이나 동료 개발자에 대해서 웹 표준 사용을 장려하기 위한 이론 무장도 할 수 있었다고 생각합니다.

자. 다 함께 꿈을 현실로 만들어 갑시다.

Web Standards Project Developer Education Committee: Stephan Nedregaard (coordinator), Kynn Bartlett, Gail T. Cohen, Jens Edlund, Nick Finck, Tomas Fjetland, Peter Fleck, Markus Gut, Holger Maier, Julian Missig, Laura Mollett, Randy Piatt, Lewis A. Shadoff, Juergen Steinwender, Bart Szyszka, Matthew Thomas, Dane Weber

Updated 02-27-2002 by Molly E. Holzschlag and Shirley E. Kaiser of WaSP LEARN Committee.

한국어 번역:조훈 (hooney)