์ด์ ์ ์ดํด๋ดค๋ ํ ์ค ๊ธ๋ค ๐
2024.07.05 - [๐ฉ๐ป๐ป dev] - ํ ์คใ ฃSLASH 23 - ํผ๋ : ์์์ง๋ ํ์ด์ง ํ ๋ฐฉ์ ๊ด๋ฆฌํ๊ธฐ (TOSH | SLASH 23 - Funnel Pattern : Organizing an overflow of pages at once)๐ฃ๏ธ ์ด๋ ์์ ๋ํ๋ผ๋ ์ฒดํํ ์ ์๊ฐ ์๋ค.
๋ช ๋ฌ ์ ์ ์๋ฅผ ๊ฐ๋ค ์๋๋ฐ ์คํฌ์ผ๋ฌ ์์ด ์ด์ผ๊ธฐ๋ฅผ ํ์๋ฉด, ์๊ฐ์ ์ธ ์ ๋ณด๊ฐ ์์ ๋ ๋ด๊ฐ ์ผ๋ง๋ ๋ฌด๋ ฅํ ์ง ๊นจ๋ซ๋ ์๊ฐ์ด์๋ค. ์์ฆ ์ ๋ณด๋ฅผ ์ป๋ ๊ฑด ๋ด ์ ์์ ํฐ์ผ๋ก ๊ฐ๋จํ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์ญ์ผ๋ก ํฐ์ผ๋ก ๊ฒ์์ ํ ์๊ฐ ์๊ฑฐ๋ ์ด๋ ค์ด ์ํฉ์ด๋ผ๋ฉด? ๊ทธ๋ผ ์ ๋ณด์ ๊ฒฉ์ฐจ๋ ๊ทธ๋ฅ ๊ฒฌ๋์ผ ํ๋ ๊ฑธ๊น?
์ฌ์ฉ์๋ผ๋ฉด ์ ํ๊ถ์ด ๋ง์ง ์์ ์๋ ์๊ฒ ์ง๋ง, ๊ฐ๋ฐ์๋ผ๋ฉด ๊ทธ๋ฐ ๊ฒฉ์ฐจ๋ฅผ ์ค์ด๋๋ก ๋ ธ๋ ฅํด์ผ ํ์ง ์์๊น ์ถ๋ค.
์ค๋์ ํ ์ค SLASH23 ์์ ๋ค๋ฃฌ ๋๊ตฌ๋ ์ธ ์ ์๋ ์ ๊ทผ์ฑ ๋์ ํ ์ค ๋ง๋ค๊ธฐ์ ๋ํด ์ดํด๋ณด์.
TDS : Toss Design System
ํ ์ค์๋ ๊ฐ๊ฐ์ ๊ณ ์ ํ ๊ธฐ๋ฅ๊ณผ ํํ๋ฅผ ๊ฐ์ง ์ปดํฌ๋ํธ๋ค์ด ์ ์๋์ด ์๋ค. ์ด ์ปดํฌ๋ํธ๋ค์ ์กฐํฉํ์ฌ ์ผ๊ด๋ ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค.
๋์์ธ ์์คํ ์ค๊ณ ์ UI ๊ตฌ์ฑ, ์ ๋๋ฉ์ด์ , ์ธํฐ๋ ์ , ์ ๊ทผ์ฑ์ ๊ณ ๋ คํด์ ๋ง๋ ๋ค. ์ค๋์ ์ด ์ค์ ์ ๊ทผ์ฑ์ ๋ํด ์ดํด๋ณด์.
ํ ์ค์ ๋ชฉํ : ๋ชจ๋์๊ฒ ์ฝ๊ณ ๊ฐํธํ ๊ธ์ต ์ ๊ณต
๊ธ์จ๊ฐ ์์์ ํฌ๊ธฐ๋ฅผ ํค์์ ์ฝ๊ณ ์ถ์ ์ ์ , ์๊ฐ ์ฅ์ ๊ฐ ์์ด์ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ด์ฉํด์ผ ํ๋ ์ ์ ๋ชจ๋ ๋์ผํ๊ฒ ์ฑ์ ์ด์ฉํ ์ ์์ด์ผ ํ๋ค. ํ ์ค๋ ์ฒ์๋ถํฐ ์ ๊ทผ์ฑ์ ๊ณ ๋ คํ์ง ์์์ง๋ง, ์ ์ ์ฌ์ฉ์๊ฐ ๋ง์์ง๊ณ ๋ค์ํ ์ํฉ์ ์ฌ์ฉ์๋ค์ด ์ ๊ทผ์ฑ์ ์ฌ๋ ค๋ฌ๋ผ๋ ๋ฌธ์ ์ฌํญ์ด ๋์ด๋ฌ์๋ค. ์ด๋ฐ ์๊ตฌ ์ฌํญ๋ค์ ์ผ๊ด์ฑ ์์ด ๋ฐ์ํ๋ค ๋ณด๋ ์์ฐ์ฑ๋ ๋จ์ด์ง๊ณ ํ๋ฉด์ด ์คํ์ผ์ด ๊นจ์ง๋ ๋ถ๋ถ์ด ๋ฐ์ํ์๋ค.
๋จ์ํ ์คํ์ผ ์ถ๊ฐ/๋ณ๊ฒฝ์ด ์๋ ๋์์ธ ์์คํ ์ ์ ๊ทผ์ฑ์ ๊ฐ๋ ์ ๋์ ์ ํด์ ์ด๋ฐ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ณ ์ ํ๋ค.
๋ค์์ ํ ์ค๊ฐ ์ ๊ทผ์ฑ์ ๋์ํ๊ธฐ ์ํด ๋์ ํ ์์๋ค์ ์ดํด๋ณด์.
1. ํฐ ๊ธ์จ ๋ชจ๋
ํฐ ๊ธ์จ ํ๋ฉด์์๋ ์ด๋ป๊ฒ ๋ณด์ผ๊น? ๊ทธ๋ฅ ๊ธ์จ๋ฅผ ํค์ฐ๋ฉด ๋๋ ๊ฑฐ๋๊น ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ ์ถ์ ์๋ ์๋ค.
์ผ๋ฐ์ ์ผ๋ก ๊ธ์๋ง ์ปค์ง๊ณ ๋ด์ฉ์ ๊ทธ๋๋ก ๋ค ๋ณด์ผ ๊ฑฐ๋ผ๊ณ ์์ํ์ง๋ง, ๋์ ์์ด ๊ธ์๋ง ํค์ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ด ๋ฒ์ด์ง๋ค.
์ด๋ ์คํ์ผ ๊นจ์ง์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด maxLines๋ฅผ ํ ์ค๋ก ์ ํํ๊ณ ๋์น๋ ๋ถ๋ถ์ ๋ง ์ค์ํ๋ก ๋์ฒดํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ค.
textView.maxLines = 1;
maxLine์ ์ ํํ๋ฉด ์ฅ๋จ์ ์ด ๊ฐ๊ฐ ์๋ค.
๐ ์ฅ์ | ๐ ๋จ์ |
- ๊ฐ๋ฐ ๋์ด๋๊ฐ ๋ฎ๋ค. - UI ๊ตฌ์ฑ์ด ์ ์ง๋๋ค. |
- ์ ์ ์ ์ ๊ถ๋ฆฌ ์นจํด (์ ๋ฌ๋๋ ์ ๋ณด๊ฐ ๋ํญ ๊ฐ์) |
์ฅ์ ๋ ๋งค๋ ฅ์ ์ด์ง๋ง ๋จ์ ์ด ๋๋ฌด ์น๋ช ์ ์ด๋ค. ์ฌ์ฉ์์ ํ๊ฒฝ์ ๋ฐ๋ผ ์ ๋ณด์ ์์ ์ฐจ๋ณํ๊ฒ ๋๋ค.
์ผ๋จ maxLine ์ ํ์ ํด์ ํ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์์ง๋ค.
์ ๋ณด๋์ ์ผ๋ฐ ๋ชจ๋์ ๋์ผํด์ก์ง๋ง ์ปดํฌ๋ํธ ํฌ๊ธฐ๊ฐ ์ผ๊ด์ ์ด์ง ์๊ณ ์คํ์ผ์ด ๊นจ์ง๋ค.
ํ ์ค๋ ์ปดํฌ๋ํธ์ ๋ฐฐ์น ๋ฐฉ์์ ๋ณ๊ฒฝํ์ฌ ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
ํ์ง๋ง ํญ๊ณผ ๊ฐ์ด ํ์ ๋ ๊ณต๊ฐ์ UI๋ฅผ ํ์ํด์ผ ํ ๊ฒฝ์ฐ์๋ ๋ ์ด์์ ๋ฐฐ์น ๋ณ๊ฒฝ์ผ๋ก๋ ํด๊ฒฐํ ์ ์์๋ค.
์ด ๊ฒฝ์ฐ ํ ์ค๋ ๋ง ์ค์ ๋ก์ง์ ์ ์งํ ์ฑ ํญ์ ์ ํํ๋ฉด BottomSheet์ผ๋ก ํญ์ ์๋ ์ ํ์ง๋ฅผ ์์ธํ ๋ณด์ฌ์ฃผ๋ ๋์์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค.
2. ๊ฐํ ๋ฌธ์
๊ธ์ด ๋๋ฌด ๊ธธ์ด์ง๋ฉด ๊ฐ๋ ์ฑ์ ์ํด ์ค์ ๋๋์ด ๋ณด์ฌ์ค ๋๊ฐ ์๋ค.
๊ทผ๋ฐ ํฐ ๊ธ์จ ๋ชจ๋์์๋ ์๋์ ๋ค๋ฅธ ๊ณณ์ ๊ฐํ ๋ฌธ์๊ฐ ์ถ๊ฐ๋์ด ์คํ๋ ค ๊ฐ๋ ์ฑ์ ํค์น๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
๊ทธ๋ ๋ค๊ณ ๊ฐํ ๋ฌธ์๋ฅผ ์์ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ค์๊ฒ ๋ถํธํจ์ ์ค ์ ์๋ค.
ํ ์ค๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ๊ธ์จ ๋น์จ์ ๋น๊ตํ๋ฉฐ ์๋์น ์์ ๊ณณ์ ๊ฐํ์ด ๋น๋ฒํ ๊ธ์จ ํฌ๊ธฐ๋ฅผ ์ฐพ์
ํด๋น ํฌ๊ธฐ ์ด์์ ๋ชจ๋์์๋ ๊ฐํ ๋ฌธ์ ๋์ ๊ณต๋ฐฑ์ ์ฑ์๋ฃ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค.
์ด๋ฐ ๋ฐฉ์์ ํตํด ํฐ ๊ธ์จ ๋ชจ๋์์ ์ด์ํ ๊ฐํ์ ์ ๊ฑฐํด ๋์์ธ์ ์์ฑ๋๋ฅผ ๋์ผ ์ ์๊ฒ ๋์๋ค.
3. ์คํฌ๋ฆฐ ๋ฆฌ๋ ๊ธฐ๋ฅ
ํด๋ํฐ ์ค์ ์ ๋ค์ด๊ฐ์ ์ง์ ๊ฒฝํํด๋ณผ ์ ์๋ค.
์คํฌ๋ฆฐ ๋ฆฌ๋(screen reader)๋ ํ๋ฉด์ ํ ์คํธ๋ฅผ ์์ฑ์ผ๋ก ์ฝ์ด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
์คํฌ๋ฆฐ ๋ฆฌ๋์ ํต์ฌ ๊ฐ๋ ๋ค
1) ๋์ฒด ํ ์คํธ
- ์ ์ : ์ด๋ฏธ์ง์ ๊ฐ์ด ์๊ฐ์ ์ผ๋ก ์ป์ ์ ์๋ ์ ๋ณด์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ ์ํด ์ค์ ํ๋ ํ๋กํผํฐ
- ์์ : ์ด๋ฏธ์ง์ ํ ์คํธ๊ฐ ๋ค์ด๊ฐ ์๊ฑฐ๋ ๋ก๊ณ ๋ค์ฒ๋ผ ์ค๋ช ์ ๋์ ํ๋ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ ๋ ์ฌ์ฉ
2) ์ด์
- ์ ์ : ์ปดํฌ๋ํธ๋ฅผ ํฌ์ปค์ฑํด์ฃผ๋ ๋์
- ์์ : ๋ค์ํ ๋์๋ค์ ํตํด ๋ณด๋ด๊ธฐ ๋ฒํผ์ฒ๋ผ ์ํธ์์ฉ ๊ฐ๋ฅํ ์์ญ์ ํฌ์ปค์ฑ
์ผ๋ฐ์ ์ธ ์ด์ ํ๋ฆ์ ์ข์์ ์ฐ๋ก, ์์์ ์๋๋ก ์ด๋ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์์ฐ์ค๋ฝ๊ฒ ์ผ๋ฐ ์ฌ์ฉ์๋ค์ ์ฝ๊ด ์ปดํฌ๋ํธ๋ฅผ ํ๋์ ๋ฉ์ด๋ฆฌ๋ก ์ธ์ํ์ง๋ง,
์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์๋ ์ด์ ์ด๋์ ๋ฐ๋ผ "์ฒดํฌ ํด์ ๋จ, ๊ฐ์ธ ์ ๋ณด ๋ฐ ๊ธ์ต ์ ๋ณด ์ ๊ณต ๋์, ์๋ ๋ฐฉํฅ ํ์ดํ" ์ธ ๋ฉ์ด๋ฆฌ๋ก ์ธ์๋๋ค.
์ด๋ ๊ฐ๋ฐ์๊ฐ ๊ฐ ์ด์ ๋ค์ ํ๋์ ๋ฉ์ด๋ฆฌ๋ก ๋ฌถ์ด์ฃผ์ง ์๋๋ค๋ฉด
์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์๋ ์ฒดํฌ๊ฐ ํด์ ๋ ๊ฒ ์ด๋ค ํญ๋ชฉ์ ํด๋น๋๋์ง ์ ์๊ฐ ์๊ณ , ์๋ ๋ฐฉํฅ ํ์ดํ๊ฐ ๋ฌด์จ ๋์์ ํ๋์ง ์ ์๋ ์๋ค.
์๋์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฒดํฌ๋ฐ์ค์์ ์ฝ๊ด ๋ด์ฉ์ ์ฝ์ด์ฃผ๋๋ก ๋ณ๊ฒฝํ๊ณ , ํด๋ฆญ ์ ์ ํ๊ณผ ํผ์ณ์ง ์ํ๋ฅผ ์ฝ์ด์ค์ ์ด์ ์ผ๋ก ๊ฐ ๋์์ ๋ช ํํ๊ฒ ๋ํ๋ผ ์ ์๋ค.
์ํ ์ ๋ณด ๊ฐฑ์
์คํฌ๋ฆฐ ๋ฆฌ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด์ ์ํ๊ฐ ๋ณํ ๋ ์๋์ผ๋ก ์ฝ์ด์ฃผ์ง ์๋๋ค. ํ ์ค๋ ๋ณ๊ฒฝ ์ํ๋ฅผ ์ฝ์ด์ฃผ๋๋ก ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ์ฌ ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ํ๋ค.
๐ ๋ง์น๋ฉด์
์ ๊ทผ์ฑ์ ๋์ผ ์ ์๋ ๋ฐฉ์๋ค์ ํ ์ค์ ๊ธ์จ ํฌ๊ฒ ๋ณด๊ธฐ ๋ชจ๋์ ์คํฌ๋ฆฐ ๋ฆฌ๋ ๋ชจ๋์ ๋ํด ์ดํด๋ดค๋ค.
ํ๋ฒ ์์ฃผ ๋ค๋ฆฌ๋ ์ฌ์ดํธ์์ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ผ๊ณ ๋์ ๊ฐ๊ณ ์ฌ์ฉํด ๋ณด๋ฉด ๋ง์ ์๊ฐ์ด ๋ ์๋ฐ์ ์๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ถํฐ๋ ์ ๊ทผ์ฑ๋ ์ฑ๊ฒจ๊ฐ๋ฉด์ ๊ฐ๋ฐ์ ํด๋ด์ผ๊ฒ ๋ค!
๐ References
https://www.youtube.com/watch?v=_GwTZnhLcDI
'๐ฉ๐ปโ๐ป dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๐ป ์ปดํจํฐ ์ฉ์ด ] "Opinionated"๋? (1) | 2024.08.07 |
---|---|
โ๏ธ ๋ฆฌ์กํธ ํจํด : Compound Components (ํฉ์ฑ ์ปดํฌ๋ํธ) (0) | 2024.08.06 |
CI/CD : github action no triggered when pushing to branch (0) | 2024.07.30 |
๋คํฌ ๋ชจ๋ ๊ตฌํ (feat. ์ ์ /os ์ ์ด๊ถ ๋๊ธฐ๊ธฐ) (0) | 2024.07.24 |
[Sass] ์ฃผ์(Comments) (0) | 2024.07.21 |