์ฌ์ดํธ์ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ธฐ ์ฉ์ดํ ์ ์๋๋ก ๋์์ฃผ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๊ทธ์ด๋ค.
SEO ์ต์ ํ์ ์ ๋ฆฌ. (SEO: Search Engine Optimization)
๊ฒ์ ์์ง์ด ํ๊ทธ์ ๋ชฉ์ ์ ๋ถํฉํ๊ฒ ์ค๊ณ๋์ด์๋ ๊ตฌ์กฐ์ ์ฌ์ดํธ์์ ๋์ฑ ๋นจ๋ฆฌ ํจ์จ์ ์ผ๋ก ์ ๋ณด๋ฅผ ํ์
ํ ์ ์์ด ๊ฒ์ ๊ฒฐ๊ณผ์ ๋
ธ์ถ์ ์ ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค.
์น ์ ๊ทผ์ฑ์ ํจ์จ์
์ผ๋ฐ์ ์ธ ๋ธ๋ผ์ฐ์ ์์๋ ์ฐจ์ด๊ฐ ์์ง๋ง ์คํฌ๋ฆฐ๋ฆฌ๋(์๊ฐ์ฅ์ ์ธ์ ์ํ ์น ์ํ ํ๋ก๊ทธ๋จ)๊ณผ ๊ฐ์ ํ๊ฒฝ์์๋
์น ์ ๊ทผ์ฑ๊ณผ ์ฌ์ฉ์ฑ์ ํฅ์์์ผ์ค๋ค.
์ ์ง๋ณด์์ ์ฉ์ด์ฑ
๋ง์ div์ฌ์ฉ์ผ๋ก ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ง๋ ๋ฌธ์ ์ ์์ ๋ฒ์ด๋ ํ๊ทธ์ ์ด๋ฆ๋ง ๋ณด๊ณ ๋ ์ด๋ค ์์ญ์ธ์ง ๋ฐ๋ก ํ์ธ์ด ๊ฐ๋ฅํ๋ฉฐ ํด๋น ํ๊ทธ ์์ญ์ ํน์ฑ์ ๋ง๋ ์์
์ ๊ตฌ๋ถํ์ฌ ์งํํ๊ธฐ์ ์ฉ์ดํ๋ค.
<header>
: ๋จธ๋ฆฌ๊ธ, ์ ๋ชฉ, ํค๋<nav>
: ๋ค์ด๊ฒ์ด์
, ๋ชฉ์ฐจ, ๋ฆฌ์คํธ ๋ฑ ๋ค๋ฅธ ํ์ด์ง๋ก์ ์ด๋์ ์ํ ๋งํฌ ๊ณต๊ฐ์ ์์ฃผ๋ก ํํ<main>
: ์ด๋ฆ์ฒ๋ผ ๋ฌธ์ <body>์ ์ค์ฌ ์ฃผ์ , ์ฃผ์ ๋ด์ฉ ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์ฌ ๊ธฐ๋ฅ๊ณผ ์ง์ ๊ด๋ จ๋์ด๋ ํ์ฅ๋๋ ์ฝํ
์ธ ๋ฅผ ๋ํ๋ธ๋ค.<aside>
: ์ข์ธก๊ณผ ์ฐ์ธก ์ฌ์ด๋ ์์น์ ๊ณต๊ฐ์ ์๋ฏธํ๋ฉฐ, ๋ณธ๋ฌธ ์ธ์ ๋ถ์์ ์ธ ๋ด์ฉ์ ์ฃผ๋ก ํํ<section>
: ์ฃผ์ , ์นดํ
๊ณ ๋ฆฌ ๋ณ๋ก ์น์
์ ๊ตฌ๋ถํ๋ ์ฉ๋์ ํ๊ทธ๋ก ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ, ๊ฐ์ ํ
๋ง๋ฅผ ๊ฐ์ง ์ฌ๋ฌ๊ฐ์ ์ฝํ
์ธ ์ ๊ทธ๋ฃนํ<article>
: ๊ธฐ์ฌ, ๋ธ๋ก๊ทธ ๋ฑ ํ
์คํธ ์์ฃผ์ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ ๋ ์ฃผ๋ก ์ฌ์ฉ<footer>
: ๋ฐ๋ฅ๊ธ, ๋ฌธ์ ํ๋จ์ ๋ค์ด๊ฐ๋ ์ ๋ณด ๊ตฌ๋ถ ๊ณต๊ฐ์ ํํํ๋ ํ๊ทธ๋ง์ฐ์ค์ ๊ฐ์ ํฌ์ธํ ์ฅ๋น๋ฅผ ์ฌ์ฉํ๊ธฐ ํ๋ , ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๋ค์๊ฒ ํ์ด์ง์ ๋ด์ฉ๊ณผ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋๋ ์์ญ์ ์ญํ , ์์ฑ, ์ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ์ฌ ํ์ด์ง์ ์ ๊ทผ์ฑ์ ๋์ฌ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์๊ฒ ์ํํ ํ์ด์ง ์ด์ฉ์ ๋์์ค๋ค.
์๋ฅผ ๋ค๋ฉด,
<li tabindex="0" class="checkbox" checked>
Receive promotional offers
</li>
liํ๊ทธ์ .checkbox ํด๋์ค๋ฅผ ๋ถ์ฌํ์ฌ css์์ผ๋ก ์ฒดํฌ๋ฐ์ค ํํ์ ๋ชจ์์ ๋ง๋ค์ด ์ฌ์ฉํ ๊ฒฝ์ฐ
์๊ฐ์ ๋ถํธํจ์ด ์๋ ์ฌ์ฉ์๋ค์ ๊ฒฝ์ฐ css ํ๋ฉด์ ๋ณด๊ณ ํด๋น ์์ญ์ด ์ฒดํฌ๋ฐ์ค์์ ์ธ์งํ ์ ์์ง๋ง ์คํฌ๋ฆฐ๋ฆฌ๋๋ก ํ๋ฉด์ ํ์ํด์ผํ๋ ์ฌ์ฉ์๋ค์ ๊ฒฝ์ฐ ์์ css ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ค.
์ด๋ ์คํฌ๋ฆฐ๋ฆฌ๋ ์ฌ์ฉ์๋ค์ ์ํ ๋ฐฉ๋ฒ์ด WAI-ARIA๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
<li tabindex="0" class="checkbox" role="checkbox" checked aria-checked="true">
Receive promotional offers
</li>
role, aria-checked ARIA ์์ฑ์ ์ฌ์ฉํ์ฌ ํด๋น ์์ญ์ด ์ฒดํฌ๋ฐ์ค์ธ์ง, ์ฒดํฌ๊ฐ ๋์๋์ง ์๋์๋์ง ๊น์ง ๋ช ์ํ ์ ์๋ค.
<div role="button">์ฃผ๋ฌธํ๊ธฐ</div>
์ ํ๊ทธ๋ ํค๋ณด๋๋ก ์ ๊ทผ์ ํ ๋ ํด๋น ์ปจํ ์ธ ๋ฅผ ์ ๊ทผํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฒํผ์ ์ฉ๋์ ๋ง๊ฒ a, button ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
<!-- X -->
<div role="button">๋ฒํผ</div>
<!-- O -->
<button>๋ฒํผ</button>
<!-- X (์ค๋ณต์ ์ธ) -->
<input type="checkbox" role="checkbox">
<button role="button">๋ฒํผ</button>
<fieldset role="group">...</fieldset>
<ul role="list">...</ul>
<!-- O -->
<input type="checkbox">
<button>๋ฒํผ</button>
<fieldset>...</fieldset>
<ul>...</ul>
<!-- X -->
<button role="heading">๋ฒํผ</button>
์ด๋ฏธ์ง๋ฅผ ๋ณผ ์ ์๋ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ๋์ฒด ํ
์คํธ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋งํ๋ค.
์น ์ ๊ทผ์ฑ์ ์ผํ์ผ๋ก, ๊ทธ๋ฆผ์ ๋ณด๋ ๋ฐ์ ์ฅ์ ๊ฐ ์์ด ๋ฆฌ๋๊ธฐ๋ฅผ ํตํด ์น ๋ฌธ์์ ์ ๊ทผํ ๋์ ํ์์ ์ด๋ค.
์น ์ ๊ทผ์ฑ์ด๋?
์ด๋ ํ ์ฌ์ฉ์๊ฐ ์ด๋ ํ ๊ธฐ์ ํ๊ฒฝ์์๋ ์ ๋ฌธ์ ์ธ ๋ฅ๋ ฅ ์์ด ์น ์ฌ์ดํธ์์ ์ ๊ณตํ๋ ๋ชจ๋ ์ ๋ณด์ ์ ๊ทผํ ์ ์๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ด๋ค. ์ฆ, ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์น์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋งํ๋ค
/*
๊ณตํต, ์๋๋๊ฒ๋ค
display: none;
opacity: 0;
visibility: hidden;
width: 0;
height: 0;
font:0
position: absolute;
top: -9999px; ์ฑ๋ฅ์ ํ
left: -9999px; ์ฑ๋ฅ์ ํ
text-indent: -9999px; ์ฑ๋ฅ์ ํ
*/
.blind{
position: absolute;
width: 1px;height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
margin: -1px;
}
์ฌ๋ฌ ๊ฐ์ ์ด๋ฏธ์ง ํ์ผ๋ค์ ํ๋์ ํ์ผ๋ก ๋ณํฉํด์ ๋ฐฐ๊ฒฝ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ์ด๋ค.
์์ฒญํ๋ ํ์๊ฐ ๋ง์์ง๊ฒ ๋๋ฉด ๊ทธ๋งํผ ๋ก๋ฉ ์๋๊ฐ ๋๋ ค์ง๋๋ฐ sprite์ฒ๋ผ ํ๋์ ํ์ผ๋ก ๋ง๋ค๊ฒ ๋๋ฉด
์์ฒญ์ด ์ค์ด๋ค์ด ์๋๊ฐ ๋นจ๋ผ์ง๋ค.
๋ง์ ์ด๋ฏธ์ง ํ์ผ์ ๊ด๋ฆฌํ๋ ๋์ ํ๋์ ์คํ๋ผ์ดํธ ์ด๋ฏธ์ง ํ์ผ๋ง ๊ด๋ฆฌํ๋ฉด ๋๋ค.
img ํ๊ทธ๊ฐ ์๋ css์ background-image๋ก ์ฒ๋ฆฌ ๋๊ธฐ ๋๋ฌธ์ alt์์ฑ ์ฌ์ฉ์ด ๋ถ๊ฐํ๋ค.
๊ทธ๋์ ์์ด์ฝ, ๋ก๊ณ ์ ๊ฐ์ด ์๋ฏธ์ ํฌ๊ฒ ์ค์ํ์ง ์์ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ์ ์ด ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
์ด๋ฏธ์ง์ ๊ฐ์๊ฐ ๋์ด๋จ์ ๋ฐ๋ผ ์์ฒด์ ์ฉ๋์ด ์ปค์ง ์ ์๋ค.
์์ ์ด ํ์ํ ๊ฒฝ์ฐ ์ ์ง๋ณด์๊ฐ ๊น๋ค๋กญ๊ธฐ ๋๋ฌธ์,
์์ ์ด ์๋ ๊ฒ ๊ฐ์ ๋จ์ํ ์ด๋ชจํฐ์ฝ์ด๋ ๋ก๊ณ ์ ๊ฒฝ์ฐ์ ์์ฃผ ์ฌ์ฉํ๋ค.