๋งํฌ ํ์ ์ฐฝ ์ค๋ช (ํดํ)์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ๋์์ธ๋ฐฉ๋ฒ
์น์ฌ์ดํธ ์ฌ์ฉ์ ๊ฒฝํ(UX)์ ๊ทน๋ํํ๋ ์น์ฌ์ดํธ UX ๊ฐ์ ์ ์ํ ํดํ ๋์์ธ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. CSS ์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ ์ปค์คํ ํดํ ์ ์ ๋ฐฉ๋ฒ๋ถํฐ ๋ฐ์ํ ์น ๋์์ธ ํดํ ๊ฐ๋ ์ฑ ๋์ด๊ณ , ๊ทธ๋ฆฌ๊ณ ํดํ ํ ์คํธ๋ฅผ ๋ถ์ํ์ฌ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI) ์ ๊ทผ์ฑ์ ์ํ ์ค๋ช ์ฐฝ ๊ตฌํ์ ๋ด์์ต๋๋ค.
์น์ฌ์ดํธ๋ ์ฑ์์ ์ด๋ค ๋ฒํผ์ด๋ ๋งํฌ ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด, ํ์ ์ค๋ช (ํดํ), ์ฆ ๊ทธ ๋ฒํผ์ด๋ ๋งํฌ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ์ด ์์ ๋ฐ์ค ํํ๋ก ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํน์ ์์ด์ฝ ์์ ์ปค์๋ฅผ ๋์์ ๋ "์ด ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค"๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ํ๋๋ ๋ฐฉ์์ ๋๋ค. ์ด๋ฌํ ํดํ ๋์์ธ์ ๋ถํ์ํ ํ๋ฉด ๊ณต๊ฐ์ ์ฐจ์งํ์ง ์์ผ๋ฉด์๋ ์ฌ์ฉ์์๊ฒ ์ฆ๊ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ๊ฐ๋ ฅํ ๋๊ตฌ ์ค ํ๋์ ๋๋ค.
๋งํฌ ํ์ ์ฐฝ ์ค๋ช (Tooltip)์ ์ญํ
์น์ฌ์ดํธ์์ ๋งํฌ ํ์ ์ฐฝ ํดํ(tooltip)์ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ํต์ฌ์ ์ธ UI ์์์ ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI) ์ ๊ทผ์ฑ์ ์ํ ์ค๋ช ์ฐฝ ๊ตฌํ์ ํนํ ๋ณต์กํ ๋์๋ณด๋๋ ์ ๋ณด ๋ฐ๋๊ฐ ๋์ ํ์ด์ง์์ ๊ทธ ์ง๊ฐ๋ฅผ ๋ฐํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํดํ์ ๋ธ๋ผ์ฐ์ ์ 'title' ์์ฑ์ ํตํด ๊ตฌํ๋์ง๋ง, SEO์ ๋์์ธ ์ผ๊ด์ฑ์ ์ํด ์ปค์คํฐ๋ง์ด์ง๋ ํดํ์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
์ฃผ์ ์ญํ ๋ฐ ์ ๋ณด ํ์ฅ
- ์์ธ ์ ๋ณด์ ํจ์จ์ ์ ๋ฌ: ํ ์คํธ๋ก ๋ค ํํํ๊ธฐ ํ๋ ๋ด์ฉ์ ์ฌ์ฉ์์๊ฒ ํ๋ถํ ๋งฅ๋ฝ์ ์ ๊ณตํฉ๋๋ค.
- ์ธํฐ๋ํฐ๋ธ UX ์ ๊ณต: ์ ์ ์ธ ํ์ด์ง์ ์๋๊ฐ์ ๋ถ์ด๋ฃ์ด ์ฒด๋ฅ ์๊ฐ์ ๋๋ฆฌ๊ณ ์ดํ๋ฅ ์ ๋ฎ์ถ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
- ๋ ์ด์์ ์ต์ ํ: ๊ณต๊ฐ ์ ์ฝ ํจ๊ณผ๋ฅผ ํตํด ๋ฏธ๋๋ฉํ ๋์์ธ์ ์ ์งํ๋ฉด์๋ ์ ๋ฌธ์ ์ธ ์ ๋ณด๋ฅผ ๋ ์ ์์ต๋๋ค.
ํดํ ์ ํ๋ณ ๋น๊ต ๋ฐ ํน์ง
| ๊ตฌ๋ถ | ๊ธฐ๋ณธ ๋ธ๋ผ์ฐ์ ํดํ | ์ปค์คํ CSS/JS ํดํ |
|---|---|---|
| ๋์์ธ ์์ ๋ | ๋ฎ์ (์์คํ ๊ธฐ๋ณธ๊ฐ) | ๋งค์ฐ ๋์ (์์, ์ ๋๋ฉ์ด์ ๊ฐ๋ฅ) |
| ์ฝํ ์ธ ํ์ฅ์ฑ | ํ ์คํธ ์ ์ฉ | ์ด๋ฏธ์ง, ๋งํฌ, ๋น๋์ค ํฌํจ ๊ฐ๋ฅ |
| SEO ์ต์ ํ | ๋ณดํต (title ์์ฑ ์์กด) | ๋์ (๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ํ์ฉ ๊ฐ๋ฅ) |
| ๋ชจ๋ฐ์ผ ๋์ | ์ ํ์ ์ | ์ฐ์ (ํฐ์น ์ด๋ฒคํธ ๋์ ๊ฐ๋ฅ) |
ํดํ ์ปค์คํฐ๋ง์ด์ง ๋ฐฉ๋ฒ
CSS ์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ ์ปค์คํ ํดํ ์ ์ ๋ฐฉ๋ฒ์ ํตํด ๋ธ๋๋ ์์ด๋ดํฐํฐ๋ฅผ ๊ฐํํ ์ ์์ต๋๋ค. ๋ฐ์ํ ์น ๋์์ธ ํดํ ๊ฐ๋ ์ฑ ๋์ด๊ธฐ๋ฅผ ์ํด์๋ ํ ์คํธ ๋๋น์ ํฐํธ ํฌ๊ธฐ ์กฐ์ ์ด ํ์์ ์ ๋๋ค.
- ์๊ฐ์ ์ผ๊ด์ฑ: ๋ธ๋๋ ์ปฌ๋ฌ๋ฅผ ์ ์ฉํ์ฌ ์์ ๋ง์ ๊ฐ์ฑ์ ํํํ์ธ์.
- ์ ๊ทผ์ฑ ์ค์: ์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์๋ฅผ ์ํด ARIA ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ฉํฐ๋ฏธ๋์ด ํ์ฉ: ๋จ์ ํ ์คํธ๋ฅผ ๋์ด HTML ์ฝํ ์ธ ์ ์ด๋ฏธ์ง๋ฅผ ๊ฒฐํฉํด ์ ๋ณด๋ฅผ ์ ์ฒด์ ์ผ๋ก ์ ๋ฌํ์ญ์์ค.

