웹 표준& 접근성

nada_1221·2022년 9월 10일
0

공부

목록 보기
47/49

웹 표준


이란 무엇인가?

인터넷은 웹 기반으로 작동한다 O or X ?

정답은 X, 인터넷이 웹보다 좀 더 포괄적인 개념이기 때문.

인터넷은 전 세계적으로 연결되어 있는 컴퓨터 네트워크 통신망을 의미하며, 웹 뿐만 아니라 온라인 게임, 모바일 앱, 이메일 등 네트워크를 사용하는 다양한 서비스들을 모두 포함한다.

웹과 인터넷을 혼동하지 말자.

그렇다면 웹은 무엇을 의미할까?
웹은 공간으로 정의할 수 있다.
우리가 쉽게 접하는 웹툰의 어원 역시 World Wide Web + Cartoon을 합친 것이다. 인터넷만 연결되어 있다면 웹이라는 공간 안에서 만화를 자유롭게 보고 댓글도 달 수 있다.

웹을 정상적으로 구동시키기 위해서는 개발자들이 각 브라우저마다 따로 개발을 해줘야만 했던 시대가 있었다. 이런 수고를 없애고 웹 개발의 형식을 통일시킨 것이 바로 웹 표준이다.

웹 표준 #2


웹 표준이란 W3C에서 권고하는 웹에서 표준적으로 사용되는 기술이나 규칙으로, 사용자가 어떤 운영체제나 브라우저를 사용하더라도 웹 페이지가 동일하게 보이고 정상적으로 작동할 수 있도록 하는 웹 페이지 제작 기법을 담고있다.

웹 개발에 사용되는 언어인 HTML,CSS,JS등의 기술을 다룬다. 이 세 기술은 화면의 구조,표현,동작을 각각 담당한다.

웹 표준의 장점


  1. 유지 보수의 용이
    각 영역이 분리되면서 유지 보수가 용이해졌고, 코드가 경량화되면서 트래픽 비용이 감소하는 효과도 생김.

  2. 웹 호환성 확보
    웹 표준을 준수하여 웹 사이트를 제작하면 웹 브라우저의 종류나 버전, 운영 체제나 사용 기기 종류에 상관없이 항상 동일한 결과가 나오도록 할 수 있다.

  3. 검색 효율성 증대
    웹 표준에 맞춰 웹 사이트를 작성하는 것 만으로도 검색 엔진에서 더 높은 우선 순위로 노출될 수 있다. 적절한 HTML 요소의 사용, 웹 페이지에 대한 정확한 정보 작성 등 검색 효율성과 관련된 내용도 웹 표준에서 다루고 있기 때문.

  4. 웹 접근성 향상

Semantic HTML


시맨틱 HTMl은 합성어이며, 각 단어의 의미는 다음과 같다.

  • semantic : 의미의, 의미가 있는
  • HTML : 화면의 구조를 만드는 마크업 언어

HTML이 의미를 갖는다는 것은 어떤 의미일까?
HTML을 사용하는 두 가지 방식을 보고 비교하여 이해해보자.

1. <div><span>으로 화면 구성하기


예시의 HTML 구조만 보고 각 요소들이 어떤 역할을 할지 알아낼 수 있을까?

추측은 가능하지만 확신을 할 수 는 없다. 어떤 내용이 들어갈지 명시되어 있지 않기 때문.

2. 시맨틱 요소로 화면 구성하기

요소가 어떤 내용을 담게 될지, 어떤 기능을 하게 될지 확실하게 의미를 가지고잇는 요소를 시맨틱 요소라고 한다.
그리고 시맨틱 요소를 적절하게 사용하여 구성한 HTML을 시맨틱 HTML이라고 한다.

시맨틱 HTML의 필요성


  1. 개발자간 소통
    수많은 귀찮은 과정을 시맨틱한 요소를 사용하기만 해도 없앨 수 있다. 적어도 각 요소의 기능을 정의하느라 쏟아야 하는 시간은 들지 않을 것.

  2. 검색 효율성
    시맨틱 요소를 사용하면, 어떤 요소에 더 중요한 내용이 들어있을지 우선 순의를 정할 수 있고, 우선 순위가 높다고 파악된 페이지를 검색 결과 상단에 표시하게 된다.

  3. 웹 접근성
    조건을 떠나 항상 동일한 수준의 정보를 제공할 수 있어야 함을 뜻한다. 시맨틱 요소만 잘 사용해도 웹 접근성을 향상시킬 수 있다.

