Мелани Самнер — инженер-программист, специализирующийся на цифровой доступности. Мы говорили о ее пути к разработке, доступному дизайну, Ember.js и важности финансирования этих усилий.
В этом посте рассказывается об эксперте сообщества в рамках программы «Изучите доступность!».
Александра Уайт : Спасибо, что присоединились ко мне! Кто вы и чем занимаетесь?
Мелани Самнер : Меня зовут Мелани Самнер, я инженер-программист, специализирующийся на цифровой доступности. Я пишу код для Интернета уже 25 лет. Моя первая карьера была… своего рода шпионской. Я был аналитиком разведки в ВМС США, и программирование было моим хобби.
Мне не очень нравилось быть шпионом. Оказывается, я не любил смерть. Как и большинство людей, когда им нужно быть ближе к этому. Мне нужно было решить, чем я хочу заниматься дальше, и пришло время превратить мое хобби в карьеру. Последние 10 лет я действительно сосредоточился на разработке программного обеспечения, в частности, в области доступности.
Александра : Нечасто можно услышать: «О, сначала я была шпионкой». Ничего страшного. Что привело вас в работу по обеспечению доступности?
Мелани : В то время я работала в Университете Северной Каролины [UNC] Чапел-Хилл, на факультете развития. Они не имеют в виду развитие, такое как веб-разработка, они имеют в виду развитие, такое как сбор средств.
У моего непосредственного руководителя было ухудшение зрения, и ему пришлось увеличивать все до 400%, чтобы это увидеть. Он был фантастическим инженером-программистом. На самом деле, наверное, лучший менеджер, который у меня когда-либо был. Но он всегда ломал мои вещи, потому что увеличивал масштаб, чтобы рассмотреть мои работы. Если бы я не подумал о том, чтобы создавать вещи оперативно, они бы сломались.
Босс моего менеджера был дальтоником синего цвета. Я не знаю, знаете ли вы, как выглядит синий цвет UNC, но это светло-голубой цвет . И им нравилось использовать его на белом.
Александра : (смеется) О нет.
Мелани : Его босс всегда жаловался, что никогда не видит мою работу! Мне нужно было разработать набор дополнительных цветов и цветовую схему для наших сайтов. Это заставило меня задуматься о цветовом контрасте и о том, как люди, страдающие дальтонизмом (или другими нарушениями зрения), используют Интернет.
Поскольку UNC является государственным университетом, существует федеральное требование США о соответствии уровню доступности WCAG AA. Мы стремились к уровню ААА, потому что это образовательное учреждение.
Когда я узнал больше о государственных и федеральных требованиях и начал читать спецификацию W3C Accessibility , я подумал: «Все это имеет смысл». Насколько я мог видеть, большая часть сети не соответствовала требованиям. Конечно, люди работали над доступностью Интернета с тех пор, как он существует. Иногда инженеры JavaScript (в частности) немного медлят с пониманием того, что касается цифровой доступности.
Я называю доступность последним рубежом Интернета. Множество хороших людей работают над автоматизацией доступности, и нам нужно работать над решениями так же, как мы подходили к другим сложным проблемам, таким как производительность и безопасность.
Александра : Вы, наверное, читали много длинных и сложных документов, как в ВМФ, так и в UNC. Вам было сложно понять спецификацию?
Мелани : Мне пришлось прочитать это раз пять, прежде чем я это поняла, и раньше я читала другие спецификации. Я всегда говорю людям: не расстраивайтесь, если вы этого не понимаете, потому что мне пришлось прочитать спецификацию пять раз! Я даже не шучу.
Чтобы привыкнуть к определенному языку, требуется много времени. И если вы не интерпретируете это правильно, вы можете сделать неправильный поступок. Также важно понимать, что большая часть языка спецификаций предназначена для разработчиков браузеров. Ищите «авторы должны», потому что это ссылка на веб-разработчиков.
Александра : Многое в Интернете могло бы быть лучше, если бы больше разработчиков знали, как расшифровывать спецификации.
Мелани : Можно многое сказать о сайтах, которые делают за вас такую интерпретацию. Я создал a11y-automation.dev , и этот сайт стал для меня чем-то вроде моего детища, моего побочного проекта. Я пытаюсь перечислить каждое нарушение доступности и связать его с рассматриваемыми критериями успеха WCAG. Если есть автоматизация, позволяющая предотвратить ошибку, я предложу это решение.
Вы можете ознакомиться со списком потенциальных нарушений, но важнее научиться их устранять. Для автоматических исправлений, которых не существует, возможно, вас вдохновит написать линтер или шаблон — возможно, вас вдохновит написать какой-нибудь тест.
Я предпочитаю работать с открытым исходным кодом, потому что вы можете подшучивать друг над другом, предлагать улучшения (иногда улучшения, иногда нет, но мы все стараемся изо всех сил). Мы дорабатываем идеи друг друга, а затем получаем действительно отличный результат для Интернета.
Как финансировать доступность
Александра : Меня очень привлек сайт pleasefunda11y.com . Очень важно, чтобы разработчики научились создавать доступные сайты, но у них не всегда будут ресурсы без финансирования и одобрения высшего руководства. Почему вы решили создать этот сайт?
Мелани : Я была расстроена, потому что доступность недостаточно финансируется. Похоже, что все финансирование с открытым исходным кодом продолжает идти в CSS. И я люблю CSS, с его помощью мы можем многое сделать.
Я создал сайт, потому что Адди Османи — менеджер по разработке программного обеспечения Chrome — обратился к нему и сказал, что видел, что я прошу о финансировании доступности, но ему нужен совет о том, какую конкретную работу можно профинансировать. Это большая проблема: спонсоры открытого исходного кода хотят вкладывать деньги в конкретные проекты, а не в общие идеи, не имеющие определенного результата. Я потратил некоторое время на то, чтобы записать некоторые конкретные инициативы, что необходимо и как они помогут сделать сайты доступными.
Даже если компании приложат усилия к этим усилиям без меня, мы сможем значительно продвинуть доступность в Интернете. Это очень небольшие затраты по сравнению с другими веб-проектами, но они окажут огромное влияние на жизнь людей.
В настоящее время часто думают: «Ну, сколько людей имеют инвалидность?» Должно быть так: «Каково отношение человека к своей технологии?»
И некоторые люди сказали мне: «Ну, я не думаю, что дальтонизм — это инвалидность». Вы можете не идентифицировать себя как инвалида, если вы дальтоник, но это влияет на ваши отношения с технологиями.
Александра : Расскажите мне больше о понимании ваших отношений с технологиями. Как это связано с доступностью?
Мелани : Например, если вы нейроразнообразны, возможно, вам нужен очень простой язык и очень четкие указания. Возможно, вам будет удобнее перемещаться по трем или четырем экранам подряд, делая несколько вариантов одновременно, пока не дойдете до конца. Для современных технических приложений нет хорошего руководства.
У нас есть целые компании, которые занимаются DevOps, и если вы попытаетесь использовать некоторые из этих веб-сайтов, вы скажете: «О Боже мой», понимаете? Сегодня мы пытаемся встроить кухонную мойку во все наши интерфейсы.
Александра : Можете ли вы привести пример?
Мелани : Например, на GitHub есть раскрывающиеся списки со вложенными вкладками. И [раздраженный вздох]. Я не могу расстраиваться (даже если я расстроен). Современная сеть должна расти, чтобы соответствовать новым требованиям. Но мы также несем ответственность за строительство таким образом, чтобы не оставлять людей позади.
Это то, что движет мной, это моя страсть. Я не хочу, чтобы кто-то не смог получить работу из-за того, что инструменты, которые им придется использовать на работе, недоступны.
Александра : Сто процентов. И люди часто думают о создании доступных продуктов для внешних пользователей, но не обязательно думают о своих сотрудниках.
Мелани : Я подумала, знаете что, этот совет по финансированию, вероятно, принесет пользу всем.
Я постоянно слышу от инженеров, что они хотели бы сделать доступность, но «мою компанию это не волнует». Могу поспорить, им не все равно! Вам просто нужно устранить пробел в бизнес-логике. Покажите им выгодный результат для бизнеса. Конечно, сайт с открытым исходным кодом , и мне нравится вносить изменения и редактировать его.
Александра : Доступность часто оставляют на конец процесса, например: «О, мы можем сделать это доступным позже». Но его добавление позже займет гораздо больше времени, чем интеграция доступных практик в рамках проекта.
Мелани : Я часто говорю: «Вы хотите заплатить, чтобы построить это один раз, или вы хотите заплатить, чтобы построить это дважды?»
Ember.js и основная команда по обеспечению специальных возможностей
Александра : Я знаю, что вы также участвуете в основной команде Ember.js framework. Как вы вмешались?
Мелани : Меня наняли работать в JPMorgan Chase над их корпоративными инвестиционно-банковскими платформами. Ember — это мощный JavaScript-фреймворк, используемый, когда вам нужна действительно стабильная (возможно, даже скучная) база, которая поможет вам избежать написания кода, который теряет много банковских долларов. У Ember есть гарантия обратной совместимости — вы можете обновляться каждый раз, даже если вы используете основную версию. Мы действительно стараемся делать все постепенно, чтобы это не сломало ваше приложение.
Так или иначе, я пришел на конференцию Ember и встретил кучу людей в сообществе. Ребята из Эмбера были такими добрыми. И есть действительно строгий кодекс поведения , которого я еще не видел в других местах.
Когда я ушел из армии, я хотел пойти в службу безопасности. Я пошел на встречу по информационной безопасности и не увидел там никакой другой женщины. Один из парней постарше посмотрел на меня и сказал: «Ты уверена, что находишься в той комнате, дорогая?»
Александра : [Стоны] Больно. И это совершенно неудивительно. Я испытал нечто подобное.
Мелани : Я хочу сказать, что это был 2011, может быть, 2012 год? Пейзаж сильно изменился. Я остался на ту ночь во время этой встречи, чтобы доказать свою точку зрения. Я не собирался позволять этому комментарию остановить меня. Я шутил, делал хорошие записи и участвовал в разговоре, чтобы люди знали, что я был там. Я чувствую, что большая часть моей карьеры доказывала, что мужчины ошибаются.
Но я не хочу, чтобы женщины становились инженерами-программистами только для того, чтобы доказать, что мужчины не правы. Я хотел быть инженером-программистом и создавать потрясающие вещи, потому что это весело. У женщин должен быть такой выбор карьеры.
Александра : Абсолютно.
Мелани : Я поделилась с сообществом Ember тем, что знала о доступности, потому что, очевидно, как банковская платформа, вы должны соответствовать федеральным требованиям США. Иегуда Кац и Том Дейл сказали: «В нашей команде есть пробел. У нас много экспертов по JavaScript, экспертов по производительности, умных людей не от мира сего, и нам нужен кто-то со знаниями о специальных возможностях». И они пригласили меня присоединиться к основной команде.
Я работаю над инициативами, которые помогут сделать Ember доступным по умолчанию. Это означает, что когда вы говорите ember new <my-app-name>
, вы должны немедленно соответствовать критериям успеха WCAG.
Александра : Я видела длинный список инструментов специальных возможностей для Ember на GitHub. Обнаружили ли вы, что люди в сообществе Ember рады внести свой вклад в эти инструменты?
Мелани : Это была действительно захватывающая часть работы. Я написал правила проверки доступности для Ember, работая в LinkedIn. Затем я ушел из LinkedIn, чтобы работать в Hashicorp, а другие люди до сих пор вносят свой вклад в линтер, потому что для них это полезно. Это та часть работы, которая вызывает у меня мурашки по коже и воодушевляет.
Мы признаем, что в качестве основы доступность является гражданским правом. Это не подлежит обсуждению.
Мы обсуждаем: Что мы можем реализовать? Когда? Как нам это сделать? Как нам научить этому и сделать это обратно совместимым? Как мы можем помочь разработчикам обеспечить поддержку специальных возможностей без огромных дополнительных функций, которые им придется создавать или планировать?
Александра : Доступность — это гражданское право. Это вызывает у меня озноб! Это должно быть просто то, что мы все знаем как истину.
Мелани : Были люди, которые говорили мне неосведомленные вещи, например: «Я бы не пользовалась Интернетом, если бы была слепой». Или: «Почему я должен думать об инвалидности, если это касается только 5% моих пользователей, хотя это работает для 90% моих пользователей?» Я не буду вести эти дискуссии, потому что они часто отвлекают от работы.
Когда вы пишете доступный код, вы получаете повышение производительности, поскольку думаете о создании сайтов, соответствующих спецификациям W3C. Вы будете использовать семантический HTML вместо просто элементов div и заголовки. Вы выберете <button>
вместо добавления события клика в <div>
и получите повышение производительности.
Сделайте одно: автоматизируйте доступность
Александра : Что следует сделать веб-разработчикам для создания доступных веб-сайтов?
Мелани : Добавьте автоматизации. Начните с существующего линтера для любой имеющейся у вас платформы и типа кода, который вы используете. Мне все равно, какой из них вы используете! Ваша сборка должна сломаться, если нарушено одно из этих правил.
Некоторые вещи невозможно автоматизировать, потому что ИИ пока не может расшифровать намерения. Например, значение альтернативного текста изображения должно быть значимым , но что это на самом деле означает? Именно это сейчас должен осознать человек, а не автоматизация.
Но автоматизированный инструмент может сказать вам: «Вы не передаете цветовой контраст ». Просто исправьте это. Не боритесь с этим, не говорите: «Но я не хочу, я предпочитаю так». Это не о тебе. Речь идет о том, чтобы каждый день делать то, что мы делаем, доступным для всех в мире.
Доступность — это путешествие, и вы всегда будете учиться. Я специализируюсь на доступности уже более десяти лет и все еще постоянно узнаю что-то новое! Не занимайте оборонительную позицию, просто сделайте это.
Следите за работой Мелани на ее сайте melanie.codes и в Твиттере @a11yMel . Ознакомьтесь с ее ресурсами по специальным возможностям на сайтах pleasefunda11y.com , a11y-info.com и a11y-automation.dev .