์ฝ๋ ๊ตฌํ ์์ (CSS์ JS)
์๋์ผ๋ก ํด๋์ค๋ฅผ ๋ถ์ฌํ๊ณ ํดํ์ ์์ฑํ๋ ์คํฌ๋ฆฝํธ ์ต์ ํ ์์์ ๋๋ค.
script
window.onload = function() {
var links = document.querySelectorAll('a[title]');
links.forEach(function(link) {
var tooltipText = document.createElement('span');
tooltipText.classList.add('tooltiptext');
tooltipText.textContent = link.getAttribute('title');
var imageUrl = link.getAttribute('data-image');
if (imageUrl) {
var tooltipImage = document.createElement('img');
tooltipImage.src = imageUrl;
tooltipImage.alt = "Tooltip Image";
tooltipImage.style.width = "100%";
tooltipText.appendChild(tooltipImage);
}
link.classList.add('custom-tooltip');
link.appendChild(tooltipText);
link.removeAttribute('title');
});
};
/script
.custom-tooltip {
position: relative;
text-decoration: none;
}
.custom-tooltip .tooltiptext {
visibility: hidden;
width: 200px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 5px;
padding: 10px;
line-height: 1.5;
position: absolute;
z-index: 1;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
opacity: 0;
transition: opacity 0.3s ease-in-out;
}
.custom-tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
Q1. ํดํ ์ฌ์ฉ์ด SEO์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์๋์?
A1. ํดํ ์์ฒด๋ ๋ถ์ ์ ์ด์ง ์์ง๋ง, ์ค์ํ ํค์๋๋ฅผ ํดํ ์์๋ง ์จ๊ฒจ๋๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ๊ฒ์ ์์ง์ ์ฌ์ฉ์์๊ฒ ์ง์ ๋ ธ์ถ๋๋ ํ ์คํธ๋ฅผ ์ฐ์ ์์๋ก ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
Q2. ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ํดํ์ ์ด๋ป๊ฒ ์๋ํ๋์?
A2. ๋ชจ๋ฐ์ผ์ ๋ง์ฐ์ค ํธ๋ฒ ๊ธฐ๋ฅ์ด ์์ผ๋ฏ๋ก, ํฐ์น ์ ํดํ์ด ๋ํ๋๋๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ๋ฅผ ์์ ํ์ฌ ๊ฐ๋ ์ฑ์ ๋์ฌ์ผ ํฉ๋๋ค.
Q3. ํดํ์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ผ๋ฉด ๋ก๋ฉ ์๋์ ์ํฅ์ด ์๋์?
A3. ์ด๋ฏธ์ง๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๋ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก, ์ง์ฐ ๋ก๋ฉ ๋ฐฉ์์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ๋ฒผ์ด ์ด๋ฏธ์ง ํ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๊ฒ์์์ง ์ต์ ํ(SEO)์ ํดํ ํ ์คํธ์ ์๊ด๊ด๊ณ๋ฅผ ์ดํดํ๊ณ , ์ ์ ํ ์ปค์คํ ์ ๊ตฌํํ๋ ๊ฒ์ ํ๋ ์น ๋์์ธ์ ํ์ ์์์ ๋๋ค. ํ์ํ ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฌํ์ฌ ๋์์ธ์ ๊ฐ์ ํด ๋ณด์ธ์!