이 글은 가독성이 매우 안 좋을 수 있다. 뒤에서 그 이유가 나올 테니 독자분들 에게는 매우 죄송하지만 끝까지 읽어주셨으면 좋겠다.
차례를 어떻게 나눠야 할지 모르겠어서 그냥 글을 썼다. 이 점에 대해서도 양해를 구한다.
velog에 가입한지는 꾀 된 것 같지만 흔한 소개글 조차도 쓰지 않고 있었다.
나도 무언가 쓰려고 가입한거긴 한데 그동안 조금 바쁘기도 했고 글을 어떻게 써야할지도 몰랐었다...라는 핑계를 대면서 넘어가 보려고 한다.
velog 글들을 보면 '나는 코딩을 어떻게 입문하게 되었나?' "내가 코딩을 하면서 느낀 것들' 과 같은 주제로 쓰인 글들을 볼 수 있다. 나도 오늘 그런 주제에 대해 얘기해
볼까 하는데 내 얘기는 조금 특별하게 들릴 지도 모른다.
우선 나는 시각장애인이다. 시각장애인에 대해 들어본적이 있는가? 시각장애인은 말그대로 시각 즉 눈에 장애가 있는 사람들을 얘기한다. 한마디로 앞을 제대로 보지 못 하는 사람들을
얘기한다.
시각장애라고 해서 앞을 모두 못 보는 것은 아니다. 색만 구분하는 사람도 있고, 형체까지만 보이는 사람도 있는가 하면 나같이 빛조차도 안보이는 사람들도 많다.
그럼 나는 코딩을 어떻게 할까? 나는 이 주제에 대해서 글을 써보려고 한다.
일단 대부분의 사람들이 시각장애인은 코딩을 하는 것이 어렵지 않을까 라고 생각할 것 같다. 본디 코딩이란 모니터에 뿜어저 나오는 에러들과 씨름하며 하는 일이니 말이다. 그런데 눈이
안 보이니 그런 모니터 화면을 못 보고, 그럼 당연히 코딩, 심지어는 컴퓨터나 스마트폰 사용 등도 못 하지 않을까 하는 생각을 하는 사람이 많을 것 같다.
결론부터 말하자면 시각장애인들도 코딩을 할 수 있다. 모니터를 못 보는 시각장애인들은 어떻게 코딩을 할까? 잠시 글 읽는 것을 멈추고 이것에 대해 생각해 봐도 된다. 굳이 코딩이
아니더라도 시각장애인은 컴퓨터 사용을 어떻게 할까 에 대해서도 생각해 보자.
시각장애인이라고 해서 엄청난 것이 아니다. 눈이 안 보이면 엄청 힘들지 않을까 라고 많이들 생각한다. 하지만 반대로 말하면 눈만 안 보이지 다른 감각기관들은 멀정하다는 뜻이다. 이
글을 읽는 여러분들은 만약 어떤 사람이 시각장애인이란 말을 들었을 때 시각장애인 이라는 재료를 가지고 재조립 하려고 하지 말고 이미 만들어 저 있는 "사람" 이라는 재료에서 시각
이라는 감각만 빼고 봐줬으면 좋겠다.
여튼 이 글은 시각장애인에 대해 얘기하는 글이 아니니 슬슬 코딩 얘기로 넘어가 볼까 한다.
아까 내가 시각장애인도 코딩을 할 수 있다고 말했다. 혹시 이것에 대해 생각해 보았는가? 이제 이것에 대한 힌트를 몇 가지 줄까 한다.
시각장애인들은 앞을 보지 못 한다. 하지만 시각장애인들은 청각, 후각, 촉각 등 다른 감각들은 느낄 수 있다.
그렇다고 코딩이 냄새가 나는 것도 아니니 후각을 이용해서 코딩을 한다기엔 조금 이상하고... 코딩이 맛이 있는것도 아니니 혀를 이용해서 코딩을 한다는 것도 이상하지 않는가?
자 이제 조금 더 생각해 보고 아래 글을 읽어보기 바란다.
이제 진짜 이 문제에 대한 답을 공개할까 한다. 계속 코딩애 관련된 얘기를 한답시고 너무 질질 끈거 같지만 아직 뒤로가기 버튼에 손을 올린 사람은 단 한명 이라도 없을 것이라고
생각한다. 시각장애인들은 대부분 청각을 이용해서 코딩을 한다. 더 정확히 말해서 화면을 볼 수 없는 시각장애인들은 스크린리더 라는 것을 활용해서 컴퓨터 혹은 스마트폰에 화면에
접근할 수 있다.
스크린 리더란 이름 그대로 화면을 읽어주는 프로그램이다. 요즘 스마트폰 들에는 이런 스크린리더 프로그램이 기본적으로 들어있는 경우가 많다. 애플의 아이폰은 보이스오버, 안드로이드는
보이스 어시스턴트나 톡백이 있다.
컴퓨터에도 마찬가지로 스크린리더 프로그램이 있다. 마이크로소프트에서는 윈도우즈에 네레이터 라는 기능을 넣어놨지만 워낙 후진 기능이라 윈도우즈를 사용하는 시각장애인들은 네레이터보단
센스리더나 nvda 라는 스크린리더를 사용한다.
센스리더와 nvda 는 우리가 java 나 python 을 말하는 것처럼 단순히 스크린리더의 이름일 뿐이다. 아까 나온 보이스오버, 보이스 어시스턴트니 하는 것들도 다 스크린
리더의 이름일 뿐이다.
센스리더와 nvda 두 스크린 리더에 대해서도 설명하고 싶어서 손이 근질거리지만 일단 정말 이제 코딩얘기를 하지 않으면 뒤로가기 버튼을 누르는 사람들이 많아질 것 같기 때문에
추후에 시간이 난다면 포스팅하겠다.(아 물론 나는 어마어마한 귀차니즘을 가지고 있기 때문에 그 추후가 1년이 될수도 있고 어쩌면 100 년이 될수도 있다.)
이제 시각장애인들이 화면을 읽어주는 스크린 리더를 가지고 코딩을 한다는 사실을 알았다. 참고로 나는 윈도우에서 센스리더 라는 스크린리더를 사용하고 있다. 관심있는 사람들은 스크린리더에 관해 검색해 보기 바란다. 쓰는 사람이 많이 없기 때문에 정보가 많이 나오진 않을 것이다.
그럼 나는 코딩에 어떻게 입문하게 되었을까?
나는 상당히 일찍부터 컴퓨터를 만지기 시작했다. 컴퓨터를 계속 하다보니 컴퓨터를 좋아하게 되었지만 코딩을 배우려는 생각도 없었다. 그때는 코딩이 뭔지 프로그래밍이 뭔지 알지 못
했기 때문이다.
그러던 어느날 인터넷을 돌아다니다 우연히 html 에 대한 얘기를 듣게 되었다. 이걸 사용하면 평소 내가 보던 링크나 버튼 같은 것들을 웹사이트에 구현할 수 있다길레 당장 너무
신기해서 html 에 관해 찾아보다 생활코딩님의 강의를 접하게 되었다.
하지만... 시각장애인인 내가 듣기에는 조금 불편한 점이 있었다. 유튜브에서 동영상 강의를 제공하다 보니 코드를 보고 따라 처야 되는데 나는 그게 불가능 했기 때문이다.
물론 html 을 배우고 난 후에 이 코드들이 opentutorials 사이트와 github 에 모두 올라온다는 사실을 알게 됬지만 그때는 그런 사실들을 몰랐었다.
아까 내가 스크린 리더에 대해 설명했으니 웨 텍스트로된 코드는 내가 읽을 수 있고 동영상에 나오는 코드는 내가 못 읽는지는 다들 이해했을거라 믿고 설명을 이어가겠다.
어찌됬든 나는 html을 계속 배워나갔다. 대충 강의에서 태그 이름들은 말슴해 주셨으니 그런 태그들을 검색해 보거나 하는 등의 방법으로 말이다.
html을 완벽하게 배운 건 아니지만 그래도 이젠 링크나 버튼을 만들 수 있게 됬다. 지금 와서 생각해 보면 html은 순서대로 차근차근 배운다기 보단 그냥 태그를 알아가는 개념에
더 가까운 것 갔다.
html을 배우고 나서는 또 한참을 html을 이용해서 텍스트로만 이루어진 게임을 만들어 보았다. 그냥 텍스트가 표시되고 선택지에 맞는 링크를 누르면 또 다른 html 문서로
이동해서 그 링크에 대한 또다른 스토리를 보여주는 지금와서 생각해보면 문서수만 몇십개씩 될것 같은 그런 비효율적인 게임들을 말이다.
일단 나는 html에서 이미지 다루는 것을 배우지 않았다. 못 한게 아니라 안 한 것이다.
당장 내가 이미지를 다룰 일도 없을 뿐더러 어차피 스크린리더도 이미지에 관해서는 읽어주지 않기 때문에 소용이 없기 때문이다.
그렇기 때문에 순수 텍스트로만 이루어진 게임을 만들 수 밖에 없었다.
대부분의 사람들이 html 다음으론 css를 배운다. css는 html과 함께 쓰여서 사이트를 디자인해주는 역할을 한다. 하지만 아무리 색갈을 지정하고 넓이나 글꼴을 지정해도
나한테는 그게 다 쓸모가 없기 때문에 나는 css를 배우지 않았다. 지금도 css는 모르고 있는 언어중 하나이다.
만약 나중에 개발쪽으로 취업을 하게된다면 css도 필수로 배워야 될 언어일 것이다. 하지만 그게 지금이여야할 필요성은 느끼지 못하고 있다.
html 다음으론 autoit 라는 조금 생소한 언어를 배웠던 것 같다. 이때부터 프로그래밍에 본격적인 재미를 붙이기 시작했다. autoit은 기본적으로 콘솔에 입출력을 하지
않는다.
처음 배우는 msgbox 함수는 gui 형태로 출력을 해 준다. C를 배우기 전까지도 아니 C에서 Hello, World 소스코드를 작성하고 컴파일 되기 전까지도 모든 프로그래밍
언어들이 당연히 gui로 실행되는 줄 알고있었다. 뭐 그때는 gui니 cli 니 하는 개념들을 몰랐으니 그냥 화면에 버튼이 뜨는 줄만 알았다.
autoit도 기본적인 제어문이나 함수까지 배우고 이것저것 만들어 봤다. 번호를 누르면 내가 자주 실행하는 프로그램을 실행해 준다던지, 단순한 구구단 퀴즈 게임이라던지 하는 것들
말이다.
그때가 초등학교 6학년 에서 중학교 1학년 쯤이었을 거다. 나도 자세한 시기는 기억이 나지 않는다.
한동안은 autoit으로 이것저것 만들기만 했지 뭘 배울 생각은 없었다.
그러다가 C언어에 대해 알게 되었다. autoit과 html만 해서 심심했던 나는 당장 C언어를 배우기 시작했다. 이번엔 동영상 강좌가 아닌 텍스트 형태로 되있는 강좌로 배웠다.
내가 C를 배운 사이트는 모두의코드 라는 사이트인데 강의도 상당히 좋았지만 내가 가장 좋았던건 코드와 강좌가 모두 텍스트로 제공된다는 점이었다.
C를 배우면서는 언어에 대한 지식 뿐만 아니라 언어 외적인 it 관련 지식이나 컴퓨터 관련 지식들을 굉장히 많이 얻을 수 있었다.
C는 컴퓨터에 굉장히 밀접하게 관련있는 언어이다. 이런 점 때문에 C를 배우면서 다른 언어를 배울때보다 컴퓨터의 동작 방식, it 등에 더 관심이 많이 가지 않았나 싶다.
100퍼센트 C 덕분 이라고는 할 수 없지만 C를 배우면서 프로그래밍에 정말 급격하게 관심이 쏠리기도 했다. 이틀만에 기본 입출력을 다룰 수 있게 되었고 슬슬 함수와
포인터가 나와지면서 부터 급격히 난이도가 올라갔다.
아직도 포인터에 대해서는 잘 알지 못 한다. 메모리 할당이니 동적 메모리니 하는 것들도 들어만 봤지 자세히는 알지 못 한다.
c를 배울때가 아마 중학교 1학년 12월달쯤 부터였다. 2학년 1월 2월쯤까지 C를 정말 미친듯이 배웠지만... 기본적인 함수 사용이나 제어문 외에는 할 수 있는게 파일 입출력
밖에 없었다. 하지만 C로도 여러가지 것들을 만들어 봤다. 간단한 단위 변환 프로그램 이라던지 하는 것들 말이다. 물론 이 프로그램들 모두가 콘솔에서 동작했고 코드 길이도 그렇게
길지않은, 예제 수준의 프로그램 이었다.
아참! 지금와서 생각해 보니 내가 뭘 이렇게 배웠고 그때가 언제였고를 나열하면 정말 한도끝도 없는 가독성만 망치는 글이 될것 같다. 내가 알고있는 언어들에 대해서는 나중에 따로
포스팅하기로 하고( 이것도 내 귀차니즘 때문에 언제가 될지 모른다 ) 몇가지 얘기만 더 하고 글을 끝내려고 한다.
일단 나는 C를 배울때 비주얼스튜디오를 사용했다. 설치부터 사용까지 스크린리더가 읽어주는데는 지장이 없었다.
잠깐! 여기서 또 하고가지 않은 얘기가 있다. 시각장애인들은 아무리 텍스트로 되어있는 프로그램이라고해도 "접근성" 이 좋지 않으면 사용할 수 없다. 텍스트로 되있지만 스크린리더가
못 읽어주는 경우도 있고 항목은 읽어주지만 포커스가 잘 맞춰지지 않는 다던지 일부 항목만 읽어준다던지 하는 프로그램도 있다.
그런 면에서 봤을때 비주얼스튜디오는 접근성이 꾀나 우수한 프로그램 이었다. 단 디버깅 빼고 말이다.
그래도 기본적인 소스코드 작성과 컴파일, 그리고 결과를 보는 것 까지는 나도 할 수 있었다. 더군다나 콘솔에서 입출력을 하기 때문에 스크린리더가 읽어주지 않을 일도 없었다.
콘솔은애초에 cli 기반이기 때문에 완전한 텍스트이다.
하지만 프로그래밍을 배우면서 접근성이 좋지 않은 예도 꾀 많았다.
python에 tkinter 라이브러리를 활용해서 gui를 만들고 실행했더니 버튼이나 그런 것에 포커스가 잘 맞춰지지 않았고 잘 읽어주지도 않았다. 다른 라이브러리인 pyqt5도
마찬가지였다.
스크린리더가 완벽하게 읽어주는 gui를 만들려면 아마 C나 c++를 사용해야 될 것 같다. 물론 python 으로도 어떻게 잘 하면 만들 수 있겟지만 아직까지 방법을 찾진 못 했다.
그래도 웹은 그나마 났다. 웹은 접근성 표준에만 잘 맞춰서 만들면 스크린리더가 잘 읽어주고 굳이 그렇게 하지 않아도 간단한 html 문서는 잘 읽어준다. 왼만한 국내 포털
사이트들은 스크린리더로 접근이 잘 된다.
하지만 솔직히 말해서 velog는 접근성이 ... 그렇게 좋은 편은 아니다. 그래도 이것저것 눌러보면서 구조를 익혀가면 사용하는데 지장은 없을 것 같다.
velog 외에도 접근성이 안 좋은 사이트들은 얼마든지 있다.
먼저 그런 사이트들을 발견하면 정말 기본적인 것들은 스크린리더가 읽어주니 그런 것들을 눌러가며 사이트 구조를 익혀가면서 사용한다. 뭐 정말 그런것도 안 되는 경우라면 해당 서비스와 비슷한 유형의 사이트를 찾아보거나 정말 여이치 않은 상황이라면 이용을 포기할 수 밖에 없다.
사이트 자체에 접근성이 좋지 않은것도 문제이지만 사이트 가입 절차가 문제가 되는 경우도 있다.
흔히 나름 규모가 있는 사이트라면 가입할때 보안문자 입력하는 화면을 본 적이 있을 것이다.
요즘은 대부분 음성문자 듣기를 지원하지만 최근까지도 이를 지원하지 않는 사이트들이 많다.
한 예시로 openapi는 최근까지도 음성문자를 도입하지 않았었다. 정부가 운영하는 사이트라고 알고있는데 가입 절차에서부터 막히니 솔직히 좀 실망스러웠다.
또, 대부분의 공유기 관리자 페이지들은 로그인할때 음성문자를 지원하지 않는다. 임베디드 환경이라 저장공간, 하드웨어 환경 등 모든 것에 제약이 큰 것은 알고있지만 그래도 추가가 됬으면 하는 바람이다.
이렇게 로그인할때 자동입력 방지 문자를 이미지 형태로만 지원한다면 정말 답이 없다. 우리가 그림을 볼 수 있는 것도 아니고, 주변에 도움을 요청하자니 굳이 그렇게까지 해야하나 라는 생각도 든다.
그리고 이런 상황이 있을때마다 계속 주변에 도움을 요청하는것도 아니라고 생각한다.
그래도 위에 나온 openapi 사례는 나름 좋은 편이다.
사이트를 이용할 방법을 생각하다 그냥 관리자에게 이메일을 보내기로 했다.
성격이 내성적인 편이라 이런 이메일을 어떻게 작성해야 될지 몰라서 그동안 피해왔던 방법일수도 있다. 하지만 결과는 좋았다. 관리자분께서는 바로 기능을 추가해 주셨고 현제
openapi에는 음성문자를 이용하여 자동입력방지문자를 입력할 수 있다.
접근성이 안 좋은 사이트들을 내가 싫어하지는 않는다. 또 접근성이 안 좋은 사이트가 전혀 나쁜 사이트 라는 것도 아니다. 많은 사람들은 접근성을 신경쓰지 않는 것이 아니다.
물론 그런 경우도 있겠지만 대부분이 접근성에 대해 몰라서 생각을 못 한것 뿐이다. 내 바람을 잠시 얘기해 보자면 개발자들 사이에서도 시각장애인 접근성에 대한 인식이 널리
확산되었으면
좋겟고, 이러기 위해서는 실제 시각장애인 개발자가 만이 나와야 될 것 같다.
사실 시각장애인들 중에도 정말 프로그래밍을 잘 하시는 분들이 많다. 이분들을 보면 별의별 것을 다 만드시는데 막상 직업은 개발자가 아니다.
이부분이 조금 아쉬운 것 같지만 그래도 화면을 읽어줄 수 있는 스크린리더가 있는 것 만으로도 감사하다는 생각을 같고 있다.
아참! 아까 글 앞에서 가독성이 안 좋을 것 같다는 이야기를 했었다. 실제로 이 글을 스크린리더가 읽어주는데는 문제가 없지만 그 글이 실제 사람들 눈에는 어떻게 보일지 몰라서 한
말이었다. 글을 메모장에 쓰고 그걸 복사해서 velog 에디터에 붙여넣기를 했는데 만약 가독성이 좋지 않더라도 양해 부탁드린다.
나는 학생이다. 앞으로 시간이 날 때마다, 쓰고싶을 주제가 생길 때마다 velog에 글을 쓸것 같다.
velog에서 글은 많이 읽어보았지만 내가 직접 글을 써보는 것은 처음이다. 의도한건 아니지만 글이 굉장히 길어진 것 같은데 여기까지 읽으신 분들이 있다면 정말 감사드린다.
고작 글 한건 뿐이지만 이 글을 읽는 분들이 그동안 시각장애인이나 장애인에 대해 가지고 있었던 인식이 많이 개선됬으면 좋겠다.
너무 서둘러서 글을 끝내려고 하는 느낌이 있긴 하지만 도저히 어떻게 끝내야 할지 모르겠다 ㅋㅋ
그럼 나중에 언젠가 다시 글로 찾아뵈었으면 좋겠다.
부족한 글이지만 끝까지 읽어주신 모든 분들꼐 감사하다는 인사를 전한다.
안녕하세요! 동현님!
저희는 서울과학기술대학교 3명의 개발자로 이루어진 팀이고, 저는 팀내에서 시각 장애인분들과 좀 더 가까이서 이야기 해보고자 소통을 담당하게 된 전의정이라고 합니다.
다름이 아니고 저희 팀은 이번 구글 솔루션 챌린지라는 대회에서 시각장애인들의 코딩 및 개발에 도움을 주는 플랫폼 서비스 라는 주제로 개발을 진행하고자 합니다.
초기에 “시각장애인들도 코딩을 할 수 있을까?”라는 궁금증으로 부터 저희 주제가 시작되었습니다. 사전 조사를 하던중 동현님의 “시각 장애인도 코딩을 할 수 있을까?” 라는 글을 보게 되었고 주제와 기능을 구체화하는데 많은 도움을 받았습니다. 하지만 시각장애인분들이 코딩을 할 때 구체적으로 어떤 도움이 필요한지를 알지 못하여 기능을 구체화하는데 어려움이 존재하였습니다. 따라서 이에 대한 동현님의 의견을 듣고자 합니다!
혹시 메일 주소를 알 수 있을까요?!
전의정 드림