๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กUX๋””์ž์ธ (3)

UI Code Lab

๐ŸŒ™ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ์•ˆํ•จ์„ ์ œ๊ณตํ•˜๋Š” ์›น – ๋ฐ”๋‹๋ผ JS๋กœ ๋‹คํฌ ๋ชจ๋“œ ์ „ํ™˜ ๊ตฌํ˜„ํ•˜๊ธฐ

์›น์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ํ™˜๊ฒฝ์ด ๋‹ค์–‘ํ•ด์ง€๋ฉด์„œ, ์ด์šฉ์ž๋“ค์€ ๋ฐ๊ณ  ํ™”๋ คํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ณด๋‹ค ๋ˆˆ์— ํŽธ์•ˆํ•œ ์–ด๋‘์šด ํ…Œ๋งˆ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์กŒ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐค ์‹œ๊ฐ„์ด๋‚˜ ์กฐ๋ช…์ด ๋‚ฎ์€ ๊ณณ์—์„œ ์ ‘์†ํ•  ๊ฒฝ์šฐ, ํ™”๋ฉด์ด ์ง€๋‚˜์น˜๊ฒŒ ๋ฐ์œผ๋ฉด ์‹œ์•ผ์— ๋ถ€๋‹ด์„ ์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(๋ฐ”๋‹๋ผ JS)๋งŒ์œผ๋กœ ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์ง๊ด€์ ์ธ ๋‹คํฌ ๋ชจ๋“œ ํ† ๊ธ€ ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ณ , ์‚ฌ์šฉ์ž ์„ค์ •์„ ๊ธฐ์–ตํ•˜๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ์‹ค๋ฌด์—๋„ ์ถฉ๋ถ„ํžˆ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿงฑ HTML ๊ตฌ์„ฑ – ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์‹œ์ž‘๋จผ์ € ํ…Œ๋งˆ ์ „ํ™˜ ๋ฒ„ํŠผ์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ๐ŸŒž / ๐ŸŒš ๋ชจ๋“œ ์ „ํ™˜ ์ด ๋ฒ„ํŠผ์€ ๋ผ์ดํŠธ/๋‹คํฌ ๋ชจ๋“œ ์ „ํ™˜์„ ๋‹ด๋‹นํ•˜๋ฉฐ, id ์†์„ฑ์„ ํ†ตํ•ด ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ฉ..

๐Ÿ“Š ์Šคํฌ๋กค ํผ์„ผํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ ˆ์Šค ๋ฐ” ๋งŒ๋“ค๊ธฐ – ๋ฐ”๋‹๋ผ JS๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์ „ UI

์›น์‚ฌ์ดํŠธ๋ฅผ ์ฝ๋‹ค ๋ณด๋ฉด ์ƒ๋‹จ์— ์–‡์€ ๋ฐ”๊ฐ€ ์Šค๋ฅด๋ฅต ์ฐจ์˜ค๋ฅด๋Š” ๊ฑธ ๋ณธ ์  ์žˆ์œผ์‹ ๊ฐ€์š”? ์ด๊ฑด ๋ฐ”๋กœ ์Šคํฌ๋กค ํผ์„ผํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ ˆ์Šค ๋ฐ”(progress bar)์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์–ผ๋งˆ๋‚˜ ์ฝ์—ˆ๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” UI๋กœ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ๋†’์ด๋Š” ๋ฐ ํšจ๊ณผ์ ์ด์—์š”. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๋ฐ”๋‹๋ผ JavaScript๋งŒ์œผ๋กœ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽฏ ๊ตฌํ˜„ ๋ชฉํ‘œ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กคํ•œ ๋น„์œจ์— ๋”ฐ๋ผ ์ƒ๋‹จ ๋ฐ”์˜ ๋„ˆ๋น„๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€ํ•จHTML, CSS, JavaScript๋งŒ ์‚ฌ์šฉ๋ฐ˜์‘ํ˜• ์›น์—์„œ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ž‘๋™ ๐Ÿงฉ HTML ๊ตฌ์กฐ progress-container: ์ „์ฒด ํ”„๋กœ๊ทธ๋ ˆ์Šค ๋ฐ” ์˜์—ญprogress-bar: ์‹ค์ œ ๋„ˆ๋น„๊ฐ€ ๋ณ€ํ•˜๋Š” ๋ฐ” ์š”์†Œ ๐ŸŽจ CSS ์Šคํƒ€์ผ๋ง .progress-container..

๋ฐ˜์‘ํ˜• ์›น์„ ์œ„ํ•œ table ๊ตฌ์กฐ ๊ฐœ์„  – ul, li๋กœ ๋ฐ”๊พธ๊ณ  ์ ‘๊ทผ์„ฑ๊นŒ์ง€ ์ฑ™๊ธฐ๊ธฐ

์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ(table) ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฑด ํ”ํ•œ ์ผ์ด์ง€๋งŒ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ํ‘œ๊ฐ€ ์ž˜๋ ค ๋ณด์ด๊ฑฐ๋‚˜ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ ์œ ์šฉํ•œ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ table์„ ul, li ๊ตฌ์กฐ๋กœ ๋ฐ”๊ฟ” ๋ฐ˜์‘ํ˜•์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์‹ค์ œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด table์„ ul/li๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•๊ณผ, ์ ‘๊ทผ์„ฑ(Accessibility)๊นŒ์ง€ ๊ณ ๋ คํ•œ ๋งˆํฌ์—… ์ „๋žต์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. โœ… ์™œ table ๋Œ€์‹  ul, li๋ฅผ ์‚ฌ์šฉํ• ๊นŒ? ํ•ญ๋ชฉtableul, li๋ฐ˜์‘ํ˜• ๊ตฌํ˜„์–ด๋ ค์›€์œ ์—ฐํ•จ์Šคํƒ€์ผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ œํ•œ์ ์ž์œ ๋กœ์›€์ ‘๊ทผ์„ฑ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ ์ œ๊ณต์ถ”๊ฐ€ ์†์„ฑ ํ•„์š”๋ชจ๋ฐ”์ผ ๊ฐ€๋…์„ฑ๋‚ฎ์Œ๋†’์Œtable์€ ์˜๋ฏธ๋ก ์ ์œผ๋กœ๋Š” ์ข‹์ง€๋งŒ, ์ž‘์€ ํ™”๋ฉด์—์„œ ์Šคํฌ๋กค ์—†์ด ๋ณด๊ธฐ ์–ด๋ ต๊ณ  ์Šคํƒ€์ผ๋ง๋„ ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค. ul, li ๊ตฌ์กฐ๋Š” ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•  ..