시맨틱 요소의 종류


요소 종류설명
<header>페이지나 요소의 최상단에 위치하는 머릿말 역할의 요소
<nav>메뉴, 목차 등에 사용되는 요소
<aside>문서와 연관은 있지만, 직접적인 연관은 없는 내용을 담는 요소
<main>이름 그대로 문서의 메인이 되는 주요 콘텐츠를 담는 요소
<article>게시글, 뉴스 기사 등 독립적으로 구분해 재사용할 수 있는 부분을 의미하는 요소. 각각의 아티클을 구분하기 위한 수단이 필요하며, 보통 제목(<hgroup>)을 포함하는 방법을 사용한다.
<section>문서의 독립적인 구획을 나타내며, 딱히 적합한 의미의 요소가 없을 때 사용한다. 제목(<hgroup>)을 포함하는 경우가 많다.
<hgroup>제목을 표시할 때 사용하는 요소로, <h1>~<h6>요소가hgroup이다.
<footer>페이지나 요소의 최하단에 위치하는 꼬릿말 역할의 요소

크로스 브라우징


웹 사이트에 접근하는 브라우저의 종류에 상관 없이 동등한 화면과 기능을 제공할 수 있도록 만드는 작업을 의미.
여기서 중요한 포인트는 동일한이 아니라 동등한이라는 표현을 쓴다는 것이다.
크로스 브라우징은 모든 브라우저에서 완전히 똑같은 화면이 보이도록 만드는 것이 아니다.
모든 브라우저에서 동등한 수준의 정보와 기능을 제공하는 것이다.

크로스 브라우징 워크 플로우


  1. 초기 기획
    어떤 웹 사이트를 만들 것인지 정확하게 결정해야 한다.
    어떤 콘텐츠와 기능이 있어야 하는지, 디자인은 어떻게 할지 등의 사항을 결정해야 한다.
    그 다음 사이트의 고객이 누구일지 생각해야 한다.
    타겟 고객이 주로 사용하게 될 브라우저와 기기를 파악했다면, 여기에 맞는 기술을 사용해서 개발할 수 있또록 기획해야 한다.

  2. 개발
    코드를 작성할 때 사용하는 코드가 각 브라우저에서의 호환성이 어떤지 파악하고 사용해야 한다.
    코드를 작성하다보면 크로스 브라우징이 힘든 상황을 만나게 될 수도 있는데, 이럴 경우 대체 수단을 마련해야 한다.

  3. 테스트/ 발견
    각 기능을 구현한 후에는 그 기능에 대한 테스트가 필요하다.

  • 안정적인 데스크톱 브라우저에서 테스트를 진행한다
    (ex. 크롬, 엣지, 파이어폭스 ...)
  • 휴대폰 및 태블릿 브라우저에서 테스트를 진행한다.
    (ex. 삼성 인터넷, 사파리, 크롬 ...)
  • Window, Linux, Mac등 다양한 운영 체제에서도 테스트를 진행한다.

직접 테스트도 가능하지만, 자동으로 테스트를 진행해주는 도구를 이용하는 것도 방법이다.
TestComplete, LambdaTest, BitBar 등의 크로스 브라우징 테스트 툴이 있다.

  1. 수정/ 반복
    테스트 단계에서 버그가 발견되었다면 수정이 필요하다. 버그가 발생하는 위치를 최대한 좁혀서 특정하고, 버그가 발생하는 특정 브라우저에서의 해결 방법을 정해야 한다. 섣불리 코드를 수정했다가는 다른 브라우저에서 버그가 발생할 수 있으므로, 조건문을 작성해 다른 코드를 실행하게 하는 방식으로 고쳐나가는 것이 좋다.
profile
FE_개발자_지망생

0개의 댓글