5 minute read


[사용자 친화 웹] 웹 표준 & 접근성

1. 웹표준
2. Semantic HTML
3. 크로스 브라우징
5.웹 접근성


1. 웹 표준

  • 웹 !== 인터넷 (인터넷이 좀 더 포괄적인 개념)
  • 웹은 공간이라고 표현할 수 있음 (문서, 이미지, 영상 등의 정보를 공유할 수 있는 공간의 개념)
  • 웹 표준이란 웹에서 표준적으로 사용되는 기술이나 규칙이다.
  • 웹 표준은 웹페이지 제작 기법을 담고있다.
  • 웹 브라우저 (크롬, 엣지, 사파리, 파이어폭스) 들은 모두 웹 표준을 지원한다.
  • 브라우저 호환 때문에 화면이 제대로 표시되지 않거나 기능이 작동하지 않는 등의 문제 상황을 방지할 수 있다.


1-1. 웹 표준의 장점

1. 유지보수의 용이성

  • 웹 사이트의 구조, 동작, 표현들을 뒤섞인 코드에서 한 부분을 수정하려면 코드 전체를 뜯어 고쳐야 했지만 각 영역을 분리하며 유지보수가 용이해지고, 코드가 경량화 되며 트래픽 비용이 감소했다.

2. 웹 호환성 확보

  • 웹 사이트가 특정 운영체제에 종속적이라면 그 외의 환경에서는 정상적인 사용이 불가하다는 문제점이 있다. 하지만 웹 표준을 준수하여 웹 사이트를 제작하면 브라우저의 종류나 버전, 운영체제나 사용 기기 종류에 상관없이 항상 동일한 결과가 나오도록 할 수 있다.

3. 검색 효율성 증대

  • 웹표준에 맞춰 웹 사이트를 작성하는 것 만으로도 검색 엔진에서 높은 우선순위로 노출될 수 있다. 적절한 HTML의 사용, 웹 페이지에 대한 정확한 정보 작성 등 검색 효율성과 관련된 내용도 웹 표준에서 다루기 때문이다. 홍보를 위한 비용을 들이지 않아도 검색의 효율성을 높일 수 있게 되는 것이다.

4. 웹 접근성 향상

  • 브라우저, 운영체제, 기기 등 종류에 따라 웹에 접근할 수 있는 환경은 매우 다양하다. 또한 웹을 사용하는 사람도 다양하기 때문에 모든 사용자에 맞춰서 웹 페이지를 개발하는 일은 쉽지 않다. 하지만 웹 표준에 맞춰 개발하는 것 만으로도 이러한 문제를 해결할 수 있다.


## 2. Semantic Html

웹 표준에서 HTML을 시멘틱하게 작성하는 것의 중요성을 강조한다. 단어의 이미를 보면 HTML이 구조를 만드는 것을 넘어 의미를 갖도록 한다는 의도가 담겨있다고 볼 수 있다.

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


[ 시멘틱 요소의 종류 ]

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

divspan으로도 충분히 화면을 제작할 수 있지만 두가지로 작성된 HTML구조만 보고 각 요소들의 역할을 파악하기는 힘들다. 하지만 시멘틱 요소로 화면을 구성하게 되면 HTML 구조를 보고 각 요소들의 역할을 파악하기 수월해진다.


2-1. 시멘틱 HTML의 필요성

1. 개발자간 소통

  • 여러 명의 개발자가 웹 페이지를 개발하면서 <div><span> 으로만 HTML 코드를 작성한다고 가정했을때 idclass 를 사용해서 일일이 표기해야한다. 만약 idclass 의 이름도 협의해서 정해야 하고, 다른 개발자에게 idclass 이름이 어떤 의미인지 설명하는 시간도 추가로 필요하다. 적어도 각 요소의 기능을 정의하느라 쏟아야하는 시간은 들지 않을 것이다.

2. 검색 효율성

  • <div><span> 만 사용한 문서에서는 모든 요소가 비슷한 중요도의 내용을 담고 있다고 판단한다. 하지만 시맨틱 요소를 사용하면, 어떤 요소에 더 중요한 내용이 들어있을지 우선 순위를 정할 수 있고, 우선 순위가 높다고 파악된 페이지를 검색 결과 상단에 표시하게 된다. 웹 페이지를 검색 엔진에 더 자주 뜨게 만들고 싶을 때, 광고비 등의 추가 지출을 하지 않고 시맨틱 HTML을 잘 짜는 것 만으로도 어느정도 효과를 볼 수 있다는 의미이다.

3. 웹 접근성

  • 웹 접근성은 나이, 성별, 장애 여부, 사용 환경을 떠나서 항상 동일한 수준의 정보를 제공할 수 있어야 함을 뜻한다. 한 가지 예시를 들면, 시각 장애인의 경우 웹 페이지에 접근할 때 음성으로 화면을 스크린리더를 이용하게 되는데요. 이 때, HTML이 시맨틱 요소로 구성되어 있다면 화면의 구조에 대한 정보까지 추가로 전달해줄 수 있어 콘텐츠를 좀 더 정확하게 전달할 수 있게 된다. 시맨틱 요소만 잘 사용해도 웹 접근성을 향상시킬 수 있다는 의미이다.


3. 크로스 브라우징

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


3-1. 크로스 브라우징 워크 플로우

1. 초기기획

  • 어떤 웹사이트를 만들 것인지 정확하게 결정하여 콘텐츠 ,기능, 디자인 등을 결정해야 한다. 주 타겟 고객이 사용하게 될 브라우저와 기기를 파악했다면 여기에 맞는 기술을 사용하여 개발해야함

