์ฒดํฌ๋ฐ์ค ํ๋๋ก ๋์ํ๋ ํ ๊ธ ์ค์์น CSS๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. ๋๋น์ ๋์ด, ์์ก์ด ์ฌ๋ฐฑ, ์์ ๋ฃ์ผ๋ฉด ์์ก์ด ์ง๋ฆ๊ณผ ์ด๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด ์ ์ธ์ผ๋ก ๋ฃ์ด ์ฃผ๊ณ , ๋ฐ๋ก ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ ์ค์ ๋ก ๋๋ฌ ๋ณผ ์ ์์ต๋๋ค.
๊ตฌ์กฐ๋ label์ด input[type=checkbox]์ span์ ๊ฐ์ธ๊ณ , input์ ๋์ ๋ณด์ด์ง ์๊ฒ ๋ ๋ค :checked์ ํ์ ์ ํ์๋ก span์ ๋ชจ์์ ๋ฐ๊พธ๋ ๋ฐฉ์์ ๋๋ค. ์์ก์ด ์ง๋ฆ์ ๋์ด์์ ์ฌ๋ฐฑ์ ๋ ๋ฒ ๋บ ๊ฐ์ด๊ณ , ์ผ์ง ๋ ์ฎ๊ฒจ ๊ฐ๋ ๊ฑฐ๋ฆฌ๋ ๋๋น์์ ๋์ด๋ฅผ ๋บ ๊ฐ์ ๋๋ค. ํค๋ณด๋ ์ฌ์ฉ์๋ฅผ ์ํด :focus-visible ํ ๋๋ฆฌ ์ ์ธ๋ ํจ๊ป ๋ฃ์ต๋๋ค. ์ ํ์ ๋์์ W3C CSS Selectors Level 4 ๋ฅผ ๋ฐ๋ฆ ๋๋ค(2026๋ 10์ ๊ธฐ์ค).
์ ํ ์๊ฐ๊ณผ ๊ณก์ ์ ๊ถ์ฅ๊ฐ์ ์ ์ํ์ง ์๊ณ ์ ๋ ฅํ ๊ฐ์ ๊ทธ๋๋ก ์๋๋ค. ์ด ๋๊ตฌ๋ ๋ผ๋ฒจ ๋ฌธ๊ตฌ๋ ์ํ ์๋ฆผ ํ ์คํธ, ๋นํ์ฑ ์ํ ์คํ์ผ์ ๋ง๋ค์ง ์์ต๋๋ค. ์์ง์์ ์ค์ฌ ๋ฌ๋ผ๋ ์ค์ ์ ์กด์คํ๋ ค๋ฉด prefers-reduced-motion ๋ธ๋ก์ ๋ฐ๋ก ์ถ๊ฐํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ฒดํฌ ์ํ๋ฅผ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ด๋ฆฌํ๊ฒ ๋๋ฉด ํค๋ณด๋ ์กฐ์๊ณผ ํผ ์ ์ก, ๋ณด์กฐ๊ธฐ์ ์ฝ๊ธฐ๊ฐ ๊ทธ๋๋ก ๋์ํฉ๋๋ค. ๋ชจ์๋ง ํ์ span์ ์ ํ๋ ๋ฐฉ์์ ๋๋ค.
์ ๋ฉ๋๋ค. display: none์ธ ์ ๋ ฅ์ ์ด์ ์ ๋ฐ์ ์ ์์ด ํค๋ณด๋๋ก ์ผ๊ณ ๋ ์ ์์ต๋๋ค. ํฌ๊ธฐ๋ฅผ 1px๋ก ์ค์ด๊ณ opacity๋ฅผ 0์ผ๋ก ๋์ธ์.
์ด ๋๊ตฌ๋ ๊ถ์ฅ ์๊ฐ์ ์ ์ํ์ง ์์ต๋๋ค. ์ ๋ ฅํ ๊ฐ์ ๊ทธ๋๋ก ์ฝ๋์ ๋ฃ์ด ์ค ๋ฟ์ด๋ฉฐ, 0์ ๋ฃ์ผ๋ฉด ์ ๋๋ฉ์ด์ ์์ด ์ฆ์ ๋ฐ๋๋๋ค.