웹 접근성(Web Accessibility) 이란 장애인, 고령자 등이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장하는 것입니다.
필요성
누구에게나 동등한 기회 제공을 위해 웹 접근성 준수 필요
웹 접근성을 준수하게 되면 장애인, 고령자 등이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이용할 수 있게 됩니다.
웹 접근성 보장은 법률에 명시된 의무사항
웹 접근성 보장은 「국가정보화기본법」과 「장애인차별금지 및 권리구제 등에 관한 법률(이하 "장애인차별금지법")」등 법률에 명시된 의무사항입니다.
웹 접근성에 맞는 마크업
문서의 기본 언어를 설정하는 것은 중요
<html lang="en">
…
</html>
브라우저에게 문서에서 어떤 언어를 사용할 것인지 알려주는 것
HTML 페이지에서 정확한 언어를 정의하는 것은 보조기술이 알맞는 음성 프로파일이나 문자 집합을 선택하는데에 도움이 됨.
만약 문서 안에서 언어가 바뀐다면 lang 속성을 특정 태그에 사용하면 됨
<p>
There is a certain <i lang="fr" class="idiomatic">je ne sais quoi</i>in the air.
</p>
hidden 속성을 사용해 콘텐츠를 숨길 수 있음
시각적으로 숨기거나 screen reader가 읽어주길 원하지 않을 경우, hidden 속성을 사용
[hidden] {
display: none;
}
태그에 alt 속성을 빈 값으로 두는 것이 더 나을 때도 있음
Outline 없애기
클릭했을 때 보기 흉하다는 이유로 위와 같은 css를 사용하는 경우가 많습니다. 하지만, 이는 키보드 사용 유저에게 접근성을 저하시킵니다. 탭을 아무리 눌러도 현재 포커스가 어디인지 알 수가 없기 때문입니다.
‘alt’, ‘role’, ‘aria’ 와 같은 보조 속성 무시
img
, div
, video
태그 등은 시각적으로 정보를 획득할 수 없는 사람은 확인할 수 없습니다. 따라서 추가적인 정보 제공이 필요한데, 이러한 정보를 포함하는 속성이 있습니다.
특히 alt
와 같은 속성은 이미지가 정상적으로 불러와 지지 않는 경우에 어떤 이미지인지 표시되는 역할도 하기 때문에 더욱 중요
올바르지 않은 HTML태그 사용
<a href="#" onClick="onClickFunction()" class="btn">클릭</a>
<!-- ❌ -->
<button onClick="onClickFunction()" class="btn">클릭</button>
<!-- ⭕ -->
<div onClick="onClickFunction()" class="btn">클릭</div>
<!-- ❌ -->
<button onClick="onClickFunction()" class="btn">클릭</button>
<!-- ⭕ -->
SEO는 Search Engine Optimization의 약자로 말그대로 검색엔진 최적화라는 의미
Google 및 야후 등이 높은 점유율을 보이는 나라 (일본, 미국, 홍콩 등)에서는 SEO 마케팅에 따른 효과가 엄청나기 때문에 아주 중요한 마케팅 전략 중 하나
Google 검색 작동 방식
Google은 '웹 크롤러'를 사용하는 자동화된 검색엔진으로 3단계로 작동한다.
이 중에서 색인 생성 과정을 살펴보자.페이지의 콘텐츠를 분석하고 이미지, 동영상 파일의 목록을 작성 하는 등의 방법을 통해서 페이지를 파악하고 Google 색인에 저장한다.그렇다면 우리가 작성하는 HTML 코드가 검색결과에 영향을 미치는 것은 이 색인 과정일 것이다.
또한 Google 검색센터에서는 게재 및 순위를 개선하고 최적화하는 방법에 대해서 여러페이지에 걸쳐 자세하게 언급하고 있다.
SEO에 영향을 미치는 것들
SEO에서 얘기 하는 것은 구글의 검색엔진이 찾을 수 있고, 이해할 수 있는 사이트를 만들라는 것이다. 그렇게 하기 위해서는 아래의 요건들을 체크해볼 필요가 있다.
<meta>
태그 사용<a>
태그)<title>
, <alt>
속성이 구체적이고 정확한지 확인한다.1. robots.txt
웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약
robots.txt파일은 크롤러가 사이트에 요청할 수 있는 페이지/파일과 요청할 수 없는 페이지/파일을 검색엔진 크롤러에 알려 주는 역할을 한다.
2.모바일 친화적인 페이지
모바일 퍼스트 전략을 사용하여 개발한 웹 사이트는 그렇지 않은 사이트보다 빨리 로드될 것
3.적절한 <meta>
태그 사용
keyword
: 웹페이지의 홍보수단으로 검색 키워드를 지정 가능하며, ,
로 구분하여 선언한다.
<meta name="keyword" content="HTML, tag, element, Frontend">
subject
: 문서의 제목정보
<meta name="subject" content="HTML tag">
description
: 웹페이지 요약 정보, 제작자 정보(autuor), 저작권 정보(copyright)
<meta name="description" content="HTML tag 정리">
author
: 문서의 저작자
<meta name="author" content="Kim Kyuree">
위의 `meta`tag는 검색결과에 노출되는 내용을 정의
4. 유효한 HTML (Semantic Markup)을 사용
올바르고(시맨틱) 오류가 없도록 HTML을 작성한다. HTML과 CSS를 제대로 사용한다면 콘텐츠와 디자인이 분리되므로 페이지를 더 빠르게 렌더링 및 로드할 수 있다
5. <title>
, <alt>
속성이 구체적이고 정확한지 확인