每次新同事——那些從來沒有經歷過任何形式視力障礙的人——聽說了我的事蹟,常常會跑來問我以下這些問題:
- 那麼,你怎麼讀取別人的程式碼?
- 哇!你是怎麼做到寫程式碼的呢?
- 或,最普遍的一個——你會做夢嗎?
關於如何打字
在很多人的印象裡,盲人需要使用經過特殊改裝的電腦。甚至有些同樣有視力障礙的人也贊同這一觀點。
那麼,現在就讓我來揭穿這個祕密吧。上面你看到的字以及下面我將寫下來的字都是用一個非常平常的戴爾 Inspiron 15r SE 筆記本打出來的,你可以在任何戴爾筆記本商店中買到它。該機執行的是 Windows 8(這是預裝的)。我只需要做一件事,那就是安裝一個開源的螢幕閱讀器名為 NVDA(www.nvaccess.org)。
螢幕閱讀器,基本上要做的就是——等待它——讀取螢幕上的內容。它將螢幕的文字內容通過類似 Siri 的語音完成從文字到語音的轉換。
螢幕閱讀器還允許使用盲文顯示器,盲文顯示器這個裝置上面的盲文系統單元可以根據螢幕上的高亮內容不斷地重新整理形成新的字母。
所有有視力障礙的計算機使用者只需要適應這些就夠了。這個程式,可以讓我做很多事情,很多你閉上眼睛可能完全不能想象的事情,如:
- 使用 Firefox 瀏覽網頁
- 使用 Microsoft Word 寫報告,然後按照大學教授的嚴格要求整理格式
- 寫部落格文章,就像本文
- 錄製、編輯、混音和釋出音訊(唱歌和製做音樂也是我的愛好之一)
- 使用製作音訊的 app,如 Reaper、Goldwave、Audacity 和 Sonar
- 使用 Eclipse、Visual Studio 和古老的 NotePad++ 編碼網站和 app
關於如何編碼
比如下面這段程式碼:
if(x=5){ print ("hello world!") }
讀出來的效果就是:If 左括號x等於 5 右括號左大括號 print 左括號引號 hello world 驚歎號引號右括號右大括號。
這是一個典型的 if 模組 Java 程式語言,聽到我耳朵裡的就是上面這麼冗長的一句話。我傾向於先關閉括號和括號中的語音通知,直到後面需要括號匹配除錯的時候再關注括號中的內容,這樣我就不會因為描述過於冗長而聽得雲裡霧裡不知所以。有的人喜歡將預設的“左大括號”替換成“花括號”或者“開始”,只是為了節省幾毫秒的時間。老實說,這語速對於不習慣的人而言那是相當快滴。
也許你不相信,但是我確實是通過語音閱讀用 NotePad++ 寫下了這篇部落格文章。
所以,我的編碼方式可能和你們的並沒有什麼本質的區別,也不用將我想象的有多麼的牛逼。唯一的區別是,我不用滑鼠,我用的是快捷鍵和命令列。
不過不幸的是,在盲人程式設計這個領域,一切都沒有得到很好的完善。程式設計師每天都在使用主要工具,如 IntelliJ 編輯器,以及它所有的衍生產品(PHPStorm、WebStorm、PyCharm),我都沒辦法使用。因為這些程式的開發人員沒有遵守無障礙原則,正如在修建公園的時候沒有設定一個無障礙通道一樣。SourceTree 也同樣如此,雖然它有在慢慢改善,但是直到現在每次用的時候,依然讓我異常痛苦。
因此,我不得不不斷地尋找可用的教程、程式和工具,而不能像在超市貨架上隨便挑一個現成的就可以。
關於我如何做夢
我也會做夢,和你們是一樣的。大致就是白天接收過的資訊,晚上再將這些經歷和神經興奮反饋到夢裡。所不同的是,我實際上是看不到任何東西的。
不過,我可以聽到、聞到、感覺到一切,就像在現實生活中。原因很簡單:夢裡面的視覺形象是在已儲存的視覺知識上來構建的。由於我打從孃胎以來就一直沒看到過東西,所以我沒有任何可參考的視覺框架。例如,我的夢中曾碰到過一個大大的 404 error:但是沒有圖片的。
和我一起寫程式碼
我真心希望這篇文章能對大家有所幫助,無論是鼓勵還是激勵。程式設計是一份很有意思的工作,也是可以養活我自己的高薪職業,希望大家能和我一起 good good study,day day up:)
英文原文:A Vision of Coding, Without Opening your Eyes
譯文連結:http://www.codeceo.com/article/how-blind-coding.html
翻譯作者:碼農網 – 小峰
來自:部落格園
評論(2)