Chosen: Chosen์˜ ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ

์— ๋งŒ๋“  2011๋…„ 09์›” 20์ผ  ยท  71์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: harvesthq/chosen

Drupal ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ ‘๊ทผ์„ฑ ๋ฐ ์„ ํƒ์— ๋Œ€ํ•œ ์ด ํ† ๋ก ์œผ๋กœ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

http://drupal.org/node/1271622#comment -4962028

Chosen์˜ ์œ ์šฉํ•œ ์‚ฌ์šฉ์„ฑ ๊ฐœ์„  ์‚ฌํ•ญ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Accessibility Feature Request

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

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

๋ชจ๋“  71 ๋Œ“๊ธ€

ํ•ด๋‹น ํ† ๋ก ์˜ ๊ด€๋ จ ๋ถ€๋ถ„:

์ž‘์—…์ด ๋„ˆ๋ฌด ๋งŽ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ์„ฑ์ด ๊ณ ๋ ค๋˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
์ด ์œ„์ ฏ์— ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋งŽ์€ WAI-ARIA ๋ฐ JS ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. *
WCAG 2.0์„ ์ค€์ˆ˜ํ•˜๋„๋ก *๋ฅผ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

FF6 / JAWS12๋ฅผ ์‚ฌ์šฉํ•œ 30์ดˆ ๋ฆฌ๋ทฐ์—์„œ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š”
๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ˆœ์„œ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๋ชฉ๋ก์ด ๋’ค์— ์˜ค๋Š” ์ž…๋ ฅ ์œ ํ˜•=ํ…์ŠคํŠธ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ์˜ต์…˜(๊ตญ๊ฐ€์˜ ๊ฒฝ์šฐ 243๊ฐœ) ์ค‘
ํ•„๋“œ๋ฅผ ๋ฌด์‹œํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.

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

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

์ด๊ฒƒ์€ ์•„์ฃผ ์ข‹์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค! ๊ธฐ๋Šฅ์ด ์ •๋ง ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค.
๋” ๋‚˜์€ ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•œ ํ–ฅํ›„ ๊ฐœ๋ฐœ์ด ์žˆ์Šต๋‹ˆ๊นŒ? WAI-ARIA๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ WCAG 2.0์„ ์ค€์ˆ˜ํ•˜๋„๋ก ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” filamentgroups์˜ ์›น์‚ฌ์ดํŠธ์—์„œ ์ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ARIA ์—ญํ• ์€ ์„ ํƒ๋œ ์‚ฌ๋žŒ์—๊ฒŒ ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
http://filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/

์˜ˆ๋ฅผ ๋“ค์–ด, ์„ ํƒ๋œ ๊ฒฐ๊ณผ UL์—๋Š” role="menu" aria-activedescendant="active-menuitem"์ด ์ ์šฉ๋˜๊ณ  <li> ๊ฒฐ๊ณผ์—๋Š” role="menuitem"์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์„ ํƒ๋จ ๋“œ๋กญ๋‹ค์šด์˜ ๊ฒ€์ƒ‰ ์ƒ์ž์—๋„ ์ผ์ข…์˜ ARIA ์—ญํ• ์ด ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@dotdreaming ์€ ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์„œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์ง€๋งŒ ์–ธ๊ธ‰ํ•œ ์—ญํ• ์€ ์ •ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์—ญํ• ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ WAI-ARIA ๋ฌธ์„œ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ์„ ํƒ ํ•ญ๋ชฉ์— ์ ์šฉํ•˜๋ฉด ์ •๋ง ๋ฉ‹์งˆ ๊ฒƒ ๊ฐ™์•„์š”.

์‹œ๊ฐ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ง์ ‘ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๊ธฐ๊ฐ€ ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์— ARIA๋ฅผ ์ฐธ์—ฌ์‹œํ‚ค๋Š” ์›€์ง์ž„์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ณด์กฐ ๊ธฐ์ˆ ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋”๋ผ๋„ ํ‚ค๋ณด๋“œ ์ „์šฉ ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Btw, ์ด๊ฒƒ์€ ์ ‘๊ทผ์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด ๋‚ฎ์€ ๋งค๋‹ฌ๋ฆฐ ๊ณผ์ผ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ผ ๋ฟ์ด์ง€๋งŒ WAVE๋Š” ์ •๋ฆฌํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๊ฝค ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ์„ ์‹๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค -> http://wave.webaim.org/report?url=http%3A% 2F%2Fharvesthq.github.com%2Fchosen%2F&js=2

์ด๋Ÿฌํ•œ ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์šฐ๋ฆฌ์˜ ์ฃผ์š” ๋Œ€ํ•™ ์‚ฌ์ดํŠธ์—์„œ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋‚˜๋ฅผ ๋ฏธ๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

+1 - ์„ ํƒ ๋“œ๋กญ๋‹ค์šด ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์˜ต์…˜์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์ด ์žˆ๋‹ค๋Š” ์‹œ๊ฐ ์žฅ์• ์ธ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ JAWS 14๋ฅผ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋˜ํ•œ ์ด๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ์ „ํžˆ ์ˆจ๊ฒจ์ง„ ์„ ํƒ ์ปจํŠธ๋กค์— ์ €์žฅ๋˜์–ด ์žˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค(์ด๊ฒƒ์ด ์–‘์‹์œผ๋กœ ์ „๋‹ฌ๋˜๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค). ์„ ํƒ ํ•ญ๋ชฉ๋„ ๋ณ€๊ฒฝ๋  ๋•Œ ์„ ํƒ ํ•ญ๋ชฉ ๋“œ๋กญ๋‹ค์šด์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. UA๊ฐ€ ์„ ํƒ ์ œ์–ด์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์„ ํƒ ํ•ญ๋ชฉ์„ ํŒŒ์‚ฌ๋“œ๋กœ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด WCAG์˜ ๊ธฐ์ค€ 4.1.2๋ฅผ ์ถฉ์กฑํ•˜๋Š”์ง€ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•ด ๋งจ ์œ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” ์„ ํƒํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ listz:updated ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ Chosen์—๊ฒŒ ๊ฐ’์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ๋  ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ์ ‘๊ทผ์„ฑ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. @marklagendijk ATM์— ๊ฐ€๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ๋ง์”€ํ•˜์‹  ๊ฒƒ ๊ฐ™์•„์š”. ๋‚ด ๋ฐœ๊ฒฌ์— ๋Œ€ํ•œ ๋‚˜์œ ์—…๋ฐ์ดํŠธ.

์ด๊ฒƒ์€ ๋„์›€์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๋”ฐ๋ผ์•ผ ํ•  ์—„๊ฒฉํ•œ ์ ‘๊ทผ์„ฑ ์ง€์นจ์ด ์žˆ์œผ๋ฉฐ ๋ฒ„์ „ 1.0.0์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ ‘๊ทผ์„ฑ ํ…Œ์Šคํ„ฐ๊ฐ€ ๋‹ค์Œ ์˜๊ฒฌ๊ณผ ํ•จ๊ป˜ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค.

  1. '๋ ˆ์ด๋ธ”'๊ณผ ๊ด€๋ จ๋œ '์„ ํƒ'์—๋Š” ํ‘œ์‹œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ
    'label'์ด(๊ฐ€) ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 'div class="chosen-container-single"'
    ์–‘์‹ ์ปจํŠธ๋กค๋กœ์„œ์˜ ์œ„์น˜์—๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์ด๋‚˜ ๋ ˆ์ด๋ธ”์ด ์—†์Šต๋‹ˆ๋‹ค.