2. 개발

  • 코드를 사용할 때 코드가 각 브라우저에서의 호화성이 어떤지 파악하고 사용해야한다. 인터넷 익스플로러에서의 호환성이 좋지 않으니 만약 주 고객층의 인터넷 익스플로러 사용 비유리 높다면 호환성이 나쁜 코드는 사용하지 않는 것이 좋다.

3. 테스트 / 발견

  • 각 기능을 구현하면 그에 대한 테스트가 필요하다.
  • 안정적인 데스크탑 브라우저에서
  • 휴대폰 및 태블릿 브라우저에서
  • 그 외에도 초기 목표했던 브라우저ㅏ 있다면 해당 브라우저에서
  • 다양한 운영체제에서도
  • 테스트를 지행해야함

4. 수정 / 반복

  • 테스트 단계에서 버그가 발견되었다면 수정이 필요하다. 버그가 발생하는 위치를 최대한 좁혀서 특정하고, 버그가 발생하는 특정 브라우저에서의 해결방법을 정해야한다. 섣불리 코드를 수정한다면 다른 브라우저에서 버그가 발생할 수 있으므로, 조건문을 작성하여 수정하는 것이 좋다.


4. SEO

4-1. SEO 개념

SEO는 크게 On-Page SEO와 Off-Page SEO 두 가지로 나뉘어진다.

  • On-Page SEO : 말 그대로 페이지 내부에서 진행할 수 있는 SEO로, 제목과 콘텐츠, 핵심 키워드의 배치, 효율적인 HTML 요소 사용법 등을 이용하는 방법
  • Off-Page SEO : 웹 사이트 외부에서 이루어지는 SEO로, 소셜 미디어 홍보, 백링크(타 사이트에서 연결되는 링크) 등을 이용하는 방법으로, 웹 페이지 내용이나 구조와는 관계 없음


4-2. On-Page에서 통제할 수 있는 요소

1. <title> 요소

<title> 요소는 검색 결과창에서 제목에 해당하는 요소로, <head> 요소의 자식 요소로 작성.  제목은 검색 결과에서 상당히 중요한 역할을 한다. 
  • <title> 요소에 어떤 내용을 작성하는가에 따라서 검색 후 유입까지 유도할 수 있다.
  • <title> 요소에 핵심 키워드가 포함되면 상위에 노출될 확률이 높아진다.

2. <meta> 요소

 <meta> 요소는 메타 데이터를 담는 요소. 메타 데이터란 해당 웹 사이트에서 다루고 있는 데이터가 무엇인지에 대한 데이터이다. <meta> 요소도 <head> 요소의 자식 요소로 작성해주는 것이 일반적이다.
  • name 속성을 사용 : SEO를 위해서 사용하는 것이 목적
  • property 속성을 사용 : 다른 사람에게 공유하기 위한 것이 목적 ➙ 오픈 그래프(Open Graph)

3. <hgroup> 요소

<hgroup> 요소는 콘텐츠의 제목을 표시하는 용도인만큼 핵심 키워드를 포함하고 있을 가능성이 높다. 따라서 검색 엔진도 <hgroup> 요소의 내용을 중요하게 취급한다. 그렇기 때문에 콘텐츠를 작성할 때 핵심 키워드를 의식해서 <hgroup> 요소에 넣어주는 것도 SEO에 도움된다.
  • 하지만 똑같은 키워드만 반복해서 넣는 것은 역효과
  • 이미 사용한 핵심 키워드를 그대로 사용하지 않고 비슷한 키워드로 대체해서 사용하거나, 핵심 키워드의 관련 키워드들을 쭉 포함시키는 것이 좋다.

4. 콘텐츠

  • 개성있는 브랜딩 : 아이디어나 이름이 겹치치 않으면 상위권에 노출될 확률 높음 , 독특한 이벤트나 콘텐츠 확보 하기
  • 복사 + 붙여넣기 금지 : 무분별한 복붙은 검색 대상에서 제외될 수 있음, 복사 붙여넣기 방식은 지양해야하며 인용하고싶다면 부분만 가져오면서 링크를 첨부하여 표기하는 것이 좋다.
  • 간결한 제목과 설명글 : 콘텐츠와 관련 업슨 키워드를 노출해도 안좋은 이미지를 갖게될 수 있다. 최악의 경우 스팸요소가 있는 사이트로 분류될 수 있다.
  • 최대한 글자로 작성하기 : 이미지 사용은 웹사이트의 품질을 높여주지만 글자로 적어도 될 내용을 이미지로 대체한다면 SEO에는 도움이 되지 않음, 꼭 이미지를 넣어야한다면 alt 속성을 사용하여 해당 이미지에 대한 서명을 텍스트로 작성하는 것이 좋다.


5. 웹 접근성

웹 접근성은 일반적으로 웹 접근성은 장애인, 고령자 등이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장하는 것을 뜻한다. 하지만 비장애인도 정보 접근에 제한을 받는 불편함을 겪을 수 있다.

웹 접근성을 갖추면 웹에 접근했을 때 그 어떤 상황에서도 항상 동등한 수준의 정보를 제공받도록 보장받을 수 있다. 결국 웹 접근성의 궁극적인 목적은 어떤 상황이든, 어떤 사람이든 정보를 제공받지 못하는 경우가 없도록하는 것이다.



Updated: