λ©λ΄ λ²νΌμ λ¬Έμ κ·Έλλ‘ λ©λ΄λ₯Ό μ¬λ λ²νΌμ μλ―Ένλ€.
λ²νΌμ΄ νμ±νλλ©΄ λ©λ΄κ° νμλλ€λ κ²μ λνλ΄κΈ° μν΄ βκ° ν¨κ» λ°°μΉλ λ²νΌ μ€νμΌμ΄ λ§λ€.
- role=
button
- role=
button
μ΄ λΆμ¬λ μμμλaria-haspopup
μ΄menu
λλtrue
λ‘ μ€μ λμ΄μΌ νλ€.
- role=
- λ©λ΄κ° μ΄λ¦¬λ©΄
aria-expanded
κ° trueλ‘ μ€μ λμ΄μΌ νλ€. - λ©λ΄ νλͺ©λ€μ ν¬ν¨νκ³ μλ 컨ν
μ΄λ μμμλ
role=βmenuβ
- (μ ν)
aria-controls
λ₯Ό ν΅ν΄ μ μ΄νλ μμμ IDλ₯Ό μ§μ ν μ μλ€.
role: combobox
, grid
, listbox
, menu
, menubar
, radiogroup
, tablist
, tree
, treegrid
- μ΄ μμ±μ μΌλ°μ μΌλ‘ 컨ν μ΄λ μμμ λ°°μΉλλ©°, μ΄λ₯Ό ν΅ν΄ μ€ν¬λ¦° 리λλ νμ±νλμ΄μΌ νλ μμλ₯Ό μλ³ν μ μκ² λλ€.
- μ€μ DOM ν¬μ»€μ€λ₯Ό μ΄λνμ§λ μμΌλ©°, 컨νΈλ‘€ν μμμ ν¬μ»€μ€κ° μ μ§λκ³ , 컨νΈλ‘€ μμμ aria-activedescendant μμ±μ΄ λ΄λΆμ μΌλ‘ ν¬μ»€μ€ λ μμμ IDλ‘ μ€μ λ λΏμ΄λ€.
- μ€μ DOM ν¬μ»€μ€κ° μ μ©λμ§λ μμκ³ focus μ΄λ²€νΈκ° λ°μνμ§ μμκΈ° λλ¬Έμ
:focus
λ‘ μ€νμΌμ μ μ©ν μ μμΌλ©°, onActiveDescendantChanged μ½λ°±μ μ 곡νμ¬ νμ±νλ μμμ΄ λ³κ²½λ λ νμν μ€νμΌμ΄λ κΈ°ν λ‘μ§μ μ²λ¦¬νκ²λ νλ€. - μ΄ μμ±μ΄ μ λλ‘ λμνλλ‘ νλ €λ©΄ λ€ κ°μ§ μμ
μ μνν΄μ£Όμ΄μΌ νλ€.
- μ‘°μ μμ(컨ν μ΄λ)μ aria-activedescendantλ₯Ό μΆκ°ν΄μ£Όμ΄μΌ νλλ° μ΄ μμλ 볡ν©μμ ― (composite widget)μΌ μ μλ€. λ§μ½ μμκ° λ³΅ν© μμ ―μ΄ μλ κ²½μ° textbox, group λλ application roleμ΄ λΆμ¬λμ΄ μμ΄μΌ νλ€.
- μ΄ μ‘°μ μμλ₯Ό focusableν μμλ‘ λ§λ€μ΄μ£Όμ΄μΌ νλ€.
- μ‘°μ μμμ μμ μμ μ€ νμ±ν λ μμμ idλ₯Ό μ‘°μ μμμ aria-activedescendantμ ν λΉν΄μ£Όμ΄μΌ νλ€.
- μ¬μ©μκ° μκ°μ μΌλ‘ μ°¨μ΄λ₯Ό λλ μ μλλ‘ νμ±ν λ νλͺ©μ μ€νμΌμ μ§μ ν΄ μ£Όμ΄μΌ νλ€.
- ν€λ³΄λ μ
λ ₯μ μ¬μ©νμ¬ ν¬μ»€μ€λ₯Ό μ΄λνλ κ²½μ° ν¬μ»€μ€λ₯Ό λ°μ μμμμ μ§μ
.focus()
λ₯Ό νΈμΆνλ€. - κ·Έ κ²°κ³Ό
document.activeElement
κ°.focus()
λ₯Ό νΈμΆν μμλ‘ μ€μ λκ³ ,:focus
λ° :focus-within
μ ν΅ν΄ νμν μ€νμΌμ μ μ©νκ² λλ€.