2. ๊ฐ€์งœ ๋“œ๋กญ๋‹ค์šด์— ๋ˆˆ์— ๋„๋Š” ์ดˆ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ€์งœ ๋“œ๋กญ๋‹ค์šด ๋‚ด์˜ ๋งํฌ์— ๋ˆˆ์— ๋„๋Š” ์ดˆ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

Drupal Chosen ๋ชจ๋“ˆ๊ณผ ํ•จ๊ป˜ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ธ”๋ผ์ธ๋“œ ํ…Œ์Šคํ„ฐ๋Š” ์ž…๋ ฅ์— ๋„๋‹ฌํ•˜๋ฉด ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์ง€ ๋ชปํ–ˆ์œผ๋ฉฐ "๊ฒฐ๊ณผ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ"์„ ํฌํ•จํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค.

@marklagendijk
์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ง„ํ–‰ ์ƒํ™ฉ. Drupal ์ฝ”์–ด์— Chosen์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•˜๋ฉฐ ์ด๊ฒƒ์ด ์ฃผ์š” ์ฐจ๋‹จ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ง ์ข‹์€ ์˜ˆ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
http://cookiecrook.com/test/aria/multiselect/listbox.html
์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. http://cookiecrook.com/test/aria/multiselect/js/aria.js

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ ํƒ๋œ ๊ธฐ๋Šฅ์— ๊ฑฐ์˜ ์ •ํ™•ํ•˜๊ฒŒ ๋งคํ•‘๋œ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก ์ƒ์ž์™€ ๋‹ค์ค‘ ์„ ํƒ ๊ฐ€๋Šฅํ•œ aria ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.
http://www.w3.org/TR/wai-aria/roles#listbox
http://www.w3.org/TR/wai-aria/states_and_properties#aria - ๋‹ค์ค‘ ์„ ํƒ ๊ฐ€๋Šฅ

๋‚ด๊ฐ€ ์ง์ ‘ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ฒ ์ง€๋งŒ js์—์„œ๋Š” ๊ทธ๋ ‡๊ฒŒ ์ธ๊ธฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

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

์—ฌ์ „ํžˆ IE8์—์„œ ์ œ๋Œ€๋กœ ์ง€์›๋˜์ง€ ์•Š๋Š” ARIA์— ์ง‘์ค‘ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋ถˆํ–‰ํžˆ๋„ ์ด 5๋…„ ๋œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์—ฌ์ „ํžˆ ์ผ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ € ๋ชฉ๋ก์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ ‘๊ทผ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋ฐ›๋Š” ๋™์•ˆ ARIA์— ์˜์กดํ•˜๋Š” ๊ตฌํ˜„์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ ์„ ํƒ๋œ ๊ฒƒ์„ ๋ชจ๋‘ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์›๋ž˜ ์„ ํƒ์„ ์ œ๊ณตํ•˜๋Š” ๋Œ€์ฒด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ์„ ํƒ๋œ ๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์ž‘์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์กฐ๊ฐ์„ ์‚ฌ์šฉํ•˜๋Š” (์ˆจ๊ฒจ์ง„) ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IE8 ARIA ์ง€์› ๊ด€๋ จ ๋ฆฌ์†Œ์Šค : http://www.w3.org/TR/WCAG20-TECHS/wai-aria_notes.html

๋ธŒ๋ผ์šฐ์ €/๊ธฐ๋Šฅ ๊ฐ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  IE8์„ ์‚ฌ์šฉํ•  ๋•Œ ์„ ํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@Daniel15 ๊ทธ๊ฒƒ์€ ์•„๋งˆ๋„ ๋” ์‰ฌ์šด ์ˆ˜์ • ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒ๊ฐ์„ ๊ณต์œ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ฒŒ์‹œ๋ฌผ์—์„œ ์ €๋Š” ARIA๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด (ํ˜„์žฌ๋กœ์„œ๋Š”) WCAG 2.0์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ง€์ ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ด๊ฒƒ์— ํฐ +1์„ ์ฃผ์‹ญ์‹œ์˜ค

+1 (+) ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ์•ผ

aria-label(์†์„ฑ)

ํ˜„์žฌ ์š”์†Œ์— ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ๋ฌธ์ž์—ด ๊ฐ’์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. aria-labelledby๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

aria-label์˜ ๋ชฉ์ ์€ aria-labelledby์˜ ๋ชฉ์ ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐœ์ฒด์˜ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์•ก์„ธ์Šค ๊ฐ€๋Šฅ์„ฑ API ๋งคํ•‘์€ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„ ์†์„ฑ์ž…๋‹ˆ๋‹ค.

๋ ˆ์ด๋ธ” ํ…์ŠคํŠธ๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ ์ž‘์„ฑ์ž๋Š” aria-labelledby๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ  aria-label์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค(SHOULD NOT). ์š”์†Œ์˜ ๋‚ด์šฉ์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์š”์†Œ์˜ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ€์‹œ์ ์ธ ๋ ˆ์ด๋ธ”์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ์•„๋‹Œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ˜ธ์ŠคํŠธ ์–ธ์–ด๋Š” ์š”์†Œ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ(์˜ˆ: HTML [HTML]์˜ title ์†์„ฑ)์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์ด๋Š” ๋ธŒ๋ผ์šฐ์ € ๋„๊ตฌ ์„ค๋ช…์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์ด๋Š” ๋ ˆ์ด๋ธ”์ด๋‚˜ ๋ณด์ด๋Š” ํˆดํŒ์ด ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ž‘์„ฑ์ž๋Š” aria-label์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ์˜ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(MAY). ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„ ์†์„ฑ์„ ๊ณ„์‚ฐํ•  ๋•Œ aria-label๋ณด๋‹ค aria-labelledby๋ฅผ ์šฐ์„ ์‹œํ•ฉ๋‹ˆ๋‹ค.

@Natshah ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ pull ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@Natshah ์‹ค์ œ๋กœ https://github.com/harvesthq/chosen/pull/2047 ์„ ๊ฒ€ํ† ํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•,

์ด ๋งํฌ์—์„œ ๋‚ด ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
https://www.drupal.org/node/2384865

๊ฐ์‚ฌ ํ•ด์š”.

๋ณด์ƒ :)

์˜ˆ. ๋‹ค์Œ ์ฝ”๋“œ์™€ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. .

      if (this.is_multiple) {
        this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" aria-label="' + this.form_field_jq.parents("label") +'" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>');
      } else {
        this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" aria-label="' + this.form_field_jq.parents("label") +'"  autocomplete="off" /></div><ul class="chosen-results"></ul></div>');
      }

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์ด ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

        $(".views-exposed-widget").each(function( index, element ) {
           $(this).find('.form-type-select .chosen-container input').attr("aria-label" ,$.trim($(this).find('label').text()));
        });

๊ฐ์‚ฌ ํ•ด์š”.

๋ณด์ƒ :)

