Skip to content

Feature: Accessibility 대응 (VoiceOver / Dynamic Type / 색 의존 제거) #88

Description

@yeseonglee

목표

VoiceOver·Dynamic Type·색각 이상 사용자를 고려해 접근성을 정비한다.

현재 상태

접근성 대응이 사실상 없다.

  • SidebarView 4곳 (accessibilityLabel)
  • DVRadioButton 1곳

그 외 아이콘 전용 버튼, 목록 행, 상태 표시 전반에 라벨이 없다.

작업 범위

라벨링

  • 아이콘 전용 버튼 전수 점검 후 accessibilityLabel 부여 (정렬 버튼, 검색, 각종 액션)
  • listView 행을 결합 요소로 묶어 하나로 읽히게 (accessibilityElement(children: .combine))
    • 이름 + 서비스 + 수정일 + 만료 상태가 한 번에 전달되도록 라벨 구성
  • 사이드바 필터 카드에 개수를 포함한 라벨 (예: "전체, 12개")
    • 개수 미로드 상태(nil)에서는 개수를 읽지 않도록 처리

색 의존 제거

  • 만료 배지가 색만으로 구분되지 않게 아이콘 형태 차별화 — #85와 직결
  • 에러·경고 표시가 색 외 단서를 갖는지 점검

기타

  • Dynamic Type 대응 — 고정 frame 높이(예: 카드 72pt)에서 텍스트가 잘리는지 확인
  • VoiceOver 순회 순서 점검 (사이드바 → 목록 → 상세)
  • 키보드 내비게이션 확인

참고

선행 조건: #87(Localization) 이후. 접근성 라벨도 번역 대상이므로 현지화 인프라가 먼저 서야 한다.

#85와 연동: 만료 배지의 색 의존 제거는 #85에서 아이콘 형태를 정할 때 함께 반영하는 편이 낫다. 이 이슈에서는 검증만 담당할 수도 있다.

Metadata

Metadata

Assignees

Labels

✨ Feature새로운 기능 개발

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions