Skip to content

접근성 및 Dynamic Type 품질 보강#226

Merged
gaeng2y merged 1 commit into
developfrom
feature/#214-a11y
May 17, 2026
Merged

접근성 및 Dynamic Type 품질 보강#226
gaeng2y merged 1 commit into
developfrom
feature/#214-a11y

Conversation

@gaeng2y

@gaeng2y gaeng2y commented May 16, 2026

Copy link
Copy Markdown
Owner

📝 Summary

#214 접근성 및 Dynamic Type 품질 감사 범위를 반영했습니다.

핵심 사용자 흐름의 VoiceOver label/hint, Dynamic Type 큰 글자 대응, Reduce Motion 처리를 보강하고 감사 체크리스트 문서를 추가했습니다.

🎯 Type of Change

  • ✨ New feature (새로운 기능 추가)
  • 🐛 Bug fix (버그 수정)
  • 🔧 Configuration (설정 변경)
  • ♻️ Refactoring (코드 리팩토링)
  • 📝 Documentation (문서 수정)
  • 🎨 UI/UX (디자인 변경)
  • ⚡ Performance (성능 개선)
  • 🛡️ Security (보안 강화)
  • 🧪 Test (테스트 추가/수정)
  • 🔨 Build (빌드 시스템 수정)

🔗 Related Issues

📋 Changes Made

Added

  • Docs/accessibility-dynamic-type-audit.md 접근성/Dynamic Type 감사 체크리스트 추가
  • Home, HealthKit gate, History, Insight, Challenge, Settings 주요 액션에 VoiceOver label/hint 추가
  • 접근성 문자열 리소스 추가

Changed

  • Dynamic Type 접근성 크기에서 홈 CTA, 온보딩 footer, 기록 요약, 루틴 복구 액션을 세로 배치로 전환
  • 고정 높이 버튼을 최소 높이 기반으로 조정
  • Reduce Motion 설정에 따라 물방울 반복 애니메이션, 온보딩 전환, segmented control 선택 애니메이션 제어
  • 회원 탈퇴 화면을 ScrollView 기반으로 조정해 큰 글자에서도 위험 액션 접근 가능

Fixed

  • 시각 정보에만 의존하던 수분 진행률, 캘린더 날짜, 기록 삭제 가능 여부를 접근성 텍스트로 노출
  • 기록 행의 삭제 버튼이 별도 액션으로 탐색될 수 있도록 접근성 병합 범위 조정

Removed

  • 없음

🔍 Technical Details

  • 접근성 메타데이터와 SwiftUI 환경값 처리는 View 레이어에 한정했습니다.
  • Domain/Data/ViewModel 경계는 변경하지 않았습니다.
  • LiquidGlassSegmentedControl은 기존 Reduce Transparency 처리를 유지하면서 Reduce Motion과 Dynamic Type 대응만 추가했습니다.

📸 Screenshots / Videos

Before

첨부 없음

After

첨부 없음

✅ Testing

Test Plan

  • 앱 빌드 성공
  • Debug 모드 정상 작동
  • Release 모드 정상 작동
  • 기존 기능 영향 없음
  • Widget Extension 정상 작동 (해당시)

Test Environment

  • iOS Version: 미실행
  • Device: 미실행
  • Xcode Version: 로컬 Xcode에서 CoreSimulator/platform 불일치 발생

Test Results

  • make lint 통과
  • make arch-check 통과
  • git diff --check 통과
  • Localizable.xcstrings JSON 파싱 확인 완료
  • xcodebuild test -workspace Mulimi.xcworkspace -scheme PresentationLayer ... 실패: 로컬 CoreSimulator 버전 불일치 및 iOS 26.5 platform 미설치로 destination 탐색 불가
  • xcodebuild build -workspace Mulimi.xcworkspace -scheme PresentationLayer ... 실패: 동일한 로컬 CoreSimulator/platform 문제
  • Accessibility Inspector/VoiceOver 수동 검증은 CLI 세션에서 수행하지 못해 PR 리뷰 전 확인 필요

🚨 Breaking Changes

  • Yes (아래에 설명)
  • No

📌 Additional Notes

  • 수동 QA 체크리스트는 Docs/accessibility-dynamic-type-audit.md에 정리했습니다.
  • 남은 수동 검증과 CI 확인이 있어 Draft PR로 생성합니다.

👀 Review Checklist

  • 코드가 프로젝트의 코딩 컨벤션을 따르고 있나요?
  • 새로운 의존성이 필요한가요?
  • 문서 업데이트가 필요한가요?
  • 데이터베이스 마이그레이션이 필요한가요?
  • 환경 설정 변경이 필요한가요?

#214 핵심 흐름 접근성 감사와 Dynamic Type 대응
@gaeng2y gaeng2y marked this pull request as ready for review May 17, 2026 10:15
@gaeng2y gaeng2y merged commit 53e11fe into develop May 17, 2026
2 checks passed
@gaeng2y gaeng2y deleted the feature/#214-a11y branch May 17, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant