Обычно, когда я говорю людям, что я слепой, многие спрашивают меня, как я могу использовать компьютер. «Кто-то читает вам мои сообщения?» Я помню, как кто-то спрашивал. Многие люди думают, что у меня есть это очень изящное программное обеспечение для распознавания речи, с которым я могу просто поговорить, и оно будет делать что угодно, даже писать код. Представьте, что вы диктуете код системе распознавания речи!
Я дал ответ по Quora кому-то, кто спросил, как программист с ослабленным зрением занимается программированием? Я рекомендую вам пройти этот ответ, чтобы лучше понять, о чем я буду говорить в этом посте. Однако, как обычно, я все же укажу здесь на важные моменты, поэтому, если вам не хочется переходить по этой ссылке, не беспокойтесь!
Прежде чем перейти к сравнению, позвольте мне привести несколько фактов, чтобы мы все были на одной странице. Не стесняйтесь переходить вперед, если вы уже знаете эти пункты, но я обнаружил, что многие люди этого не знают, и я собираюсь начать с них.
Как слепые используют компьютеры?
Они используют программы чтения с экрана . Как следует из названия, эти приложения читают экран через синтезированную речь, и у них также есть дополнительный вывод Брайля через дисплей Брайля. Обе эти опции (речь и шрифт Брайля) должны пройти через программу чтения с экрана, поэтому, если программа чтения с экрана не может видеть содержимое, она не может отобразить ее через один из этих выходов.
Как вы печатаете? Как вы используете мышь?
Ответ на оба эти вопроса «через клавиатуру». Наши программы чтения с экрана имеют очень специализированные нажатия клавиш, которые позволяют нам перемещать мышь, щелкать, наводить курсор на элемент и перемещаться по веб-документам (по ссылкам, заголовкам h1-6, спискам и элементам списка, полям формы и многим другим).
Звучит очень мощно! Значит ли это, что вы ничего не можете сделать с компьютером?
Хотел бы я. Нет.
Почему? Причины, как и почти во всем остальном, варьируются от безответственных людей до нехватки времени и информации. В конце концов, инвалиды — это всего лишь меньшинство, и их голос не такой громкий, как, скажем, у людей, которые призывают к собственной поддержке новейшей блестящей PHP-платформы. Проблема в том, что программы чтения с экрана используют низкоуровневые API для предоставления им информации в окне. Они просят браузер или, в терминах настольных приложений, операционной системы, сообщить им, с каким элементом управления или окном они имеют дело. Является ли этот элемент, который только что получил фокус, текстовым полем, или это флажок? Какова его ценность и ее ярлык? Каково его состояние (т. Е. Проверено или не отмечено, выбрано или не выбрано)?
Краткий обзор мира веб-приложений
Этот вид API просто не был доступен для Интернета до тех пор, пока последние несколько лет WAI-ARIA не был опубликован Консорциумом World Wide Web (W3C), а позднее стал стандартной рекомендацией в марте 2014 года. До этого времени существовала нет информации о том, как сделать доступными пользовательские элементы на стороне клиента или обновления на стороне клиента.
Например, многие люди используют элемент span для создания пользовательской кнопки. Программы чтения с экрана распознают этот элемент как статический текст, поскольку он не является кнопкой или вводом типа submit . Однако, для кого-то зрячего, он стилизован как кнопка, он действует как кнопка и даже остается нажатым как кнопка (для кнопок переключения).
На этом этапе веб-разработчики могут явно упомянуть, что диапазон — это кнопка, используя роль кнопки . Код очень прост, многие люди не могут в это поверить:
<span class="button danger" role="button">Self-destruct!</span>
Выполнено. Благодаря этим косметическим изменениям, которые не займут больше десяти секунд (я считаю восемь секунд для поиска нужной кнопки), вы упростили использование своего приложения на тысячи. Разве это не стоит усилий?
Примечание . Если вы хотите узнать больше о доступности веб-сайтов (я надеюсь, что вы это сделаете), вы можете получить очень глубокое освещение многих тем на странице статей WebAIM .
Состояние доступности в IDE
В мире насчитывается более одного миллиарда людей с ограниченными возможностями, большинство из которых безработные, а инвалиды не нуждаются ни в каких услугах, а в том, чтобы их жалеть — им просто нужно ровное игровое поле, которое можно создать, создавая приложения так же, как доступны для них, как и другие. Это особенно актуально для приложений, которые связаны с занятостью. Такие инструменты, как IDE, могут быть не важны для всех, но они, безусловно, повышают производительность многих людей, и когда вы отключены, вам нужно быть быстрым. Вы должны быть отличным учеником и делателем, или ваше существование для компании не имеет смысла, и вы не в своей работе. Я слышал, что многие люди жалуются на несправедливость такого подхода, но я уверен, что мы все можем согласиться с тем, что ни у кого нет времени для няни, особенно в технической среде.
С учетом вышесказанного давайте рассмотрим наиболее популярные инструменты нашей отрасли по одному. Я буду ссылаться на опрос, проведенный SitePoint для лучшей PHP IDE в 2014 году , и вопрос, на который мы будем стремиться ответить, заключается в следующем: насколько дружественна веб-разработка для людей, которые слепы и думают об использовании IDE для ускорения своей работы? учебный процесс, рабочий процесс или оба?
Я буду давать каждому IDE баллы от одного до четырех за следующие баллы:
- Основные функции: доступен ли редактор? Как насчет меню и строки заголовка?
- Функции поддержки: сколько может помочь слепому разработчику в этой среде IDE при кодировании? Доступны ли автозавершение кода, документация PHP и всплывающие окна PHPDoc?
- Дополнительные функции: как насчет несущественных функций, таких как интеграция с Git, консоль, отладка и так далее?
- Участие сообщества: ответили ли они на вопросы / комментарии?
Номер один: PHPStorm
Мы все знаем, что PHPStorm — действительно хорошая IDE. Он практически мгновенно поддерживает новые инфраструктуры и технологии, такие как Laravel и HHVM, имеет очень удобные функции для переименования, перемещения и рефакторинга, которые заботятся о многих мельчайших деталях, таких как изменение пространств имен, и его попытки угадать переменную. Типы в основном успешны.
Однако, с точки зрения доступности, я боюсь, что PHPStorm получит оценку — подожди — ноль!
Да! Главное окно недоступно, и когда эта функция недоступна, другие недоступны. Если вы посмотрите на проблему доступности , то увидите, что их команда вообще не ответила ни на какие обновления. Я призываю вас поднять этот вопрос, чтобы его заметила их команда.
Номер два: SublimeText
Ах, блаженство наличия многоплатформенной, молниеносной и легкой IDE, которую можно настраивать с помощью большого количества плагинов. Один из людей, у которого я брал интервью для моей текущей работы, даже сказал бы: «Все в вашей компании должны использовать SublimeText».
И все же, это блаженство также отрицается будущим программистом PHP. Эта IDE также получает ноль, потому что ничего в ней недоступно для программ чтения с экрана, а поток UserEcho для специальных возможностей не получил никаких ответов от своей основной команды.
Номер три: NetBeans
NetBeans славится своими замечательными возможностями генерации фрагментов и функциональностью «быстрого исправления», которая автоматически многое делает для вас. Функция сообщения об ошибках также очень крутая.
Что касается доступности, то NetBeans немного лучше. Я могу перемещаться по коду, хотя с большим количеством дополнительных нажатий клавиш, поскольку он продолжает перемещать фокус моего читателя экрана на Навигатор. Тем не менее, я слышал хорошие отзывы об усилиях проекта Quorum, и, по всей видимости, в ближайшее время у NetBeans появятся дополнительные функции доступности.
Номер четыре: основанные на Eclipse IDE (Zend Studio, Eclipse PDT)
Я всегда слышал, что Zend Studio и Eclipse PDT нигде не так хороши, как PHPStorm. На работе все мои коллеги используют PHPStorm. Хотя я согласен с их оценкой, у Zend Studio есть кое-что для меня, чего нет у PHPStorm: это доступно.
Окно редактора кода и все остальные окна доступны. Доступны автозаполнения или подсказки кода, а также документация. Даже аннотации (например, почему Zend нарисовал красную линию под вашей строкой кода) доступны. Zend Studio и Eclipse PDT являются наиболее доступными IDE, которые я когда-либо использовал.
Чтобы быть справедливым, Zend Studio и Eclipse PDT оба обязаны своей доступностью команде Eclipse. Затмение было доступно в течение многих лет, и они относятся к доступности очень серьезно. Однако, поскольку мы оцениваем доступность здесь, а не команды разработчиков, Zend Studio и Eclipse PDT получают потрясающую четверку!
Eclipse даже имеет страницу « Специальные возможности для Eclipse», которая дает слепым и слабовидящим пользователям больше советов о том, как использовать Eclipse и основанные на Eclipse IDE.
Номер пять: Блокнот ++
Я считаю Notepad ++ редактором, а не IDE. Он нигде не имеет такой настраиваемости, как SublimeText, и нигде не такой большой, как PHPStorm и Zend Studio, с точки зрения потребления памяти и процессора. Это замечательно, когда вам нужно отредактировать фрагмент кода и вы прекрасно знаете функции, которые вы будете вызывать, или значения, которые вы будете устанавливать.
Доступны все окна и параметры Notepad ++, то есть основные функции. Однако несущественные функции недоступны. Такие вещи, как автозаполнения и ошибки, не объявляются программами чтения с экрана.
Однако с годами Notepad ++ стал более доступным для общего пользования. Были отклики и косметические изменения, но когда вы сравниваете их участие в сообществе с двумя верхними IDE, приведенными выше, они были гораздо более активными. Я даю этому редактору два — один для основных функций, а другой для участия сообщества.
Вывод
PHP пейзаж не яркий и солнечный с точки зрения доступности. В то время как у зрячих есть возможность выбора между бесплатной и платной IDE, лучшей IDE с точки зрения доступности являются редакторы на основе Eclipse. Хотя это намного лучше, чем ничего, это оставляет желать лучшего. Технология для всех, и мы должны стремиться сделать это так.