본문 바로가기
프로그래밍/HTML+CSS

[HTML] W3C 웹 표준 / 크로스 브라우징 / 웹 접근성

by 소소로드 2021. 1. 21.

웹 표준 기술, 웹의 구성요소 3가지

HTML(Hyper Text Markup Language)
html은 하이퍼 텍스트 마크업 랭귀지의 줄임말이다.
마크업이라는 단어 때문에 html 코딩을 '마크업한다.'라고 부르기도 한다.
마크업이란 쉽게 말해 이해가 쉽도록 페이지에 의미를 부여하는 것이다.

CSS(Cascading Style Sheet)
캐스캐이딩 스타일 시트, 단어에서 유추가 가능한 것처럼 페이지에 스타일을 입힌다.

JS(JavaScript)
웹페이지의 기능과 동작을 담당하는 언어이다.

이 세가지는 표면 상에 드러난다고 해서 클라이언트 사이드 or 프론트엔드라고 부른다.



(HTML + CSS + JavaScript) = 웹 사이트?

이 세가지만으로 웹 사이트를 제작할 수는 있겠지만 많이 부족하다.
서버의 데이터베이스를 이용해 로그인, 회원가입은 할 수 없기 때문이다.
이렇게 서버 쪽에서 이루어지는 작업을 서버사이드 or 백엔드라고 부른다.
PHP, JSP, QSP등이 바로 여기에 필요한 서버사이드 언어라고 할 수 있다.

 

 

웹 브라우저의 종류

인터넷 익스플로러(IE) - 윈도우의 기본 브라우저, 최신 브라우저까지 업데이트. 
크롬 - 구글의 전세계 점유율 1위 브라우저. 필수 설치 권장
파이어폭스(FF) - 모질라 재단의 브라우저, 크롬만큼 빠른 브라우저 점유율 3위. 필수 설치 권장
사파리 - 맥(OSX)의 기본 브라우저, 크롬과 비슷한 엔진
오페라 - PC뿐만 아닌 여러 기기에서 사용되는 브라우저

맥스톤, 스윙 - IE와 크롬의 엔진을 차용한 브라우저
모바일 브라우저 - 안드로이드나 iOS등 모바일 기기에 들어가는 브라우저. 터치로 접근
텍스트 브라우저 - 텍스트 정보만 보여주는 브라우저. 검색엔진이나 스크린리더와 유사한 접근.

=> 이 많은 브라우저들은 W3C의 웹표준 가이드라인에 따라서 동작하게 되지만,
완벽하게 똑같은 가이드라인을 따라한 것이 아니며 일부는 각 브라우저에 맞게 사용하게 된다.
그렇다면 W3C란 무엇일까.


W3C 웹표준


W3C란 월드 와이드 웹을 위한 표준을 개발하고 장려하는 표준화 기구인데
이 조직이 필요한 이유는 바로 위와 같은 웹 브라우저의 종류가 너무 많기 때문에 규칙을 조율하기 위해서이다.
마치 학교에서 각각 다른 학생들이 있으니까 규칙이 필요한 것과 마찬가지이다.
웹표준이란 '웹에서 표준적으로 사용되는 기술이나 규칙'이다. 그러므로 W3C 웹표준이란,
W3C가 사용자를 위해 통일된 브라우저의 웹 구성안을 정의했다고 보면 될 것 같다.(내 해석)

이렇게 한 페이지가 W3C 웹표준 규약에 만족하는지도 
해당 사이트를 통해 알 수 있다. 앞서 본 마크업이라는 단어가 등장한다.
W3C의 웹표준대로 html 코딩을 했는지를 알려주는 사이트라고 볼 수 있다.

validator.kldp.org/

 

The W3C Markup Validation Service

파일 업로드로 유효성 검사 주의: Windows XP SP2 의 몇몇 IE 에서는 업로드가 되지 않을수도 있습니다. 이 경우에는, W3C QA 사이트의 information page 를 참고 하십시오. 직접 입력하여 유효성 검사

validator.kldp.org

 

크로스 브라우징(cross browsing)

위에 제시된 여러 브라우저와 모바일 브라우저에서 일부는 각 브라우저에 맞게 사용하게 된다고 썼다.
크로스 브라우징 이슈는 이 '차이'에서 오는 것이고,
크로스 브라우징이란 이 차이를 좁혀서 "플랫폼에 따라 달리 구현되는 기술을 비슷하게 만들고,
어느 한쪽에 최적화되어 치우치지 않도록 공통 요소를 사용하여 웹 페이지를 제작하는 기법"이다.
결국 내가 어떤 브라우저를 이용해도 불편함을 겪지 않게 하는 기법이 크로스 브라우징의 핵심이다.



웹 접근성

웹 접근성은 장애를 가진 사람과 장애를 가지지 않은 사람 모두가 웹사이트를 이용할 수 있게 하는 방식이다.
즉, 페이지에 편리성을 부여해서 장애를 가진 이들도 불편함을 느낄 수 없는 접근성을 만드는 것.