- PVSM.RU - https://www.pvsm.ru -

Смотря на код с закрытыми глазами

От переводчика

Это статья — перевод блогозаписи Флориана Бейджерса [1], слепого программиста из Нидерландов.
Перевод любительский, поэтому прошу указывать на ошибки и критиковать.
Я не нашёл корректного перевода слова accessibility, поэтому перевёл его как «доступность». Если есть вариант получше — предложите, пожалуйста.
Антон Туманов предложил «адаптированность», за что ему большое спасибо.
Как заметил в комментарии [2] pepelsbey [3], «доступность» является корректным переводом, вернул её обратно.
Почему я сделал перевод? Я наткнулся на опрос на Quora.com «Как программируют слабовидящие программисты? [4]». Ответы людей меня впечатлили, а блогозапись Флориана показалась наилучшим вариантом для введения в этот важный вопрос.

Я — программист. А ещё я слеп. Слеп, как крот, как говорится. Таков я от рождения.

Когда я говорю об этом своим товарищам, то те из них, у кого никогда не было проблем со зрением, обычно задают один из трёх вопросов:

  • Как же ты тогда можешь читать то, что я пишу?
  • Ого. А как ты тогда можешь кодить?
  • Или — самый популярный вопрос — А ты видишь сны?

Мне задают эти вопросы снова и снова. Поэтому в этой блогозаписи я хочу на них ответить. Я попытаюсь нарисовать картинку для тех из вас, кто интересуется доступностью и тем, как слепые люди пользуются компьютером, кодят и выполняют другие работы в 21 веке.

Фото Флориана Бэйджэрса [5]
Это я: Флориан Бэйджэрс, или Zersiax, как меня знают в кодерских кругах. Мне сказали что я здесь хорошо получился.

Как ты можешь читать то, что я написал?

Я люблю этот вопрос, потому что он позволяет мне сразу же объяснить, как слепые люди пользуются компьютером.

У многих людей сложилось впечатление, что слепые могут пользоваться только особыми, специально адаптированными компьютерами. Так думают даже некоторые из моих знакомых, у которых есть проблемы со зрением.

Позвольте мне развеять это заблуждение прямо здесь и сейчас. Сейчас я печатаю этот текст на обычном ноутбуке Dell Inspirion 15r SE, который можно купить в любом компьютерном магазине, продающем не самые новые ноутбуки. На нём запущена Windows 8 (я её не выбирал, но заменять её слишком проблематично из-за UEFI). Для подготовки его к использованию я всего лишь установил туда NVDA [6] — экранный диктор с открытым исходным кодом.

Экранный диктор обычно просто читает вслух то, что на экране. Он сообщает вам текстовое содержание экрана синтезированным (похожим на Siri) голосом. Экранный диктор также позволяет работать с дисплеем Брайля — устройством вывода для чтения на ощупь.

Кадр из фильма «Тихушники»
Дэвид Стрэтэйрн играет слепого хакера и телефонного фрика Эрвина Эмори по прозвищу Whistler в триллере 1992 года «Тихушники». Его персонаж пользуется компьютером с помощью дисплея Брайля.

Это — вся адаптация, которая нужна слепому для пользования компьютером. Я могу делать многое из того, что вы, скорее всего, считаете невозможным для слепого человека. Например:

  • Лазить по вебу с помощью Firefox.
  • Писать отчёты в Microsoft Word и форматировать их согласно требованиям колледжских преподавателей к оформлению текстов.
  • Писать потрясающие блогозаписи вроде этой.
  • Записывать, править, микшировать и публиковать аудио (моё хобби — пение и запись музыки).
  • Пользоваться программами для работы со звуком вроде Reaper, Goldwave, Audacity и Sonar.
  • Разрабатывать сайты, используя Eclipse, Visual Studio (ироничное название) и старый добрый Notepad++.

Я перечисляю все эти распространённые технологии чтобы показать: я могу ими пользоваться точно так же, как и люди, у которых нет проблем со зрением.

Если вы будете писать очередное масштабное приложение со сногсшибательным интерфейсом и великолепным рабочим процессом, я скромно прошу вас убедиться в том, что его доступность включена в план. В наши дни нет никакой причины не пользоваться инструментарием доступности интерфейса. Это намного проще, чем вы думаете. Да, сюда входят Android Activities, iOS NsViews и HTML5-виджеты, о которых вы, возможно, подумали.

Я вступил во Free Code Camp несколько недель назад и мне там очень понравилось. Последние несколько лет я учился по специальности «Информатика» и провалил семестр, включавший много работы со стеком MEAN. И я очень рад, что нашёл такое замечательное сообщество, в котором можно состоять и учиться. Уверен — в этот раз я с честью закончу этот семестр.

К сожалению, я столкнулся с проблемой доступности, когда работал по известным обучающим материалам по Dash [7] от General Assembly. Эти материалы, несомненно, хороши, но для меня они были совершенно нечитаемы, так как авторы решили вставить все тексты картинками. Текстовое описание картинок, с которым могли бы работать экранные дикторы, было минимально. К сожалению, экранные дикторы могут читать только текстовые описания. Они не столь умны, чтобы распознавать графику.

