[flutter] cupertino_icons를 통해 아이콘의 접근성 개선하기

애플의 디자인 가이드인 Cupertino는 iOS 애플리케이션의 아이콘을 표현하는 데 있어 중요한 역할을 합니다. Flutter에서는 cupertino_icons 패키지를 통해 Cupertino 디자인 아이콘을 손쉽게 사용할 수 있습니다. 이번 포스트에서는 cupertino_icons를 활용하여 아이콘의 접근성을 개선하는 방법을 알아보겠습니다.

cupertino_icons 패키지 추가하기

먼저, cupertino_icons 패키지를 추가해야 합니다. pubspec.yaml 파일을 열고 dependencies 섹션에 아래와 같이 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0

그리고 터미널에서 flutter pub get 명령을 실행하여 패키지를 설치합니다.

아이콘 사용하기

cupertino_icons 패키지는 Cupertino 디자인 아이콘을 제공합니다. 예를 들어, iOS에서 사용되는 뒤로 가기 아이콘을 사용해보겠습니다.

import 'package:flutter/cupertino.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: CupertinoPageScaffold(
        navigationBar: CupertinoNavigationBar(
          leading: CupertinoButton(
            child: Icon(CupertinoIcons.back),
            onPressed: () {
              // 뒤로 가기 동작
            },
          ),
        ),
        child: Center(
          child: Text('앱 화면'),
        ),
      ),
    );
  }
}

위 코드에서 Icon 위젯을 사용하여 CupertinoIcons.back으로 뒤로 가기 아이콘을 나타냅니다. 이렇게하면 iOS에서 사용되는 아이콘을 손쉽게 구현할 수 있습니다.

접근성 개선하기

접근성은 모든 사용자가 앱을 쉽게 이용할 수 있도록 도와주는 중요한 요소입니다. 접근성을 개선하는 방법 중 하나는 아이콘에 설명을 추가하는 것입니다.

아이콘에 설명을 추가하려면 Semantics 위젯을 사용해야 합니다. 아래 예제를 참조하세요.

import 'package:flutter/cupertino.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: CupertinoPageScaffold(
        navigationBar: CupertinoNavigationBar(
          leading: CupertinoButton(
            child: Semantics(
              label: '뒤로 가기',
              child: Icon(CupertinoIcons.back),
            ),
            onPressed: () {
              // 뒤로 가기 동작
            },
          ),
        ),
        child: Center(
          child: Text('앱 화면'),
        ),
      ),
    );
  }
}

Semantics 위젯을 사용하여 label 속성에 아이콘의 설명을 추가합니다. 이렇게 하면 스크린 리더기와 같은 접근성 도구를 사용하는 사용자들에게 아이콘의 의미를 전달할 수 있습니다.

마무리

이번 포스트에서는 cupertino_icons 패키지를 사용하여 아이콘의 접근성을 개선하는 방법을 살펴보았습니다. Flutter에서는 Cupertino 디자인의 아이콘을 쉽게 사용할 수 있으며, 접근성을 개선하기 위해 Semantics 위젯을 활용할 수 있습니다.

더 많은 Cupertino 아이콘 및 Flutter에 대한 자세한 내용은 공식 문서를 참조하세요.