๋ฐฐ๊ฒฝ
CollectionView ๋๋ TableView(์ดํ List ์ปดํฌ๋ํธ)์์ select ๋์ ์ ํด๋น ์์ดํ ์ ์ํ๊ฐ “์ ํ”์ผ๋ก ์ค์ ๋์ด ๋์ ๋ฐ ํ์ธ ์ VoiceOver ์์ฑ์ผ๋ก “์ ํ๋จ”์ด ์ถ๋ ฅ๋ฉ๋๋ค.
์ ๊ทผ์ฑ ๋ฌธ์ ์ ์์ธ
Apple์ ์๋๋ ์์ดํ ์ด ์ ํ๋์์ผ๋๊น ํด๋น ์์ดํ ์ ์ํ๋ฅผ ์ถ๋ ฅํด ์ ํํ ์๋ด๋ฅผ ํด์ฃผ๊ณ ์ ํจ์ด์ง๋ง, ์ด๋ฌํ ์๋ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋์์ ๋ํ ํผ๋:
- “ํด์ ๋จ”์ด๋ผ๋ ๋ฐ๋ ๊ฐ๋ ์กด์ฌ ์ธ์. (์, ์ฝ๊ด ๋์)
- ์ถ๊ฐ ๊ธฐ๋ฅ ์กด์ฌ ์ธ์ (์, ์จ๋ฒ - ์ฌ์ง ์ ํ, ์ฌ์ง ๋ชจ์ ๋ณด๋ด๊ธฐ)
๊ตฌํ ๋ฐฉ๋ฒ
์ด "์ ํ๋จ"์ accessibilityTraits๊ฐ .selected ๋ก ์ค์ ๋์ด ์ถ๋ ฅ๋๋ ๊ฒ์ผ๋ก, accessibilityTraits ์ค์ ์ ํตํด ํด๊ฒฐํ ์ ์์ต๋๋ค.
UIAccessibilityTraits
UIAccessibilityTraits: ์ ๊ทผ์ฑ ์์์ ์๋ ๋ฐฉ์์ ์ค๋ช ํ๋ ํน์ง
์๋์ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ์์๋ค์ด ์์ด ํด๋นํ๋ ํน์ฑ์ ์ฐพ์ ์์๋ก ์ค์ ํ ์ ์์ต๋๋ค:
- button
- link
- image
- header
- select
- …
List ์ปดํฌ๋ํธ์ UIAccessibilityTraits
List ์ปดํฌ๋ํธ์ ๊ธฐ๋ณธ์ ์ธ traits๋ .none์ผ๋ก, ์ฆ ์ด๋ค ํน์ฑ๋ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์๋ก ์ค์ ํด์ฃผ๋ฉด ์๋์ ๊ฐ์ด ์ค์ ๋ traits์ ๋ฐ๋ผ ์๋ด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
func cellRegistrationHandler(cell: UICollectionViewListCell, indexPath: IndexPath, item: Detail) {
...
if UIAccessibility.isVoiceOverRunning {
cell.isAccessibilityElement = true
cell.accessibilityTraits = .button // โญ๏ธ
}
}
“์ ํ๋จ” ๋ฉ์์ง ์ถ๋ ฅ๊ณผ ๊ด๋ จ๋ UIAccessibilityTraits
์ฌ๋ฌ accessibilityTraits ์ค “์ ํ๋จ” ์๋ด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ํน์ฑ์ .selected ์ ๋๋ค. List ์ปดํฌ๋ํธ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ค traits๋ ๊ฐ์ง์ง ์์ง๋ง, ์ ํ ์ด๋ฒคํธ ๋ฐ์ ์ ์๋์ผ๋ก ํด๋น ์์ดํ ์ .selected traits๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
์ ํํ๊ฒ ๋งํ์๋ฉด accessibilityTraits๊ฐ button๊ณผ selected๋ฅผ ํจ๊ป ๊ฐ์ง UIAccessibilityTraits(rawValue: 9) ์ผ๋ก ๋ณ๊ฒฝ๋๊ฒ ๋ฉ๋๋ค.
์ปดํฌ๋ํธ ์์ฒด์ ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ ํ ์ด๋ฒคํธ ๋ฐ์ ์ ์๋์ผ๋ก accessibilityTraits๊ฐ ์ค์ ๋๋ฏ๋ก ์ด๋ฅผ ์ฐจ๋จํ๊ธฐ ์ํด์๋ ํด๋น ์์ฑ์ ์ฌ์ ์๊ฐ ํ์ํฉ๋๋ค.
.accessibilityTraits ์ฌ์ ์ ๋ฐฉ๋ฒ
์๋์ ๊ฐ์ด accessibilityTraits๋ฅผ ์ฌ์ ์ํด์ค๋๋ค. get์๋ ์ํ๋ traits์ ์ ๋ฌํด์ฃผ๊ณ set์ ์ด๊ธฐํํด์ฃผ์ด ์ปดํฌ๋ํธ์์ ์๋์ผ๋ก ์ค์ ๋๋ selected ํน์ฑ์ ์ฐจ๋จํด์ค๋๋ค.
class ButtonTraitsCollectionListCell: UICollectionViewListCell {
override var accessibilityTraits: UIAccessibilityTraits {
get { .button }
set {}
}
}
๊ตฌํ ๊ฒฐ๊ณผ