์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ์— selected๋ฅผ ๊ตฌํ˜„ํ–ˆ๊ณ  ๋ณด์กฐ ๊ธฐ์ˆ  "Jaws"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์„ ํƒ ํ•„๋“œ๋ฅผ ์ „ํ˜€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

์‚ดํŽด๋ด์•ผ ํ•  ์ค‘์š”ํ•œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ ์›€์ง์ž„์ด ์žˆ์—ˆ๋‚˜์š”?

๋‚ด๊ฐ€ ์•„๋Š” ๊ฒƒ์€ ์—†์ง€๋งŒ ๋ถˆํ–‰ํžˆ๋„ ๋ธŒ๋ผ์šฐ์ € ๋ฐ OS์™€ ๋ณด์กฐ ๊ธฐ์ˆ ์˜ ๋ฐฉ๋Œ€ํ•œ ์กฐํ•ฉ์„ ๊ฐ์•ˆํ•  ๋•Œ ๋ฌธ์ œ๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค... ์ผ๋ฐ˜์ ์œผ๋กœ ํ‚ค๋ณด๋“œ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ARIA ๊ตฌํ˜„์ด ์žˆ๋Š” ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์ˆ˜์ •์„ ์œ„ํ•ด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ตœ์†Œํ•œ ์›๋ž˜ ์„ ํƒ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด select ์š”์†Œ๋ฅผ ์ˆจ๊ธฐ๋Š” ๋Œ€์‹  ์ƒ์„ฑ๋œ ์„ ํƒ๋œ ์ปจํ…Œ์ด๋„ˆ์— screenreaders-only ํด๋ž˜์Šค์™€ aria-hidden:true ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ chosen.jquery.js ํ–‰์—์„œ 599 to 605 ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

container_props = {
        'class': container_classes.join(' '),
        'style': "width: " + (this.container_width()) + ";",
        'title': this.form_field.title,
        // hide widget for screen-readers
        'aria-hidden': 'true'
};

616 ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

      // instead of hiding the original select field, adding the .sr-only class to keep it accessible for screen readers
      this.form_field_jq.addClass('sr-only').after(this.container);

์ˆจ๊ฒจ์ง„ ์„ ํƒ๊ณผ ์œ„์ ฏ ๋ชจ๋‘ ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„๋ฒฝํ•œ ์†”๋ฃจ์…˜์€ ์•„๋‹ˆ์ง€๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๋Š” ์œ„์ ฏ์ด ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋‚ซ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.
์œ„์˜ ๋ชจ๋“  ์กฐ์–ธ์„ ๋”ฐ๋ž๊ณ  ๋‹ค์Œ ์ค„์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