К счастью, несколько товарищей на Free Code Camp посочувствовали моему положению и добровольно транскрибировали для меня все слайды. Эти люди меня «приятно поразили», как выражаются наши дорогие западные соседи за морем. Я очень благодарен за работу, которую они проделали для моего обучения. Вы знаете, о ком я говорю. Большое вам спасибо!

Но… как ты пишешь код?

If открывающая скобка x равно пяти закрывающая скобка открывающая фигурная скобка print открывающая скобка кавычка hello world восклицательный знак кавычка закрывающая скобка закрывающая фигурная скобка.

Это то, как я слышу типичный блок «Если» в похожем на Java языке программирования. Довольно подробно, как видите. Я стараюсь отключать упоминания скобок, если мне не нужно специально проверять их расстановку при ловле ошибок, так что я не схожу с ума от довольно многословных описаний знаков препинания. Другие решают эту проблему заменой «открывающей скобки» на что-то вроде «оскоб» или «начало», просто чтобы сохранить несколько миллисекунд. Скорость озвучки текста очень высока для непривычных к этому людей.

Ссылка на звукозапись «Zersiax's Screen Reader» [8]

Для тех из вас, кто ничего не понял: это то, как мой экранный диктор читает первую часть этой блогозаписи, которую я пишу в NotePad++.

Так что то, как я пишу код, не сильно отличается от того, как пишут код другие. Я научился слепой печати и мысленно представляю себе код, так что могу работать с ним точно так же, как и вы. Единственное отличие в том, что я почти не использую мышь. Вместо неё я стараюсь пользоваться горячими клавишами и командной строкой.

К сожалению, в этой области всё ещё не совсем хорошо. Ведущие инструменты, которыми пользуются кодеры, такие, как редактор IntelliJ, а также его подвиды (PHPStorm, WebStorm, PyCharm) совершенно не доступны просто из-за того, что их разработчики не придерживались руководств по соблюдению доступности. Они не подготовили для экранных дикторов текстовые пометки или описания, с которыми те могли бы работать. Это же касается приложений вроде SourceTree, которое хоть постепенно и становится лучше, но использовать его всё ещё очень неудобно.

Поэтому мне приходится искать доступные учебные материалы, программы и инструменты, а не просто брать и использовать подходящую среду разработки.

Как ты видишь сны?

Я обещал ответить на все три вопроса, поэтому отвечу и на этот. Но не ожидайте чего-то из ряда вон выходящего.

Я вижу сны так же, как и вы. Мой мозг [9] транслирует опыт и события, произошедшие со мной за день, в сны, которые я вижу ночью. Разница в том, что я ничего в них не вижу.

Вместо этого я слышу, обоняю и осязаю всё, как и в жизни. Причина проста: сны основываются на ранее полученных визуальных образах, создавая из них визуальный ряд сна. Так как я слеп с рождения, то в моей памяти нет визуальных образов, на которых можно основываться. Визуальная состоявляющая моих снов получает большую жирную 404 ошибку: изображение не найдено.

Покодить со мной

Добровольцы с Free Code Camp попросили меня написать эту блогозапись, чтобы поделиться со всем миром моим способом работы. После того радушного приёма, который я получил в этом сообщества, я был только рад её написать. Я действительно надеюсь что вы извлечёте из этого пользу.

Я могу говорить об этом часами и эта статья уже переросла размер, который я изначально запланировал. Если у вас есть вопросы, найдите меня в чат-комнатах Free Code Camp. Там я под ником Zersiax, под ним же я в Твиттере. Спасибо за чтение. Увидимся! (Извините, не смог удержаться и не сказать этого) :)

UPD: Добавил ссылку на оригинал.
UPD2: Заменил «доступность» на «адаптированность».
UPD3: Заменил «адаптированность» обратно на «доступность».
UPD4: Zersiax [10] приглашён на Хабр.

Автор: Ohar

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/92362

Ссылки в тексте:

[1] блогозаписи Флориана Бейджерса: http://blog.freecodecamp.com/2015/01/a-vision-of-coding-without-opening-your-eyes.html

[2] заметил в комментарии: http://habrahabr.ru/post/260463/#comment_8464767

[3] pepelsbey: http://habrahabr.ru/users/pepelsbey/

[4] Как программируют слабовидящие программисты?: http://www.quora.com/How-does-a-visually-impaired-computer-programmer-do-programming

[5] Image: https://habrastorage.org/files/8ce/4b8/b21/8ce4b8b2150144c783843c4ebe42ecd3.jpg

[6] NVDA: http://www.nvaccess.org

[7] обучающим материалам по Dash: http://dash.generalassemb.ly

[8] Ссылка на звукозапись «Zersiax's Screen Reader»: https://soundcloud.com/freecodecamp/zersiaxs-screen-reader

[9] мозг: http://www.braintools.ru

[10] Zersiax: http://habrahabr.ru/users/zersiax/

[11] Источник: http://habrahabr.ru/post/260463/