Web이란❓
Web이란 인터넷에 연결된 컴퓨터를 통해 사용자들이 정보를 공유할 수 있는 하나의 '공간'을 말한다. 즉, 문서나 이미지, 영상 등의 다양한 정보를 여러 사람들과 공유할 수 있는 공간이다.
World Wide Web
웹 표준🧐
웹 표준이란 W3C에서 권고하는 웹에서 표준적으로 사용되는 기술이나 규칙으로 브라우저나 운영체제의 종류와는 상관없이 사용자에게 웹 페이지가 동일하게 보이고 작동할 수 있도록 하는 웹 페이지 제작 기법을 의미한다.
웹 표준에서 강조하는 Semantic HTML의 중요성
Semantic Element와 Semantic HTML😎
시맨틱 요소(Semantic Element)란 담게 될 내용이나 수행하게 될 기능과 같이 확실한 의미를 가지는 요소를 말한다. 예를 들어<div>
,<span>
과 같은 요소들은 이 요소들이 무슨 내용을 담을지 무슨 역할을 수행하게 될 지 직접 내용을 들여다보지 않고서는 파악하기 어렵다. 하지만<header>
,<nav>
와 같은 요소들은 요소 자체만 보더라도 이미 내용과 역할을 어느 정도 짐작할 수 있다. 이와 같은 시맨틱 요소를 적절하게 사용하여 구성한 HTML을 시맨틱 HTML이라고 한다.
시맨틱 HTML의 필요성
시맨틱 요소의 종류
요소 종류 | 설명 |
---|---|
<header> | 페이지나 요소 최상단에 위치하는 머릿말 역할의 요소 |
<nav> | 메뉴, 목차 등의 사용되는 요소 |
<aside> | 문서와 간접적인 연관이 있는 내용을 담는 요소 |
<main> | 문서의 메인이 되는 주요 콘텐츠를 담는 요소 |
<article> | 독립적으로 구분해 재사용할 수 있는 부분을 의미하는 요소 |
<section> | 문서의 독립적인 구획을 나타내는 요소 |
<hgroup> | 제목을 표시할 때 사용하는 요소 |
<footer> | 페이지나 요소의 최하단에 위치하는 꼬릿말 역할의 요소 |
자주 틀리는 마크업 작성 상황
<b>
, <i>
요소 사용하기<b>
는 글씨를 굵게 만들 때, <i>
는 글씨를 기울일 때 사용하는 요소로 시맨틱 요소가 아님<b>
, <i>
대신 <strong>
, <em>
과 같이 똑같은 스타일을 적용하지만 콘텐츠에 의미를 부여하는 시맨틱 요소를 사용할 것<hgroup>
남용하기<hgroup>
를 사용하는 목적은 콘텐츠의 상하 관계를 표시하기 위함이므로 단지 시각적 효과만을 위해 사용하지 말 것<br />
연속으로 사용하기<br />
은 텍스트 흐름에 줄 바꿈을 해주기 위해 사용하는 요소로 단지 간격을 만들기 위한 목적으로 남발해서 사용하지 말 것<p>
요소를 통해 별도의 단락으로 구분하거나 CSS 속성으로 여백을 조정해주는 것이 적합크로스 브라우징(Cross Browsing)🤔
크로스 브라우징이란 웹 사이트에 접근하는 브라우저의 종류에 상관없이 동등한 화면과 기능을 제공할 수 있도록 만드를 작업을 의미한다. 즉, 크로스 브라우징은 모든 브라우저에서 동일한 화면이 제공되도록 하는 작업이 아닌 동등한 수준의 정보와 기능을 제공하도록 만드는 작업이라고 할 수 있다.
SEO란❓
SEO(Search Engine Optimization, 검색 엔진 최적화)란 검색 엔진의 작동 방식에 맞게 웹 페이지를 최적화해주는 작업을 말하는데 쉽게 말해 검색엔진에서 찾기 쉽도록 사이트를 개선하는 프로세스를 의미한다. 이러한 SEO를 통해 검색 엔진에서 웹 페이지를 보다 더 상위에 노출될 수 있도록 만들 수 있다.
On-Page에서 통제할 수 있는 요소
<title>
요소
<head>
요소의 자식 요소로 작성 <title>
요소의 내용을 작성할 것<meta>
요소
해당 웹 사이트에서 다루고 있는 데이터를 설명하는 데이터인 메타 데이터를 담는 요소로 <head>
요소의 자식 요소로 작성
<meta>
요소 안에 검색 결과창에서 확인할 수 있는 내용이 들어있는 경우와 링크 공유 시 미리보기에서 확인할 수 있는 내용이 들어있는 경우로 나뉘어짐
name
속성 사용: SEO를 위해 사용하는 것이 목적property
속성 사용: 다른 사람에게 공유하기 위한 것이 목적property
속성을 사용하는 경우를 오픈 그래프(Open Graph)라고 하며 각 속성값 앞에 오픈 그래프를 뜻하는 "og"가 붙음SEO를 위한 meta 요소
<meta name="속성값" content="내용" />
주요 속성값
name 속성값 | 설명 |
---|---|
description | 콘텐츠에 대한 간략한 설명 |
keywords | 웹 페이지의 관련 키워드들을 나열할 때 사용 |
author | 콘텐츠의 제작자 표시 |
오픈 그래프(Open Gragh)
<meta property="속성값" content="내용" />
주요 속성값
property 속성값 | 설명 |
---|---|
og:url | 페이지의 표준 URL |
og:site_name | 사이트의 이름 |
og:title | 콘텐츠의 제목 |
og:description | 콘텐츠에 대한 간략한 설명 |
og:image | 미리보기로 표시될 이미지 |
og:type | 콘텐츠 미디어의 유형 |
og:locale | 리소스의 언어 |
<title>
, <meta>
요소 작성 실습 리뷰(링크 공유 시 보이는 UI 기준)
<head>
요소 안에 <meta>
요소 중 title 관련 오픈 그래프 요소가 없을 경우 <title>
요소의 내용이 미리보기 화면의 제목이 되지만 오픈 그래프 요소가 있을 경우 그 요소가 우선시 됨<head>
요소 안에 <meta>
요소 중 image 관련 오픈 그래프 요소가 없을 경우 <body>
요소 안의 <img>
요소가 링크 공유 시 미리보기 화면에 보이는 이미지로 사용되지만 오프 그래프 요소가 있을 경우 그 요소가 우선시 됨페이지 방문자 수가 많다면 검색 시 상위에 노출될 확률이 높아지기 때문에 오픈 그래프는 SEO와 간접적인 연관성을 가짐
name
속성을 사용하는 <mata>
요소에 중점을 두고 아울러 오픈 그래프 역시 잘 작성할 필요가 있음<hgroup>
요소
<hgroup>
요소는 콘텐츠의 제목을 표시하는 요소로 핵심 키워드를 포함할 가능성이 높아 검색엔진 역시 이 요소의 내용을 중요하게 취급콘텐츠
웹 접근성❓
웹 접근성이란 장애인, 고령자 등의 정보 소외 계층이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장하는 것을 말한다. 하지만 비장애인 역시 정보 접근에 제한되는 상황은 언제든 발생할 수 있기 때문에 웹 접근성이 정보 소외 계층만을 위한 개념이 아닌 정보 접근에 제한을 받는 모든 사람들을 위한 개념이라고 볼 수 있다.
한국형 웹 콘텐츠 접근성 지침 2.1
✔️ 인식의 용이성
: 모든 콘텐츠는 사용자가 인식할 수 있어야 한다
alt
속성 사용track
요소 사용✔️ 운용의 용이성
: 사용자 인터페이스의 구성요소는 조작 가능하고 내비게이션 할 수 있어야 한다
✔️ 이해의 용이성
: 콘텐츠는 이해할 수 있어야 한다
lang
속성을 사용하여 제공title
속성 사용target="_blank"
속성 사용caption
요소 사용<th>
, 데이터 셀은 <td>
사용scope
혹은 id
와 headers
속성 사용<input>
요소에 id
를 설정, <label>
요소의 for
속성으로 연결title
속성을 사용✔️ 견고성
: 웹 콘텐츠는 미래의 기술로도 접근할 수 있도록 견고하게 만들어야 한다
WAI-ARIA🤔
WAI-ARIA란 WAI에서 발표한 RIA 환경에서의 웹 접근성 기술 규격을 말한다.
- WAI: 웹 표준을 정하는 W3C에서 웹 접근성을 담당하는 기관
- ARIA: 장애가 있는 사람들이 웹 콘텐츠와 웹 응용 프로그램에 더 쉽게 접근할 수 있도록 하는 기술
- RIA: 웹 브라우저를 통해 사용할 수 있는 편리성과 빠른 반응의 사용자 인터페이스를 동시에 가지는 웹 애플리케이션
aria-selected
: 여러 개의 요소 중 현재 선택 상태인 요소 표시aria-expanded
: 아코디언 UI가 펼쳐진 상태인지 표시aria-hidden
: 요소가 숨김 상태인지 표시aria-label
: 요소에 라벨을 붙여주는 기능aria-live
: 해당 요소가 실시간으로 내용을 갱신하는 영역인지 표시polite
, assertive
, off(default)
가 있음