this.container.bind('mousedown.chosen', function(evt)   // around line 630

์—๊ฒŒ:

this.container.bind('mousedown.chosen keydown.chosen', function(evt)

๊ฐ์‚ฌ ํ•ด์š”

์ž‘๋™ํ•˜๋Š”์ง€ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. ๊ตฌ์กฐ๋Š” ์ด๋Ÿฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. :)

image

@kirstenmalin ์ด ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ARIA ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ž‘์—…์€ A11Y๋ฅผ ํ–ฅํ•œ ์ข‹์€ ์ถ”์ง„๋ ฅ์ด์—ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์ถ”๊ฐ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•ญ๋ชฉ์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์— ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๋Š”

ARIA ๋ ˆ์ด๋ธ” ๋ฐ ๊ธฐํƒ€ ์œ ์šฉํ•œ ์†์„ฑ

  • ๊ฒ€์ƒ‰ ์ž…๋ ฅ ์ƒ์ž์— ๋‹ค์Œ aria ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • ์—ญํ• ="์ฝค๋ณด๋ฐ•์Šค"

    • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜์—ฌ ์˜ต์…˜์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๋ชฉ๋ก์— ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    • aria-haspopup (์ฝค๋ณด๋ฐ•์Šค ์—ญํ• ์„ ์‚ฌ์šฉํ•  ๋•Œ ์•”์‹œ์ )

    • ์ด ์ƒ์ž์— ๊ด€๋ จ ๋ฉ”๋‰ด๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    • ์•„๋ฆฌ์•„ ํ™•์žฅ

    • ์ฝค๋ณด ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•„์š”ํ•˜๋ฉฐ ๊ฒฐ๊ณผ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜ ์ˆจ๊ฒจ์ ธ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

    • ์„ ํƒํ•œ ํ•„๋“œ๊ฐ€ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์ƒํƒœ๋ฅผ ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • aria-activedescendant="id_of_highlighted_option"

    • ํ˜„์žฌ ์„ ํƒํ•œ ๊ฐ’์ด ์–ด๋–ค ์˜ต์…˜์ธ์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    • ์ƒˆ ์˜ต์…˜์ด ์„ ํƒ๋˜๋ฉด ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • aria-owns="id_of_list_of_options"

    • ์ด ๊ฒ€์ƒ‰ ์ƒ์ž์™€ ๊ด€๋ จ๋œ ์„ ํƒ ๋ชฉ๋ก์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

    • aria-autocomplete="๋ชฉ๋ก"

    • "์ €์ž๊ฐ€ ์ฝค๋ณด ์ƒ์ž์˜ aria-autocomplete ๊ฐ’์„ 'list'๋กœ ์„ค์ •ํ•˜๋ฉด ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” ์ฝค๋ณด ์ƒ์ž์— ํฌ์ปค์Šค๊ฐ€ ์žˆ๋Š” ๋™์•ˆ ์ฝค๋ณด ์ƒ์ž์˜ aria-activedescendant ์†์„ฑ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋…ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ๋กœ์šด ํ™œ์„ฑ ์ž์† ์š”์†Œ์˜ ๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ ๋งํ•จ์œผ๋กœ์จ ๋ณด์กฐ ๊ธฐ์ˆ ์ด ํ•ด๋‹น ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฒฝ๊ณ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(SHOULD). ์ž‘์„ฑ์ž๋Š” aria-owns๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝค๋ณด ์ƒ์ž ํ…์ŠคํŠธ ํ•„๋“œ๋ฅผ ํ•ด๋‹น ๋ชฉ๋ก ์ƒ์ž์™€ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(SHOULD)."

    • aria-labeledby="id_of_field_label"

    • ์ด๊ฒƒ์€ ์„ ํƒํ•œ ์–‘์‹ ๋ ˆ์ด๋ธ” ์š”์†Œ์˜ ID์ž…๋‹ˆ๋‹ค.

  • ์˜ต์…˜ ๋ชฉ๋ก์— ๋‹ค์Œ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • ID

    • ๊ฒ€์ƒ‰ ์ž…๋ ฅ ์ƒ์ž์˜ aria-owns ์†์„ฑ์ด ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์–‘์‹ ํ•„๋“œ ID๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹จ์ˆœ ID

    • ์—ญํ• ="๋ชฉ๋ก ์ƒ์ž"

    • "์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒ ๋ชฉ๋ก์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ•ญ๋ชฉ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์œ„์ ฏ."

  • ์˜ต์…˜ ๋ชฉ๋ก์˜ ๊ฐ ๊ฐœ๋ณ„ ์˜ต์…˜์— ๋‹ค์Œ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • ID

    • ๋ชฉ๋ก์˜ ์˜ต์…˜ ์ธ๋ฑ์Šค์™€ ํ˜„์žฌ ์„ ํƒ๋œ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” aria-activedescendant๊ฐ€ ์‚ฌ์šฉํ•  ์–‘์‹ ํ•„๋“œ ID๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹จ์ˆœ ID

    • ์—ญํ• ="์˜ต์…˜"

    • ์„ ํƒ ๋ชฉ๋ก์—์„œ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

    • ์•„๋ฆฌ์•„ ๋ฐ”์œ

    • ์ด๊ฒƒ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” Chosen์ด ํ•„๋“œ์—์„œ ์ดˆ๊ธฐํ™”๋  ๋•Œ ํ•„๋“œ๊ฐ€ ์ฒ˜์Œ ํ™œ์„ฑํ™”๋  ๋•Œ๊นŒ์ง€ ์˜ต์…˜ ๋ชฉ๋ก์„ ์ž‘์„ฑํ•˜์ง€ _ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

    • ์ด๊ฒƒ์€ ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ๋ฅผ ์ฐพ๋Š” ์Šค์บ๋„ˆ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณด์กฐ ๊ธฐ์ˆ ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ์ƒ์ž(role="combobox")๊ฐ€ ์ด์ œ ๋ชฉ๋ก ์ƒ์ž(aria-owns="id_of_list_of_options")๋ฅผ ์†Œ์œ ํ•œ๋‹ค๊ณ  ํ‘œ์‹œํ•˜๋ฏ€๋กœ ๋ชฉ๋ก ์ƒ์ž(๊ฒฐ๊ณผ ๋ชฉ๋ก)๋Š” _๋ฐ˜๋“œ์‹œ_ ๊ทธ ์•ˆ์— ์˜ต์…˜์ด ์žˆ๊ฑฐ๋‚˜ ๋‹ค์Œ์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ์ค‘์œผ๋กœ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์–‘.



      • ๋‚˜๋Š” ์ด๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ์›€์ง์ž„์ธ์ง€ 100% ํ™•์‹ ํ•˜์ง€๋„ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ™•์‹คํžˆ ์Šค์บ๋„ˆ๊ฐ€ ํ•„๋“œ์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜์ง€๋งŒ, ์ด๊ฒƒ๋“ค์ด ์™„์ „ํžˆ ๋ฐ”์œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ์•„์ง ์˜ต์…˜์„ ๊ตฌ์ถ•ํ•˜์ง€ ์•Š์•˜์„ ๋ฟ์ž…๋‹ˆ๋‹ค.



    • ๋‚˜๋Š” A11Y ๊ฒฝํ—˜์ด ๋” ๋งŽ์€ ์‚ฌ๋žŒ์ด ์ด๊ฒƒ์— ๋ฌด๊ฒŒ๋ฅผ ๋‘˜ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

    • ๋˜ํ•œ ํ•„๋“œ๊ฐ€ ์ฒ˜์Œ ํ™œ์„ฑํ™”๋  ๋•Œ ๊ฒฐ๊ณผ ๋ชฉ๋ก์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋ณด๋‹ค ๊ธ‰์ง„์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ๋ คํ–ˆ์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” Chosen์— ์ƒˆ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.



      • ์ด ํŠธ๋ฆฌ๊ฑฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” winnow_results ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ์ „๋‹ฌ์ด์—ˆ์ง€๋งŒ(์—ฌ์ „ํžˆ ์ˆจ๊ฒจ์ ธ ์žˆ์Œ) ์Šค์บ๋„ˆ๋ฅผ ๋งŒ์กฑ์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.



์ƒํƒœ ๊ด€๋ฆฌ

  • aria-expanded ์†์„ฑ ๊ด€๋ฆฌ

    • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ณด์กฐ ๊ธฐ์ˆ ๊ณผ ๊ด€๋ จ๋˜์–ด์•ผ ํ•˜๋Š” ์‹œ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ํ•„๋“œ๊ฐ€ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋  ๋•Œ aria-expanded ์†์„ฑ์„ ํ† ๊ธ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•(AFAIK)์€ close_field ๋ฐ activate_field ๋ฉ”์„œ๋“œ ์ค‘์— ์†์„ฑ์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    • ์ด๋Ÿฌํ•œ ๊ฐ ๋ฉ”์„œ๋“œ์—์„œ true์—์„œ false๋กœ ๋˜๋Š” false์—์„œ true๋กœ์˜ ๊ฐ„๋‹จํ•œ ์ „ํ™˜์€ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์—์„œ ์ด ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์˜ˆ์ •์ด๋ฉฐ A11Y ๋ณด๊ธฐ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ด„์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ๋ถ„๊ธฐ๋ฅผ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ์–ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๋‚ด์šฉ์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”! ๋‚˜๋Š” ์ด๊ฒƒ์„ ๊ฐ€๋Šฅํ•œ ํ•œ ๋ฉ€๋ฆฌ ๋ฐ€์–ด๋‚ด๊ณ  ์‹ถ๋‹ค.

@cooperfellows ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”

@stof ์™„๋ฃŒ, ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด ๋‚˜๋Š” A11Y ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ฉฐ ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•œ ๋‚˜์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ํŒจ์Šค์— ๋Œ€ํ•ด ๊ณต์œ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ "๊ณต์‹" ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? @cooperfellows์˜ ๋…ธ๋ ฅ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ๋ฌป๋Š” ์ด์œ ๋Š” ์œ„์ ฏ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•˜๋Š” Jaws ์‚ฌ์šฉ์ž์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์–ด ๋ณด๊ณ  ์žˆ๋Š” ์–‘์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ณต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋œ๋‹ค๋ฉด ๊ธฐ๊บผ์ด ์ง€์›/๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

pull ์š”์ฒญ์ด ์ด๋ฃจ์–ด์กŒ์ง€๋งŒ(์‚ฌ์‹ค ์ดํ›„ ํ•ด๊ฒฐ๋œ ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ) ์•„์ง ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ํ”„๋กœ๋•์…˜์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ๋‹ค๋ฅธ ํ”ผ๋“œ๋ฐฑ์„ ์›ํ•ฉ๋‹ˆ๋‹ค. Jaws๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์˜จ๋ผ์ธ ๋„๊ตฌ์˜ ๊ฐ์‚ฌ์— ์˜์กดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ•ด๋‹น ๋ถ„๊ธฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜„์žฌ ํ”„๋กœ๋•์…˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋”ํ•œ ๊ฒƒ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ตœ๊ทผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์•„์ง ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์€ ์ด์ „ ๋ฒ„์ „์ž…๋‹ˆ๊นŒ?

(BTW ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค)

๋„ค, ๋งž์Šต๋‹ˆ๋‹ค @wcndave. PR์€ ์‹ค์ œ๋กœ ๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ˆˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ.

@cooperfellows ๊ธฐ์กด์— ์„ ํƒํ•œ ๊ตฌํ˜„์„ WCAG 2๋ฅผ ์ถฉ์กฑํ•ด์•ผ ํ•˜๋Š” ์ƒˆ ๋นŒ๋“œ๋กœ ์ด์‹ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ ‘๊ทผ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์–ด๋ฆฌ์„์€ ์งˆ๋ฌธ - ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํŒŒ์ผ๋œ JavaScript ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ?
์•„๋‹ˆ๋ฉด ์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ง์ ‘ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@KITSKevinBonett ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ฒจ๋ถ€ ํŒŒ์ผ์€ ์••์ถ• ๋ฐ ๋น„์••์ถ• ๋ชจ๋‘์—์„œ jquery ๋ฐ proto ์œ ํ˜• ๋ฒ„์ „์˜ zip์ž…๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ๋œ-a11y-chosen-jquery-proto.zip

@cooperfellows ๋นจ๋ž์Šต๋‹ˆ๋‹ค . ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค ...

@KITSKevinBonett Ya, A11Y ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ๋” ์ง€์ผœ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์–ด๋–ค ํ”ผ๋“œ๋ฐฑ(๊ฐ€ํ˜นํ•˜๊ณ  ๊ธ์ •์ ์ธ)๋„ ๋†’์ด ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @cooperfellows - ๊ท€ํ•˜์˜ ๊ตฌํ˜„์„ ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค - ์ •๋ง ์ข‹์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ๋ฆฌ๋”/๋ธŒ๋ผ์šฐ์ € ๋น„ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธํ•ด (์‰ฝ๊ฒŒ) ํ•ด๊ฒฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ฒจ๋ถ€ ํŒŒ์ผ์— ๋‚˜์˜ ๋ฐœ๊ฒฌ์„ ๋ฌธ์„œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ์œ ์šฉํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” 1 ๋˜๋Š” 2๊ฐœ์˜ ์‚ฌ์†Œํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

_์—…๋ฐ์ดํŠธ_

  1. ๋‚ด ์˜๊ฒฌ ์ค‘ ์ผ๋ถ€๋Š” ์šฐ๋ฆฌ ๊ตฌํ˜„์— ๊ตญํ•œ๋œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. "combobox" ๋‚ด๋ถ€์— ์ž…๋ ฅํ•˜๊ณ  Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ๋ฌธ์ œ - ์–‘์‹ ์ œ์ถœ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ - ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋กœ์ปฌ ๊ตฌํ˜„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
  3. ์•„๋ž˜ ZIP์€ (1)๊ณผ (2)๋ฅผ ์ œ๊ฑฐํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

aria-chosen-plugin.zip

์•ˆ๋…•ํ•˜์„ธ์š” @cooperfellows - ๋‚ด ๊ฐ์‚ฌ๊ฐ€ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @KITSKevinBonett ์ €๋Š” ์ผ์ฃผ์ผ ๋™์•ˆ ํœด๊ฐ€๋ฅผ

@KITSKevinBonett ๊ฐ์‚ฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฝค ์ฒ ์ €ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๋“ค์„ ๋ฐฐ์น˜ํ•œ ๊ฐ์‚ฌ์˜ ์„น์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚ด ์ƒ๊ฐ์„ ์„ธ๋ถ„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์˜ํ•ด ์ƒ์„ฑ๋œ HTML ๋งˆํฌ์—…

  • ์—ฌ๊ธฐ์— ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

ํ‚ค๋ณด๋“œ ์ „์šฉ ๋™์ž‘

  • "ํ•˜์ง€๋งŒ ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋‹ค์‹œ ํƒญํ•  ๋•Œ ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค."

    • ํ•ด๋‹น ์š”์†Œ๊ฐ€ ํ‘œ์‹œ/์ˆจ๊น€์œผ๋กœ ์„ค์ •๋  ๋•Œ aria-hidden ์†์„ฑ์„ ์ผœ๊ณ  ๋„๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • "CSS ๋น„ํ™œ์„ฑํ™” ๋ฌธ์ œ"

    • ํ‘œ์ค€ ์„ ํƒ์ด ๋ณด์ž…๋‹ˆ๋‹ค.

    • ๋‚˜๋Š” ์ด๊ฒƒ์„ ๋‹ค์‹œ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฐ์ƒท์ด๋‚˜ ์Šคํฌ๋ฆฐ ์บ์ŠคํŠธ ๋“ฑ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

    • ํ‚ค๋ณด๋“œ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ•์กฐ ํ‘œ์‹œํ•  ๋•Œ ํ‘œ์‹œ๋˜๋Š” ์‹ ํ˜ธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

    • ํ˜„์žฌ ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ํ•ญ๋ชฉ์˜ ํ…์ŠคํŠธ๋ฅผ <em> ํƒœ๊ทธ๋กœ ๋ž˜ํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํƒœ๊ทธ๋Š” ๊ธฐ์šธ์ž„๊ผด๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(์ ์–ด๋„ Chrome์—์„œ๋Š”).



      • ์—ฌ๊ธฐ์„œ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋Š” ๊ฒ€์ƒ‰์—์„œ <em> ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ ์ผ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค์ด ์„œ๋กœ ์ถฉ๋Œํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.



์Šคํฌ๋ฆฐ ๋ฆฌ๋”

  • ์ €๋Š” JAWS์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณด๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„์ด ๋” ์žˆ์„ ๋•Œ ์‹œํ—˜ํŒ์„ ๊ฐ€๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋Š” ๋” ๋งŽ์€ ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋ถ„์„์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์•„๋ฆฌ์•„ ์ƒ๊ฐ

  • ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด haspopup ์†์„ฑ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.
  • aria-busy๋ฅผ ์ถ”๊ฐ€ํ•œ ์ด์œ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Chosen์€ ํฌ์ปค์Šค๊ฐ€ ๋ฐฐ์น˜๋  ๋•Œ๊นŒ์ง€ ์ˆจ๊ฒจ์ง„ div์— ๋ชฉ๋ก ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

    • ์ฆ‰, role="listbox" ์š”์†Œ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ต์…˜์ด ์—†์œผ๋ฏ€๋กœ ๋„๊ตฌ๋กœ ์ด๋ฅผ ์Šค์บ”ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ ๋ถ€๋ถ„์— aria-busy ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํ•ด๋‹น ๋„๊ตฌ์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

    • ๋ฌธ์ œ์˜ ์ด์œ ๋Š” ๋ชฉ๋ก ์ƒ์ž ์š”์†Œ๊ฐ€ _์†Œ์œ ํ•ด์•ผ ํ•˜๋Š”_ ์˜ต์…˜ ์š”์†Œ( source ) ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

    • ๋ชฉ๋ก์ด ์ฑ„์›Œ์งˆ ๋•Œ ์ฒ˜์Œ์œผ๋กœ ์ œ๊ฑฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์—๊ฒŒ๋Š” ๋ฌดํ•ดํ•˜๊ณ  ํŒŒ์šธ์ด ์—†๋Š” ์ƒํ™ฉ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

  • aria-selected๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋ช…๋ฐฑํ•œ ๋‹จ๊ณ„์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ๋†“์ณค๋‹ค๋Š” ๊ฒƒ์ด ๋ฏฟ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žก์•„์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    * ๋งˆ๋ฌด๋ฆฌ ์ƒ๊ฐ *
    ์ด ๊ฐ์‚ฌ๋ฅผ ์œ„ํ•ด HTML์„ ์ง์ ‘ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๋„๊ตฌ์—์„œ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๊นŒ? ๋„ˆ๋ฌด ๋„์›€์ด ๋งŽ์ด ๋˜๋„ค์š” ๋‹ค์‹œํ•œ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@cooperfellows - ๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€:

HTML ๋งˆํฌ์—…

  • ํ”Œ๋Ÿฌ๊ทธ์ธ ๋™์ž‘์˜ ๊ฐ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ‚ค๋ณด๋“œ ๋™์ž‘

  • "์ดˆ์  ์ƒ์‹ค"์€ Firefox์—๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ์ปค์Šค๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด tabindex="-1" ์„ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ๋‹ค์‹œ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ARIA๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CSS ๋น„ํ™œ์„ฑํ™”

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์›๋ณธ SELECT๋Š” ํŽ˜์ด์ง€์—์„œ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ UP | ๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ € ๋™์ž‘์€ ํƒ์ƒ‰ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ํ‘œ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ์ž…๋‹ˆ๋‹ค.
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ Œ๋”๋ง HTML๋„ ํ‘œ์‹œ๋˜์ง€๋งŒ ๋“œ๋กญ๋‹ค์šด์—๋Š” ๊ฐ•์กฐ ํ‘œ์‹œ๋œ "์˜ต์…˜"์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • EM ์‚ฌ์šฉ์„ ์ œ์•ˆํ•˜์…จ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  STRONG์„ ์‚ฌ์šฉํ•˜์„ธ์š”. HTML5์˜ EM๋ณด๋‹ค ์˜๋ฏธ๋ก ์ ์ธ ์˜๋ฏธ๊ฐ€ ๋” ํฝ๋‹ˆ๋‹ค. http://html5doctor.com/ib-em-strong-element/ ์ฐธ์กฐ
  • ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ์ „ํžˆ SELECT๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์Šคํฌ๋ฆฐ์ƒท ๋ณด๊ธฐcss-disabled

์Šคํฌ๋ฆฐ ๋ฆฌ๋”

  • ์‚ฌ์šฉ ์ค‘์ธ ๋ธŒ๋ผ์šฐ์ €์™€ ํ™”๋ฉด ํŒ๋…๊ธฐ์˜ ์กฐํ•ฉ๊ณผ ๋ฒ„์ „์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ค์šด ์ž‘์—…์ž…๋‹ˆ๋‹ค.
  • ๋‚ด๊ฐ€ ๋งํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์€ ARIA ์—ญํ• /์ƒํƒœ/์†์„ฑ ์ธก๋ฉด์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ฑ ์—…๋ฐ์ดํŠธ๊ฐ€ W3C/WAI ๊ถŒ์žฅ ์‚ฌํ•ญ๊ณผ ์ผ์น˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ์†Œ์‹์ž…๋‹ˆ๋‹ค. :)
  • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ด๋ฅผ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ๋ธŒ๋ผ์šฐ์ € ๋ฐ ํ™”๋ฉด ํŒ๋…๊ธฐ ์ œ์กฐ์—…์ฒด์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ฆฌ์•„

  • "aria-busy"์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋”๋ผ๋„ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • HTML์„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์†์œผ๋กœ ๋งŒ๋“ . ๋‚˜๋Š” ๋‚ด๊ฐ€ ์ผํ•˜๋Š” ํšŒ์‚ฌ๋ฅผ ์œ„ํ•ด UI ๊ตฌ์„ฑ ์š”์†Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ / ์ƒํ™œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ฑฐ๊ธฐ์—์„œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „ํ˜€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์€ ๋‚ด๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์บก์ฒ˜ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์Šคํฌ๋ฆฐ ๋ฆฌ๋” ์ถœ๋ ฅ์„ ๋‹ค์‹œ ๋“ฃ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์ด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋‹น์‹ ์€ A11Y๋กœ ํ›Œ๋ฅญํ•œ ์ผ์„ ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค. :)

