๐Ÿ“„

WAI-ARIA Attributes

๋ฌธ์„œ ๊ด€๋ฆฌ ์ฑ…์ž„์ž [UX]์ด๋ช…์ฃผ
ํƒœ๊ทธ๊ฐ€์ด๋“œ
์ตœ์ข… ํŽธ์ง‘ ์ผ์‹œ
์ตœ์ข… ํŽธ์ง‘์ž[UX]์ด๋ช…์ฃผ
์ถ”๊ฐ€ ์นดํ…Œ๊ณ ๋ฆฌํผ๋ธ”๋ฆฌ์‹ฑ
ํ˜„์žฌ ๋ฌธ์„œ ์ƒํƒœ ์Šคํƒ ๋‹ค๋“œ

๋ชฉ์ฐจ

1. ์ง€์›๋˜๋Š” ์ƒํƒœ ๋ฐ ์†์„ฑ

WAI-ARIA(Web Accessibility Initiative - Accessible Rich Internet Applications)๋Š” ์›น ์ฝ˜ํ…์ธ ์™€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด๋‹ค ์ ‘๊ทผ์„ฑ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ  ๋ช…์„ธ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋Š” WAI-ARIA 1.2์˜ ์ตœ์‹  ๊ถŒ๊ณ  ์‚ฌํ•ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ, ์›น ๊ฐœ๋ฐœ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์†์„ฑ ๋ฐ ์ƒํƒœ์— ๋Œ€ํ•ด ๋ถ„๋ฅ˜ํ•˜๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

1-1. ๋ฒˆ์—ญ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์™€ ์†์„ฑ

HTML ์‚ฌ์–‘์€ ๋‹ค๋ฅธ ์‚ฌ์–‘๋“ค์ด ๋ฒˆ์—ญ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ณด์กฐ ๊ธฐ์ˆ  ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ดํ•ด๋  ์ˆ˜ ์žˆ๋„๋ก, ๋‹ค์Œ ์ƒํƒœ์™€ ์†์„ฑ์˜ ๊ฐ’์€ ๋ฒˆ์—ญ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์ด๋ฉฐ ํŽ˜์ด์ง€๊ฐ€ ํ˜„์ง€ํ™”๋  ๋•Œ ๋ฒˆ์—ญ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

1-2. ์ „์—ญ ์ƒํƒœ์™€ ์†์„ฑ

์ผ๋ถ€ ์ƒํƒœ์™€ ์†์„ฑ์€ ์—ญํ• ์ด ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋ชจ๋“  ํ˜ธ์ŠคํŠธ ์–ธ์–ด ์š”์†Œ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ „์—ญ ์ƒํƒœ์™€ ์†์„ฑ์€ ๋ชจ๋“  ์—ญํ• ๊ณผ ๋ชจ๋“  ๊ธฐ๋ณธ ๋งˆํฌ์—… ์š”์†Œ์—์„œ ์ง€์›๋˜๋ฉฐ, ๋‹ฌ๋ฆฌ ๊ธˆ์ง€๋˜์ง€ ์•Š๋Š” ํ•œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ญํ• ์ด ์–ด๋–ค ์ „์—ญ ์ƒํƒœ๋‚˜ ์†์„ฑ์˜ ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ ์ƒํƒœ๋‚˜ ์†์„ฑ์€ ์—ญํ• ์„ ์ •์˜ํ•˜๋Š” ์„น์…˜์— ํฌํ•จ๋œ ํŠน์„ฑ ํ‘œ์—์„œ ๊ธˆ์ง€๋œ ๊ฒƒ์œผ๋กœ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

1-3. WAI-ARIA ์ƒํƒœ ๋ฐ ์†์„ฑ ๋ถ„๋ฅ˜

์ƒํƒœ์™€ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

1-3-1. Widget Attributes

