6. 부록 - ‘스크린리더’와 ‘VS 코드’ 더 알아보기
1스크린리더
가. ‘시각장애인용 스크린리더’란?
스크린리더란 시각장애인들에게 컴퓨터의 화면과 자신이 입력한 키보드 정보 그리고 마우스 좌표 등을 음성으로 알려 주어 컴퓨터를 사용할 수 있도록 도와주는 소프트웨어이다. 스크린리더 기술은 Jaws와 같은 PC형 스크린리더와 보이스 몬, 웹톡스와 같은 웹 스크린리더 방식의 두 가지가 있다. PC형 스크린리더는 전맹 시각장애인이 주로 사용하며, 웹 스크린리더는 저시력 시각장애인과 난독증과 같은 학습장애, 인지장애인과 노인, 다문화 가족 등의 웹 접근성을 지원하기 위해 사용된다. 최근에는 애플사의 아이폰에 적용된 보이스오버와 같은 스마트 기기에 내장된 모바일 스크린리더도 다수 활용되고 있다.
스크린리더는 외국에서 개발된 것들을 비롯하여 다양한 종류의 프로그램들이 있는데 우리나라는 1990년대에 ‘가라사대’를 시작으로 ‘소리눈’, ‘아이즈2000(eyes2000)’, ‘이브 포 윈도우(Eve for Windows), 실로암시각장애인복지관의 ’드림보이스‘, 엑스비전 테크놀로지의 ‘센스리더’ 등이 개발되었다.
나. ‘센스리더’란?
센스리더는 마이크로소프트의 운영체제인 윈도우와 기반 응용 프로그램을 사용할 수 있도록 도와주는 스크린리더로 디스플레이상에 표시되는 텍스트와 그래픽 정보를 음성합성 장치나 TTS 엔진을 사용해 읽어줌으로써 시각장애인이 컴퓨터를 사용할 수 있도록 도와주는 응용 소프트웨어이다.
센스리더는 다음과 같은 특징을 가지고 있다.
첫째, 리뷰 기능을 가지고 있다. 리뷰 기능은 화면에 표시된 내용을 살펴볼 수 있는 기능으로 센스리더는 이 기능을 제공해 준다.
둘째, 다양한 환경설정 기능을 가지고 있다. 사용자들은 개개인에 따라 스크린리더를 사용하는 방식에도 차이를 나타내는데 센스리더는 사용자가 자신의 개성에 맞게 프로그램의 동작 방식을 설정할 수 있고, 모든 기능키를 컴퓨터 기종이나 개인의 취향에 따라 자유롭게 변경할 수 있는 기능을 제공해 준다.
셋째, 주요 응용프로그램을 위한 별도의 인터페이스를 제공하고 있다. 센스리더는 인터넷 익스플로러, PDF 문서, MS-OFFICE, 한글 워드프로세서 등 국내에서 사용되고 있는 주요 프로그램들을 위해 별도의 인터페이스를 지원함으로써 시각장애인이 보다 편리하게 이들 소프트웨어를 사용할 수 있는 방법을 제공해 준다.
다. ‘NVDA’란?
NVDA는 오픈소스 스크린리더로서 가장 큰 장점은 무료로 사용 가능하며 다국어를 지원한다는 것이다. 한글 윈도우에서 NVDA를 설치하게 되면 자동으로 한국어로 전환된다.
NVDA는 음성엔진을 소프트웨어 저작권 문제로 기본적으로는 eSpeak를 적용하고 있지만 운영체제가 윈도우 8.0 이면 윈도우에서 기본으로 제공하는 SAPI 5.1 버전용 음성엔진인 혜미로 변경 가능하고 윈도우 7 이하인 경우에는 한국어 SAPI를 갖고 있거나 Vocalizer 음성엔진을 구입하였을 경우 각각의 음성엔진으로 변경 가능하다는 특징을 가지고 있다.
인터넷 브라우저에서 센스리더와 비교하면 다음과 같다.
센스리더에서는 한 줄에 여러 링크나 버튼 등이 있더라도 각 요소를 한 줄로 떼어서 표시해 주지만 NVDA는 환경설정 여하에 따라 화면의 레이아웃을 그대로 출력해 주는 기능이 있으며 이 기능이 기본값으로 제공된다. 이 기능이 적용되면 센스리더에서는 한 줄에 링크가 두 개이면 그 두 개가 다른 라인으로 분리되어 표시되지만 NVDA에서는 화면 레이아웃을 따라가게 되어 한 줄에 두 링크가 같이 표시되어 읽어준다.
스크린리더에서는 기본적으로 여러 객체 단위로 이동하는 단축키를 제공하고 있는데 NVDA에서는 헤딩, 목록 요소, 버튼, 콤보 상자 등을 이동하는 단축키들이 센스리더와 많이 다르다.
편집 가능한 텍스트에 내용을 입력하거나 혹은 콤보 상자에서 어떤 객체를 선택할 때는 NVDA의 경우 가상 커서를 해제 시에만 그것이 가능하며 탭 키로 이동 시 관련 캐럿을 만나면 자동으로 가상 커서가 해제된다.
2비주얼 스튜디오 코드(Visual Studio Code) 접근성
비주얼 스튜디오 코드에는 모든 사용자가 프로그램 작업에 쉽게 접근할 수 있게 해주는 많은 기능이 있다. 예를 들면 화면의 가시성을 향상시켜 주는 ‘확대/축소’ 및 ‘색 테마’ 기능을 가지고 있고 마우스 없이 키보드만으로도 사용이 가능하며, 화면을 읽어주는 스크린리더 등에 최적화되어 있다. 다음은 Visual Studio code가 가지고 있는 기능 중 접근성 향상과 관련된 몇 가지 내용을 소개하고자 한다.
가. 화면 ‘확대/ 축소’
‘확대’ 명령(Ctrl + =)을 사용하여 VS 코드(Visual Studio code - 이하 ‘VS 코드’로 줄임)의 ‘확대/축소’ 수준을 높일 수 있다. ‘확대/축소’ 범위는 기능이 실행될 때마다 20%씩 증가한다. 줌 아웃은 단축키(Ctrl 와 ‘+’ 또는 ‘-’)로 실행할 수 있다.
‘확대/축소’ 기능을 사용하여 화면을 조정하면 ‘확대/축소’의 수준이 window.zoomLevel 설정에서 유지된다. 기본값은 0이고 ‘확대/축소’시 줌 레벨이 20% 증가된다.
나. 디스플레이 ‘색테마’ 설정하기
모든 플랫폼에서 고대비 색상 테마를 지원한다. 상단의 대메뉴를 탭 키로 이동하여 <파일>을 선택하고 하위 메뉴에서 <기본 설정> 선택, 다시 기본 설정의 하위 메뉴 중 <색 테마>에서 여러 가지 테마 중 원하는 디스플레이 ‘색 테마’를 선택할 수 있다. ‘색 테마’의 단축키는 (Ctrl+K, Ctrl+T)이다.
다. 키보드 탐색
마우스를 사용하지 않고 VS 코드를 실행할 수 있도록 명령 팔레트 (Ctrl+Shift+P)의 명령 목록을 제공한다. 단축키 (Ctrl+Shift+P)를 누른 다음, 찾고자 하는 검색어를 입력하면 된다. VS 코드에는 미리 설정된 키보드 단축키가 많이 있다. 이 단축키는 검색창 하위 각 목록의 오른쪽에 표시되어 있다.
또한 나만의 키보드 단축키를 설정할 수도 있다. 탭 키를 눌러 상단의 대메뉴 <파일>에서 엔터키를 누르고, 하위 메뉴 <기본 설정>에서 엔터키를 누른다. 다시 <기본 설정> 하위 메뉴인 <바로가기 키>에서 엔터키를 누르면 단축키 목록을 확인할 수 있다. <바로 가기 키> 메뉴의 단축키는 (Ctrl+K, Ctrl+S)이다.
내가 원하는 키보드 단축키를 정의하거나 추가하는 방법에 대한 자세한 내용은 ‘키 바인딩’을 참고하길 바란다.
(바로가기: https://code.visualstudio.com/docs/getstarted/keybindings)
라. TAB 탐색
탭 키를 사용하여 VS 코드의 메뉴를 이동할 수 있다. 역순으로 탭 키를 이동하려면 (Shift+Tab)을 사용하면 된다.
* 탭 탐색을 지원하는 일부 영역은 다음과 같다.
▷ 확장 / 축소보기에서 접을 수 있는 섹션의 머리글
▷ 보기 및 섹션의 작업
▷ 트리의 항목에 대한 작업
마. TAB trapping
기본적으로 소스 코드 파일 내에서 탭 키를 누르면 Tab 문자(또는 들여쓰기 설정에 따라 공백)가 삽입되고 파일이 그대로 유지된다. 탭 키를 눌러 파일 밖으로 포커스를 이동하기 위해서는 단축키 (Ctrl+M)으로 Tab의 트래핑을 전환하여야 한다.
탭 키가 포커스를 이동하여 기본값인 탭 트래핑이 해제되어 있으면, 창 아래 상태 표시줄에 내용이 표시된다.
탭 키 설정/해제로 포커스를 재설정하려면, 명령 팔레트 (Ctrl+Shift+P)에서 해당 내용을 확인하여 작업할 수 있다. 탭 키 표시 설정/해제 단축키는 (Ctrl+Windows+W)이다.
대메뉴 <파일> 선택 - 하위 메뉴 <기본설정> 선택 - 하위 메뉴 <설정> 에서 사용자의 편의에 따라 탭 키와 관련된 값을 변경할 수 있다.
바. 스크린리더
VS코드는 텍스트 페이징에 기반한 전략 사용으로 편집기에서 화면 판독기를 지원한다. VS 코드는 NVDA 스크린리더를 사용하여 테스트하였다.
윈도우에서 NVDA를 사용하는 경우 NVDA 2017.3 이상으로 업데이트하는 것이 좋다. (참고사항: NVDA 2017.3은 캐럿 이동 이벤트를 30ms에서 100ms로 수신할 때 NVDA의 시간 초과를 증가시킨다. 이 버전은 내장된 시간 초과가 30ms에서 100ms로 증가한 첫 번째 버전이다.)
새 텍스트로 이동할 때 오류가 나타나거나 주의사항 안내로, 화면 판독기에서 오류 또는 경고 메시지가 나올 수 있다. 이런 경우 (Ctrl+Up) 및 (Ctrl+Down)을 사용하여 오류/경고 메시지를 살펴보고 (Shift+Esc) 설정으로 메시지를 무시하거나 메시지의 자동 팝업을 비활성화(자동 팝업 기능)를 사용할 수 있다.
이전 또는 다음으로 이동 (F7 키와 Shift+F7)을 할 때 diff 편집기 창에서 diffs의 이동을 허용하는 Diff 검토 창이 나타난다. 이때 방향 키를 사용하여 변경되지 않은 선, 삽입된 선 또는 삭제된 선을 탐색할 수 있다. Enter 키를 누르면 선택된 라인 번호(또는 삭제된 라인이 선택된 경우 가장 가까운 기존 라인 번호)에서 diff 편집기의 수정된 창으로 포커스가 되돌아간다. Diff 검토 창을 닫을 때는 Escape 또는 (Shift+Esc)를 사용하면 된다.
사. 접근성 도움말
에디터에서 단축키 (Alt+F1)을 누르면 VS 코드에서 다양한 접근성 옵션의 상태를 확인할 수 있는 ‘접근성 도움말’ 표시 대화 상자가 나타난다.
아. 디버거 접근성
VS 코드 디버거 UI에는 사용자가 접근할 수 있으며 다음과 같은 기능이 있다. 먼저 디버그 상태의 변화가 읽힌다(예: ‘started’, ‘breakpoint hit’, ‘terminated’, ...). 또한 모든 디버그 동작은 키보드로 확인할 수 있다. 탭 키로 디버그 보기와 디버그 콘솔을 탐색 할 수 있다. 디버그 호버는 키보드로 접근 할 수 있다. (Ctrl+K, Ctrl+I)
VS 코드에는 플랫폼에 따라 알려진 접근 가능성 문제가 있다.
윈도우
키보드(오른쪽, 왼쪽 화살표 키)를 사용하여 최상위 메뉴 항목(파일, 편집, 보기 등) 사이를 이동할 수 없다.
맥
VoiceOver를 사용하는 편집기에는 화면 판독기가 제한적으로 지원된다.
리눅스
편집기에 화면 판독기 지원이 없다.
<참고문헌>
(국내 자료)
·윤인성(2018). Hello Coding 파이썬. 서울: 한빛미디어.
·이승찬(2016). 모두의 파이썬. 서울: 길벗.
·EBS(2016). Hello EBS 소프트웨어. 서울: EBS한국교육방송공사.
·박상현(2016). 뇌를 자극하는 파이썬 3. 서울: 한빛미디어.
(인터넷 자료)
·엑스비전테크놀로지(2012). 센스리더 3.0.5.1 도움말.
http://xvtech.com/xvtech/?mid=data&category=97&document_srl=5425. <2018.05.07. 검색>
·NULI(2014). NVDA(스크린리더) 소개.
http://nuli.navercorp.com/sharing/blog/post/1132613. <2018.05.07. 검색>
·TECH TECHNIK(2015). 2015년 우수한 프로그래밍 언어 10개.
http://techtechnik.com/10-excellent-programming-languages-in-demand-2015. <2018.05.10. 검색>
·비주얼스튜디오코드(2018). 비주얼스튜디오코드 접근성.
https://code.visualstudio.com/docs/editor/accessibility. <2018.05.12. 검색>
·위키백과(2000). 스크린리더. https://ko.wikipedia.org/wiki/스크린_리더. <2018.06.18.>
·위키백과(2000). 디버깅. https://ko.wikipedia.org/wiki/디버그. <2018.06.19.>