[flutter] 플러터 Checkbox 스크린 리더 지원하기

스크린 리더는 시각 장애인들이 컴퓨터 화면의 내용을 읽을 수 있게 도와주는 보조 기술입니다. 플러터(Flutter) 앱에서도 스크린 리더를 사용할 수 있도록 Checkbox 위젯에 접근성을 추가하는 방법을 알아보겠습니다.

스크린 리더 지원을 위한 체크박스 접근성 설정하기

플러터에서 Checkbox 위젯에 스크린 리더 지원을 추가하기 위해서는 아래와 같은 단계를 따라야 합니다.

  1. 체크박스에 의미 있는 설명 추가하기
  2. 토글 상태 알리기

1. 체크박스에 의미 있는 설명 추가하기

체크박스는 사용자에게 선택할 수 있는 옵션을 제공합니다. 그러나 스크린 리더는 체크박스의 내용을 읽을 수 없기 때문에 직접 설명을 추가해야 합니다. 이를 위해 Checkbox 위젯의 Semantics 속성을 사용할 수 있습니다.

Semantics(
  label: '푸시 알림 받기',
  child: Checkbox(
    ...
  ),
)

위 코드에서 Semantics 위젯을 사용하여 체크박스에 설명을 추가했습니다. label 속성에는 체크박스의 의미를 간결하게 설명하는 텍스트를 입력하면 됩니다.

2. 토글 상태 알리기

스크린 리더를 사용하는 사용자는 체크박스의 현재 상태를 알 수 없습니다. 따라서 체크박스의 상태 변경을 스크린 리더가 알 수 있도록 알려주어야 합니다. 이를 위해 toggleableActiveColortoggleableActiveColorBrightness 속성을 사용할 수 있습니다.

Checkbox(
  value: _isChecked,
  onChanged: (bool value) {
    setState(() {
      _isChecked = value;
    });
  },
  toggleableActiveColor: Colors.blue,
  toggleableActiveColorBrightness: Brightness.dark,
)

위 코드에서 toggleableActiveColor 속성은 체크박스가 활성화되었을 때의 색상을 지정하고, toggleableActiveColorBrightness 속성은 색상의 밝기를 지정합니다. 이렇게 설정하면 Checkbox 위젯의 스크린 리더 접근성이 높아지게 됩니다.

결론

플러터 앱에서 체크박스에 스크린 리더 지원을 추가하기 위해 SemanticstoggleableActiveColor 속성을 사용하는 방법을 알아보았습니다. 이를 통해 시각 장애인들도 플러터 앱을 더 쉽게 사용할 수 있게 되었습니다.

참고 자료