์ด ์„น์…˜์€ GUI ์‹œ์Šคํ…œ์ด๋‚˜ ํ’๋ถ€ํ•œ ์ธํ„ฐ๋„ท ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›๊ณ  ์‚ฌ์šฉ์ž ๋™์ž‘์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์— ํŠนํ™”๋œ ์†์„ฑ๋“ค์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ๋“ค์€ ์œ„์ ฏ ์—ญํ• ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์œ„์ ฏ ์†์„ฑ์€ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ์— ์˜ํ•ด ํ”Œ๋žซํผ ์ ‘๊ทผ์„ฑ API ์ƒํƒœ๋กœ ๋งคํ•‘๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ณด์กฐ ๊ธฐ์ˆ ์— ์˜ํ•ด ์ ‘๊ทผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š”, DOM์—์„œ ์ง์ ‘ ์ ‘๊ทผ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ๋ณด์กฐ ๊ธฐ์ˆ ์ด ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋ฐ˜๋“œ์‹œ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค). ์ด๋Š” DOM ์†์„ฑ ๋ณ€๊ฒฝ ์ด๋ฒคํŠธ๋‚˜ ํ”Œ๋žซํผ ์ ‘๊ทผ์„ฑ API ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1-3-2. Live Region Attributes

์ด ์„น์…˜์€ ํ’๋ถ€ํ•œ ์ธํ„ฐ๋„ท ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‹ค์‹œ๊ฐ„ ์˜์—ญ์— ํŠนํ™”๋œ ์†์„ฑ๋“ค์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ์€ ์–ด๋–ค ์š”์†Œ์—๋„ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ๋“ค์˜ ๋ชฉ์ ์€ ์š”์†Œ๊ฐ€ ํฌ์ปค์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์„ ๋•Œ๋„ ๋‚ด์šฉ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๊ณ , ๊ทธ๋Ÿฌํ•œ ๋‚ด์šฉ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด์กฐ ๊ธฐ์ˆ ์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€ ์—ญํ• ์€ ํ•ด๋‹น ์—ญํ• ์— ํŠน์ •ํ•œ aria-live ์†์„ฑ์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์˜์—ญ์˜ ์˜ˆ๋กœ๋Š” ์—…๋ฐ์ดํŠธ๋˜๋Š” ์ฃผ์‹ ์‹œ์„ธ๋ฅผ ๋‚˜์—ดํ•˜๋Š” ํ‹ฐ์ปค ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1-3-3. Drag-and-Drop Attributes

์ด ์„น์…˜์€ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋“œ๋ž˜๊ทธ ๊ฐ€๋Šฅํ•œ ์š”์†Œ์™€ ๊ทธ๋“ค์˜ ๋“œ๋กญ ๋Œ€์ƒ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋“œ๋กญ ๋Œ€์ƒ ์ •๋ณด๋Š” ์ €์ž์— ์˜ํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ๋ Œ๋”๋ง๋˜๊ณ , ๋Œ€์ฒด ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ๋ณด์กฐ ๊ธฐ์ˆ ์— ์ œ๊ณต๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

1-3-4.ย Relationship Attributes

์ด ์„น์…˜์€ ๋ฌธ์„œ ๊ตฌ์กฐ์—์„œ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์—†๋Š” ์š”์†Œ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋‚˜ ์—ฐ๊ด€์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ๋“ค์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

1-4. ์ƒํƒœ ๋ฐ ์†์„ฑ ์ •์˜(๋ชจ๋“  aria-* ์†์„ฑ) - 48๊ฐœ

์Šคํฌ๋ฆฐ๋ฆฌ๋” ์ง€์›์—ฌ๋ถ€ ํ™•์ธ ์‚ฌ์ดํŠธ

Accessibility Support
Important: This website does not attempt to establish a standard for how assistive technologies must behave. Read the FAQ for more information. Additionally, this is a work in progress. Please submit feedback or suggestions.
https://a11ysupport.io/

