Jetpack Compose Academy · 강의

접근성과 엣지 투 엣지 UI

TalkBack, 큰 글꼴, 인셋을 지원합니다.

레슨 1/413개 단계

접근성과 엣지 투 엣지 UI은(는) CoddyKit의 무료 Jetpack Compose Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Jetpack Compose Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Jetpack Compose Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

출시 전 다듬기

훌륭한 앱은 모든 사람을 위한 앱입니다. 출시 전에 스크린 리더, 큰 글꼴, 최신 전체 화면 레이아웃에서도 사용할 수 있도록 앱을 다듬어야 합니다.

TalkBack에 필요한 것

Android에는 TalkBack이라는 스크린 리더가 있습니다. UI를 소리 내어 읽어 주므로 의미 있는 모든 요소에 명확한 레이블을 지정해야 합니다.

아이콘에 contentDescription 사용하기

아이콘과 이미지에는 텍스트가 없으므로 TalkBack이 contentDescription을 읽습니다. 각 요소에 무엇을 하는지 알려 주는 짧고 의미 있는 문구를 지정하세요.

Icon(
    Icons.Default.Share,
    contentDescription = "Share post"
)

장식 요소를 리더에서 숨기기

장식용 이미지를 읽어 주면 불필요한 정보가 추가됩니다. contentDescription을 null로 설정해 TalkBack이 이를 건너뛰고 중요한 내용에 집중하게 하세요.

Image(
    painter = bg,
    contentDescription = null
)

더 큰 글꼴 고려하기

사용자는 시스템 텍스트 크기를 키울 수 있습니다. 고정된 dp가 아니라 sp로 텍스트 크기를 지정하면 접근성 설정에 따라 레이블도 커져 잘리지 않습니다.

Text("Welcome", fontSize = 16.sp)

터치 영역을 누를 수 있게 유지하기

작은 버튼은 누르기 어렵습니다. 모든 컨트롤을 손가락과 보조 스위치로 편하게 사용할 수 있도록 터치 영역을 최소 48dp로 설정하세요.

Modifier.size(48.dp)

전체 화면으로 전환하기

최신 앱은 상태 표시줄과 탐색 표시줄 뒤까지 화면을 그립니다. Activity에서 enableEdgeToEdge를 호출해 콘텐츠가 화면 전체를 채우게 하세요.

enableEdgeToEdge()
setContent { App() }

시스템 표시줄 뒤에 숨지 않게 하기

전체 화면을 사용하면 콘텐츠가 시스템 표시줄 아래로 들어갈 수 있습니다. WindowInsets는 해당 표시줄이 차지하는 공간을 정확히 알려 주므로 그 주변에 여백을 둘 수 있습니다.

빠른 확인

공유 아이콘 버튼을 추가했습니다. TalkBack이 버튼의 용도를 읽어 주게 하려면 무엇을 사용해야 할까요?

간단하게 인셋 적용하기

가장 간단한 해결 방법은 safeDrawing 인셋 수정자입니다. 수동으로 계산하지 않아도 잘라내기 영역과 표시줄에서 콘텐츠가 떨어지도록 여백을 추가합니다.

Modifier.windowInsetsPadding(
    WindowInsets.safeDrawing
)

접근성을 일찍 테스트하기

기기에서 TalkBack과 접근성 스캐너를 켜 보세요. 검토자나 사용자가 발견하기 전에 누락된 레이블과 낮은 대비를 찾아낼 수 있습니다.

관련 콘텐츠 그룹화하기

레이블이 흩어져 있으면 듣기 피곤합니다. 시맨틱 정보에서 mergeDescendants를 사용해 카드가 하나의 단위로 읽히게 하면 TalkBack 사용자가 더 편하게 내용을 들을 수 있습니다.

Modifier.semantics(
    mergeDescendants = true
) {}

복습: 접근성과 몰입감

아이콘에 레이블을 지정하고, 텍스트를 sp로 조정하고, 터치 영역을 48dp로 유지했으며, 인셋을 사용해 전체 화면으로 전환했습니다. 이제 모든 사용자를 환영하는 앱이 되었습니다.

무료로 시작

AI 튜터와 함께 Kotlin을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
30
레슨
120

자주 묻는 질문

“접근성과 엣지 투 엣지 UI” 강의는 무료인가요?

네 — “접근성과 엣지 투 엣지 UI” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Jetpack Compose Academy 강의 전체를 잠금 해제할 수 있습니다. Jetpack Compose Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“접근성과 엣지 투 엣지 UI”에서 뭘 배우나요?

TalkBack, 큰 글꼴, 인셋을 지원합니다. 브라우저에서 직접 실행하는 실습 코드로 Jetpack Compose Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Jetpack Compose Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Jetpack Compose Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“접근성과 엣지 투 엣지 UI” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Jetpack Compose Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Jetpack Compose Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 접근성과 엣지 투 엣지 UI
  2. 빠른 시작을 위한 기준선 프로필
  3. 서명된 출시 앱 번들
  4. Compose 멀티플랫폼을 위한 아키텍처 구성
← Jetpack Compose Academy(으)로 돌아가기