์•ˆ๋…•ํ•˜์„ธ์š”,

์ €๋Š” ์žฅ๋‹˜์ž…๋‹ˆ๋‹ค. @cooperfellows ์˜ JAWS ์ž‘์—…์„ ํ…Œ์ŠคํŠธ

์ด๊ฒƒ์„ ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉํ•œ๋‹ค๋Š” ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ผ์ƒ ์—…๋ฌด์—์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ตœ๊ทผ ์ž๋™ ์™„์„ฑ ์ฝค๋ณด ์ƒ์ž์— "์„ ํƒ"์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ MISP(Malware Information Sharing Platform - https://github.com/MISP/MISP)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์•…๋ชฝ์ด ๋˜์—ˆ๋‹ค.

๋‹น์‹ ์˜ ๋„์›€์— ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์นœ ํ›„ ์œ„์— ๊ฒŒ์‹œ๋œ(2016๋…„ 7์›” 1์ผ) ์ปดํŒŒ์ผ๋œ ๋ฒ„์ „(.zip ์•„์นด์ด๋ธŒ)์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, ๋‚˜๋Š” @cooperfellows์˜ ์ง€์ ์„, ๋˜๋Š” ๋‚ด๊ฐ€ @cooperfellows ๋ณต์ œ ํ•  ๋•Œ 'ํ•  ๋•Œ์˜ ์ง€์ ์„ ๋‹ค์Œ harvesthq / ๋งˆ์Šคํ„ฐ์™€ ๋ณ‘ํ•ฉ ๋ฉ”๋‰ด ์˜ต์…˜์ด ์ œ๋Œ€๋กœ JAWS๋“ค์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ์ด ์–‘์‹์„ ์ œ์ถœํ•˜์ง€ ์•Š๋Š” ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

@obert01๋‹˜ , ์•ˆ๋…•ํ•˜์„ธ์š”. JAWS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๊ฒƒ์„ ์‚ดํŽด์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ๋†“์น˜๊ณ  ์žˆ๋˜ ํฐ ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ธŒ๋žœ์น˜๋Š” ํ˜„์žฌ ์ˆ˜ํ™•/๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ณด๋‹ค ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—… ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋ ค๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์กฐ์ • ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›”๋ง์ด ๋˜๊ธฐ ์ „์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ง€๊ธˆ ์ง์žฅ์—์„œ ๊ฝค ๋ฐฑ์—…์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ๋˜๋ฉด ๊ธฐ์—ฌ์ž ์ค‘ ํ•œ ๋ช…์ด ๋‹ค์‹œ ๋ˆˆ์„ ๋œจ๊ฒŒ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด @stof (2016๋…„ ์ดˆ๊ธฐ

์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ Internet Explorer 11, Google Chrome, Firefox ESR, Firefox Standard, Microsoft Edge ๋ธŒ๋ผ์šฐ์ €์—์„œ JAWS ๋ฐ NVDA ํ™”๋ฉด ํŒ๋…๊ธฐ์˜ ๋ชจ๋“  ์กฐํ•ฉ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์ง„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์œ ๊ฐ์Šค๋Ÿฝ๊ฒŒ๋„ ์ œ ์ผ์ƒ ์—…๋ฌด๋Š” ์ด๋Ÿฌํ•œ ์ ‘๊ทผ์„ฑ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ ‘๊ทผ์„ฑ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ ์  ๋” ๋งŽ์€ ๊ตญ๊ฐ€์—์„œ ๊ทœ์ œ๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— Chosen์„ ๊ณต๊ณต ๋ถ€๋ฌธ/ํ–‰์ • ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์•ˆ๋…•,
์„ ํƒํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๊ณ  ์ด์ œ ์ ‘๊ทผ์„ฑ์„ ์ง€์›ํ•ด์•ผ ํ•˜์ง€๋งŒ ์ด๋ฅผ ํ†ตํ•ด ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ด๊ฒƒ์ด ์•„์ง ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. @cooperfellows ๊ฐ€ ์ด๊ฒƒ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @obert01 ๋ฐ @csmuthukuda ,

์ตœ์‹  ๋ฒ„์ „์˜ Chosen์œผ๋กœ PR์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.
https://github.com/harvesthq/chosen/pull/2596

๋‚ด ๋ถ„๊ธฐ๋œ ์ €์žฅ์†Œ์˜ ๋ณต์‚ฌ๋ณธ์„ ์–ป๊ณ  ๋์—์„œ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  TravisCI ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์ง€๋งŒ A11Y ๋ฌธ์ œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋ฌด์Šจ ์ƒ๊ฐ์„ํ•˜๋Š”์ง€ ์ œ๊ฒŒ ์•Œ๋ ค์ฃผ์„ธ์š”.

์•ˆ๋…•ํ•˜์„ธ์š” @cooperfellows ์ž…๋‹ˆ๋‹ค .
์ด๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ๋…ธ๋ ฅ์„ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์†Œ์œ ์ž๊ฐ€ ์ด๊ฒƒ์„ ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ธฐ๋ฅผ ์ •๋ง๋กœ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด์ œ ํ•„์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

@csmuthukuda ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@pfiller @stof @tjschuck @koenpunt , ์ด๊ฒƒ์„ ๋ณด๊ธฐ ์œ„ํ•ด ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ •๋ง ๋†€๋ผ์šด ์‹œ์Šคํ…œ์— ๋น ์ง„ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @cooperfellows ์ž…๋‹ˆ๋‹ค .

์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ €์™€ JAWS ๋ฐ NVDA ํ™”๋ฉด ํŒ๋…๊ธฐ๋กœ ๊ท€ํ•˜์˜ ๋ฉ‹์ง„ ์ž‘์—…์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค !

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

์žฌํ˜„ํ•˜๋ ค๋ฉด ํ‚ค๋ณด๋“œ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒ๋œ ์ฝค๋ณด ์ƒ์ž์—์„œ ์˜ต์…˜์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์ฝค๋ณด ์ƒ์ž์— ์ดˆ์ ์„ ๋งž์ถ”๋ ค๋ฉด TAB, ๋ชฉ๋ก์„ ํƒ์ƒ‰ํ•˜๋ ค๋ฉด ํ™”์‚ดํ‘œ ํ‚ค, ์„ ํƒํ•˜๋ ค๋ฉด Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด์‹ญ์‹œ์˜ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@overt01 ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚ด๊ฐ€ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ฐพ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

@obert01 ์ด JS ๋ฐ”์ด์˜ฌ๋ฆฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š”์ง€/์ž‘๋™ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ๋ฐ”์ด์˜ฌ๋ฆฐ์€ ๋‚ด ์ตœ์‹  ์ปค๋ฐ‹์˜ ์ปดํŒŒ์ผ๋œ jQuery ๋ฒ„์ „์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ํ‚ค๋ณด๋“œ(Chrome ์ตœ์‹  ๋ฒ„์ „)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋“œ๋กญ๋‹ค์šด์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋ฌด์Šจ ์ƒ๊ฐ์„ํ•˜๋Š”์ง€ ์ œ๊ฒŒ ์•Œ๋ ค์ฃผ์„ธ์š”.

์•ˆ๋…•ํ•˜์„ธ์š” @cooperfellows ์ž…๋‹ˆ๋‹ค .

JS Fiddle์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌธ์ œ๋Š” MISP(https://www.misp-project.org/)์—์„œ Chosen์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

MISP ํ”„๋กœ์ ํŠธ ํŒ€๊ณผ ํ•จ๊ป˜ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”

@overt01 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์•Œ์•„๋‚ธ ๊ฒƒ์„ ์ €์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๊ฒƒ์€ Chosen์˜ ํŠน์ • ์„ค์ •๊ณผ์˜ ๋น„ํ˜ธํ™˜์„ฑ์„ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ MISP๊ฐ€ ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ๊ทธ๋“ค์˜ ๊ตฌํ˜„์„ ์‚ดํŽด๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด๋”˜๊ฐ€์— ๊ณต๊ฐœ์ ์œผ๋กœ ์„ ํƒ๋˜์–ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๊นŒ?

@cooperfellows ๋นŒ๋“œ ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๋Š” ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์ƒˆ ๋นŒ๋“œ๋ฅผ

@obert01 @cooperfellows ๋ฐฉ๊ธˆ NVDA๋กœ Fiddle์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ํ‚ค๋ณด๋“œ ํƒ์ƒ‰์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(ENTER ํ‚ค๋กœ ์„ ํƒ ํฌํ•จ). ๊ทธ๋Ÿฌ๋‚˜ ์œ„์ชฝ ๋ฐ ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ์ƒ‰ํ•  ๋•Œ ํ™”๋ฉด ํŒ๋…๊ธฐ๋Š” "________ ์„ ํƒ๋˜์ง€ ์•Š์Œ", ์ฆ‰ "๋ฒ„๋ฎค๋‹ค ์„ ํƒ๋˜์ง€ ์•Š์Œ"์œผ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ˆ์ƒ๋œ ๋™์ž‘์ž…๋‹ˆ๊นŒ?

@woenlee์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•ด๋กญ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„๋งˆ๋„ ์„ ํƒ๋œ ํ•ญ๋ชฉ์— "selected" ์†์„ฑ์ด ์„ค์ •๋˜๋Š” ๋ฐฉ์‹์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชฉ๋ก ํ•ญ๋ชฉ์„ "์ž…๋ ฅ" ๋ฐ "์ข…๋ฃŒ"ํ•  ๋•Œ ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์–ธ์ œ
์ƒˆ๋กœ ์„ ํƒํ•œ ํ•ญ๋ชฉ์„ ์ฝ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ƒˆ ํ•ญ๋ชฉ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
์•ˆ๊ฑด? ๋” ์ด์ƒ ์„ ํƒ๋˜์ง€ ์•Š์€ ํ•ญ๋ชฉ๋„ ํ‘œ์‹œํ•ฉ๋‹ˆ๊นŒ? @obert01 @woenlee

2019๋…„ 8์›” 25์ผ ์ผ์š”์ผ ์˜คํ›„ 12:18 Olivier BERT [email protected]
์ผ๋‹ค:

@woenlee https://github.com/woenlee ์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€
๋„ˆ๋ฌด ํ•ด๋กญ๋‹ค. ํ•˜์ง€๋งŒ ์•„๋งˆ๋„ "selected" ์†์„ฑ์ด
์„ ํƒํ•œ ํ•ญ๋ชฉ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/harvesthq/chosen/issues/264?email_source=notifications&email_token=ABT3ZTIESGLX6IYW4BF2QCLQGKWDVA5CNFSM4AATGGB2YY3PNVWWK3TUL52HS4DFVEXG43VMVBW63LN
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ABT3ZTMH2KUYYE7HNO2UGH3QGKWDVANCNFSM4AATGGBQ
.

--
~์ฟ ํผ

@cooperfellows ๋„๋ผ ์ ‘๊ทผ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ PR์—์„œ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๊ฐ€ ์™œ ๊ทธ๋ ‡๊ฒŒ ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Abstract-chosen.coffee์˜ 342ํ–‰์—์„œ ์ž…๋ ฅ์—๋Š” "combobox"์™€ "listbox"๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์—ญํ• ์ด ํ• ๋‹น๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

<input class="chosen-search-input" type="text" autocomplete="off" aria-expanded="false" aria-haspopup="true" role="combobox" aria-autocomplete="list" autocomplete="off" role="listbox" /> </div> <ul class="chosen-results"></ul>

์ค€ ํ›„

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

@obert01 ์ด JS ๋ฐ”์ด์˜ฌ๋ฆฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š”์ง€/์ž‘๋™ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ๋ฐ”์ด์˜ฌ๋ฆฐ์€ ๋‚ด ์ตœ์‹  ์ปค๋ฐ‹์˜ ์ปดํŒŒ์ผ๋œ jQuery ๋ฒ„์ „์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ํ‚ค๋ณด๋“œ(Chrome ์ตœ์‹  ๋ฒ„์ „)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋“œ๋กญ๋‹ค์šด์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋ฌด์Šจ ์ƒ๊ฐ์„ํ•˜๋Š”์ง€ ์ œ๊ฒŒ ์•Œ๋ ค์ฃผ์„ธ์š”.

@cooperfellows
์ €๋Š” ์ด JS Fiddle์„ JAWS 2019๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ์œ„์ชฝ ๋ฐ ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ ํ‚ค๋กœ ์˜ต์…˜์„ ํƒ์ƒ‰ํ•  ๋•Œ ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๊ฒƒ์„ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
Google ํฌ๋กฌ 71.0.3578.98:
JAWS๋Š” ๋ชฉ๋ก์ด ์ผ๋ถ€ ์Šคํฌ๋กค/๋ Œ๋”๋ง์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ํ•œ ํ˜„์žฌ ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ๊ฐ’์„ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ชฉ๋ก์ด ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ

<option selected="selected" value="United States">United States</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>

9๊ฐœ ์˜ต์…˜, JAWS๋Š” 10๋ฒˆ์งธ ์˜ต์…˜์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์•„๋ž˜๋กœ ๋ˆ„๋ฅผ ๋•Œ ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ์˜ต์…˜์„ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. . ์ƒ์ž๋Š” Antigua and Barbuda๋ฅผ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„์˜ ์ž๋™ ์Šคํฌ๋กค์„ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ ์˜ต์…˜์„ ์ฝ์Šต๋‹ˆ๋‹ค.

IE 11.0.9600.19463์—์„œ: ํ™”์‚ดํ‘œ ํ‚ค๋กœ ํƒ์ƒ‰ํ•˜๋ฉด ํ˜„์žฌ ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ์˜ต์…˜์ด ์œ„์•„๋ž˜๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ด๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ฝ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ์ข…์˜ ๋ Œ๋”๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด๊ฒƒ์„ ๊ฒฝํ—˜ํ–ˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. @obert01 @woenlee

์•ˆ๋…•ํ•˜์„ธ์š”. ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ์ด๊ฒƒ์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํ™”๋ฉด ํŒ๋…๊ธฐ์˜ ๊ธฐ๋Šฅ์—์„œ ๋™์ž‘์ด ๋ณ€๊ฒฝ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค๋ช…ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ aria ์†์„ฑ์ด ์—†๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ๋งŒ๋‚˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์Šคํฌ๋กค ๋ฌธ์ œ: ์•„๋ž˜๋กœ ํ™”์‚ดํ‘œ๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ณด์ด๋Š” ํ•ญ๋ชฉ ๋ชฉ๋ก์˜ ๋์— ๋„๋‹ฌํ•˜๋ฉด ์•„๋ž˜๋กœ ํ™”์‚ดํ‘œ๋ฅผ ๋‘ ๋ฒˆ ๋ˆŒ๋Ÿฌ ๋‹ค์Œ ํ•ญ๋ชฉ์— ์ดˆ์ ์„ ๋งž์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ENTER๋ฅผ ๋ˆŒ๋Ÿฌ ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๋ฉด ํฌ์ปค์Šค๊ฐ€ ํ•ด์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์€ ํ™”๋ฉด ํŒ๋…๊ธฐ๊ฐ€ ๋น ๋ฅธ ํƒ์ƒ‰ ๋ชจ๋“œ๋กœ ๋Œ์•„๊ฐ€์„œ ๋‚ด๊ฐ€ ์›น ํŽ˜์ด์ง€์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ํ™”์‚ดํ‘œ ํ‚ค๊ฐ€ ๋ชฉ๋ก์—์„œ ๋‚ด ์„ ํƒ์„ ์ œ์–ดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ๋Š” ์ œ์•ˆ์ด ํ‘œ์‹œ๋˜๋Š”์ง€ ์—ฌ๋ถ€์™€ ์ œ์•ˆ์ด ๋ช‡ ๊ฐœ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•„๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ ์„ ํƒ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ JAWS/NVDA๋Š” ํ…์ŠคํŠธ ์ž…๋ ฅ์— ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฐ๊ณผ์˜ ์ˆ˜๋ฅผ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ชฉ๋ก์ด ์ถ•์†Œ ๋˜๋Š” ํ™•์žฅ๋˜์—ˆ๋Š”์ง€ JAWS๊ฐ€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ENTER๋กœ ์„ ํƒํ•˜๊ณ  ํŽ˜์ด์ง€์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ์ฝ์œผ๋ ค๊ณ  ์‹œ๋„ํ•œ ํ›„์—๋„ JAWS๋Š” ํ‘œ์‹œ๋œ ์ตœ์‹  ์ œ์•ˆ์„ ๊ณ„์† ์ฝ์Šต๋‹ˆ๋‹ค.

์ข‹์€ ์ :

  • ์ž๋™ ์™„์„ฑ ๋ถ€๋ถ„์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. "fra"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด JAWS๊ฐ€ "France"๋ฅผ ๋ฐœ์Œํ•˜๊ณ  ENTER๋ฅผ ๋ˆŒ๋Ÿฌ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชฉ๋ก์—์„œ ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œ๋œ ๋Œ€๋กœ ํ•ญ๋ชฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฝ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ๋ถˆํ–‰ํžˆ๋„ ARIA, JavaScript ๋ฐ ์›น ์ „๋ฐ˜์— ๊ด€ํ•ด ๋งŽ์€ ๊ฒƒ์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ARIA ์†์„ฑ์˜ ์ตœ๋Œ€๊ฐ’์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜๊ณ  ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์•„๋ž˜์—์„œ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” JQuery ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ฐ๋ชจ ๋ฐ ์ฝ”๋“œ๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค.
https://a11y.nicolas-hoffmann.net/autocomplete-list/

๋” ๋งŽ์€ ๋„์›€์„ ๋“œ๋ฆฌ์ง€ ๋ชปํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์ €ํ•˜์ง€ ๋ง๊ณ  ์ž‘์—…์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐ๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜์‹ญ์‹œ์˜ค. ๋‚˜๋Š” ๋‹น์‹ ์„ ์œ„ํ•ด ํ…Œ์ŠคํŠธํ•˜๊ฒŒ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