sr-only
์คํฌ๋ฆฐ๋ฆฌ๋์์๋ ์ฝ์ ์ ์์ง๋ง ํ๋ฉด์์๋ ๋ณด์ด์ง ์๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฃผ๋ก ๋ถํธ์คํธ๋ฉ ํด๋์ค๋ช ์ผ๋ก ์ฌ์ฉ๋๋ค.
์ ์ฌ์ฉํ ๊น?
sr-only๋ screen reader-only๋ผ๋ ๋ป์ผ๋ก ์ฃผ๋ก ๋ถํธ์คํธ๋ฉ ํด๋์ค๋ช ์ผ๋ก ์ฌ์ฉ๋๋ค
๋ถํธ์คํธ๋ฉ ๊ณต์๋ฌธ์์ ๋ฐ๋ฅด๋ฉด,
์คํฌ๋ฆฐ ๋ฆฌ๋๋ ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ input ์์์ label์ ํฌํจํ์ง ์๋๋ค๋ฉด ์ด๋ ค์์ ๊ฒช์ ๊ฒ์ด๋ค.
์ด๋ฌํ ์ธ๋ผ์ธ ํผ๋ค์ ์ํด ์ฐ๋ฆฌ๋ .sr-only ํด๋์ค๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ label์ ๊ฐ์ถ ์ ์๋ค.
์ฐ๋ฆฌ๋ ํญ์ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ๊ณ ๋ คํ์ฌ ์น ์ ๊ทผ์ฑ์ ์ ๊ฒฝ์จ์ผํ๊ธฐ ๋๋ฌธ์ label์ ์์ ์ง์ฐ๋ ๊ฒ๋ณด๋ค ์ด๋ฌํ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ label์ ๊ฐ์ถ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผํ๋ค.
์ฆ, ์ฐ๋ฆฌ๋ ์ ๊ทผ์ฑ์ ์ํด ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ์ ์ ์๋๋ก ์ฝํ ์ธ ๋ฅผ ์จ๊ฒจ์ผํ๋ค
์ด๋ป๊ฒ ์ฌ์ฉํ ๊น?
๋ถํธ์คํธ๋ฉ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ์ผ๋ง์ด ๋ด์ฅ๋์ด์๋ค
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0); /* ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ์ฌ์ฉ */
clip-path: polygon(0 0, 0 0, 0 0); /* inset(50%) ์ ๋์ผํ ํํ */
border: 0;
}
๐ clip-path์ ๋ํด ์ดํดํ๊ธฐ
https://bennettfeely.com/clippy/
๐ ์์ ๋ง์ง(Negative margin)์ด๋?
https://min-kyung.tistory.com/82
๋ ๋ค๋ฅธ ํด๋์ค๋ช
๋ค์ด๋ฒ์์๋ ์ฃผ๋ก blind
๋ผ๋ ํด๋์ค๋ช
์ ์ฌ์ฉํ๋ค.
์ด ๋ฐ์๋ off-screen
, a11yHidden
์ด๋ผ๋ ํด๋์ค๋ช
์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค
๋ด์ฉ์ ์จ๊ธฐ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ
1. display: none, visibility: hidden
- ๋ชจ๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ด์ฉ์ ๊ฐ์ถ๋ ๋ฐฉ๋ฒ์ด๋ค
- ํ์ด์ง์ ์๊ฐ์ ์ธ ๋ถ๋ถ์์ ์ง์์ง๊ณ ์คํฌ๋ฆฐ๋ฆฌ๋์๊ฒ ๋ฌด์๋๋ค
- ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ๊ฒ ํ๋ ค๋ฉด ์ฌ์ฉํ๋ฉด ์๋๋ค
- ํ์ง๋ง ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์๋ณด์ด๊ฒ ํ ๊ฒฝ์ฐ๋ผ๋ฉด ์ฌ์ฉํด๋ ๋๋ค
2. hidden ์์ฑ
html hidden ์์ฑ์ ์๋์ ์ผ๋ก ์ต์ ๋ฌธ๋ฒ์ด์ฌ์ ์ค๋๋ ๋ธ๋ผ์ฐ์ ์์๋ ์ง์ํ์ง ์๋๋ค
์๋๋ IE 11์์ ์ง์์ํ๋๋ฐ ์ด์ ์ง์ํ๋ค
- ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ, display:none๊ณผ ๋์ผํ๊ฒ ๊ธฐ๋ฅํ๋ค
- ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ด์ง ์๋๋ค
3. width: 0px, height: 0px
- width์ height๋ฅผ ๊ฐ๊ณ ์์ง ์๋ ์์๋ค์ ํ์ด์ง์์ ์ ๊ฑฐ๋์ด ๋๋ถ๋ถ์ ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ์ง ์๋๋ค
- ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ๊ฒ ํ๋ ค๋ฉด ์์๋ฅผ 0ํฝ์ ๋ก ์ฌ์ด์ฆ๋ฅผ ์กฐ์ ํ๋ฉด ์๋๋ค
- ํ์ง๋ง
font-size: 0px
๋๋line-height:0
์ ๊ฒฝ์ฐ, ์คํฌ๋ฆฐ์ ์ธ๋ก ๊ณต๊ฐ์ ๊ฐ๊ธฐ๋๋ฌธ์ ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ์ ์ ์๋ค
์์ ๋ฐฉ๋ฒ ๋ชจ๋ ์ ์์ ์ด๋ผ๊ณ ํด์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฒ์ ์์ง์ ์ข์ง ์์ต๋๋ค
4. text-indent: -10000px
- ์ปจํ ์ธ ๋ฅผ ์ผ์ชฝ์ผ๋ก 10000ํฝ์ ์ฎ๊ฒจ์ ์คํฌ๋ฆฐ์ ๋ณด์ด๊ฒ ํ์ง ์๋ ๋ฐฉ๋ฒ์ด๋ค
- ์คํฌ๋ฆฐ ๋ฆฌ๋๋ค์ ํด๋น ํ ์คํธ๋ฅผ ์ฝ์ ์ ์๋ค
- ํ์ง๋ง ๋งํฌ, ํผ ์ปจํธ๋กค, ํฌ์ปค์คํ ์ ์๋ ์์๋ค์ ์ด๋ฐ ์คํ์ผ์ ์ ์ฉํ๋ค๋ฉด, ์์์ ํฌ์ปค์ค๊ฐ ๊ฐ์ง๋ง ํ์ด์ง์๋ ๋ณด์ด์ง ์์ ํค๋ณด๋ ์ฌ์ฉ์๋ค์ด ํผ๋์ค๋ฌ์ธ ์ ์๋ค
- top: -9999px์ ์ด์ฉํด์ ์ฝํ ์ธ ๋ฅผ ์จ๊ธฐ๋ ๋ฐฉ๋ฒ๋ ์ด์ ์ ์ฌํ๋ฐ ์คํฌ๋ฆฐ๋ฆฌ๋๋ ์ฝ์ ์ ์์ง๋ง ํฌ์ปค์ค๊ฐ ๊ฐ๋ฉด ํด๋น top ์ขํ๋ก ์ด๋ํ๋ คํ๊ธฐ ๋๋ฌธ์ ์คํฌ๋กค์ ๋งจ ์๋ก ์ฌ๋ฆฌ๊ฒ ๋๋ค
5. sr-only
๊ฐ์ฅ ์ถ์ฒํ๋ ์คํ์ผ ๋ฐฉ์์ผ๋ก ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ฝ์ ์ ์์ผ๋ฉด์ ์๊ฐ์ ์ผ๋ก๋ ์จ๊ธฐ๋ ๋ฐฉ์์ด๋ค.
'๐ฉโ๐ค ํ๋ก ํธ์๋ > html' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
<main> / <section> vs <article> (0) | 2022.07.12 |
---|---|
HTML5์ ์ฝํ ์ธ ๋ชจ๋ธ(Content Models) (0) | 2022.07.12 |
HTML ๊ธฐ๋ณธ ํ์ ๋ํด ์์๋ณด์ - <!DOCTYPE> / <head> / <meta> / <title> (0) | 2022.07.11 |