1-4-1. aria-activedescendant (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-2. aria-atomic (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-3. aria-autocomplete (Property) - none (๊ธฐ๋ณธ๊ฐ’) | inline | list | both

1-4-4. aria-busy (State) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-5. aria-checked (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | mixed | undefined

1-4-6. aria-colcount (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-7. aria-colindex (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-8. aria-colspan (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-9. aria-controls (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-10. aria-current (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | page | step | location | date | time

1-4-11. aria-describedby (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-12. aria-details (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-13. aria-disabled (State) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-14. aria-dropeffect (Property) - none (๊ธฐ๋ณธ๊ฐ’) | copy | execute | link | move | popup

1-4-15. aria-errormessage (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-16. aria-expanded (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | undefined

1-4-17. aria-flowto (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-18. aria-grabbed (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-19. aria-haspopup (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true | menu | listbox | tree | grid | dialog

1-4-20. aria-hidden (State) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-21. aria-invalid (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | grammar | spelling

1-4-22. aria-keyshortcuts (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-23. aria-label (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-24. aria-labelledby (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-25. aria-level (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-26. aria-live (Property) - off (๊ธฐ๋ณธ๊ฐ’) | assertive | polite

1-4-27. aria-modal (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-28. aria-multiline (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-29. aria-multiselectable (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-30. aria-orientation (Property) - undefined (๊ธฐ๋ณธ๊ฐ’) | horizontal | vertical

1-4-31. aria-owns (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-32. aria-placeholder (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-33. aria-posinset (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-34. aria-pressed (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | mixed | undefined

1-4-35. aria-readonly (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-36. aria-relevant (Property) - additions (๊ธฐ๋ณธ๊ฐ’) | additions text | all | removals | text

1-4-37. aria-required (Property) - false (๊ธฐ๋ณธ๊ฐ’) | true

1-4-38. aria-roledescription (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-39. aria-rowcount (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-40. aria-rowindex (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-41. aria-rowspan (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-42. aria-selected (State) - false (๊ธฐ๋ณธ๊ฐ’) | true | undefined

1-4-43. aria-setsize (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-44. aria-sort (Property) - none (๊ธฐ๋ณธ๊ฐ’) | ascending | descending | other

1-4-45. aria-valuemax (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-46. aria-valuemin (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-47. aria-valuenow (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-4-48. aria-valuetext (Property) - undefined (๊ธฐ๋ณธ๊ฐ’)

1-5. ์šฉ์–ด ์„ค๋ช… - IDREF

IDREF๋Š” HTML์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด๋กœ, "ID Reference"์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • HTML ์š”์†Œ์˜ id ์†์„ฑ ๊ฐ’์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์–ด๋–ค ์†์„ฑ์˜ ๊ฐ’์œผ๋กœ IDREF๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€, ํ•ด๋‹น ์†์„ฑ์ด ๋‹ค๋ฅธ ์š”์†Œ์˜ id ๊ฐ’์„ ์ฐธ์กฐํ•˜์—ฌ ๊ทธ ์š”์†Œ๋ฅผ ์‹๋ณ„ํ•˜๊ฒŒ ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, aria-activedescendant ์†์„ฑ์˜ ๊ฒฝ์šฐ, ์ด ์†์„ฑ์ด ์„ค์ •๋œ ์š”์†Œ๋Š” ํ‚ค๋ณด๋“œ ๋„ค๋น„๊ฒŒ์ด์…˜์„ ํ†ตํ•ด ํ˜„์žฌ ํ™œ์„ฑํ™” ๋˜๋Š” ์„ ํƒ๋œ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋Š” ์ž์‹ ์š”์†Œ์˜ id ๊ฐ’์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋กœ ๋„ค๋น„๊ฒŒ์ด์…˜ํ•  ๋•Œ, ํ™œ์„ฑํ™”๋œ ์š”์†Œ๋ฅผ ๋ณด์กฐ ๊ธฐ์ˆ ์„ ํ†ตํ•ด ์‹๋ณ„ํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

<div role="listbox" aria-activedescendant="listitem3">
  <div id="listitem1" role="option">Item 1</div>
  <div id="listitem2" role="option">Item 2</div>
  <div id="listitem3" role="option">Item 3</div>
  <div id="listitem4" role="option">Item 4</div>
</div>

์œ„ ์˜ˆ์ œ์—์„œ, div ์š”์†Œ๋Š” role="listbox"๋ฅผ ๊ฐ€์ง€๋ฉฐ, aria-activedescendant ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ ํ•ญ๋ชฉ์„ id="listitem3"์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "Item 3"์ด ํ˜„์žฌ ์„ ํƒ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. IDREF๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ํ•ด๋‹น listbox๋Š” "Item 3"์ด ํ™œ์„ฑ ํ•ญ๋ชฉ์ž„์„ ๋ณด์กฐ ๊ธฐ์ˆ ์— ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.