Специальные возможности в Windows 7

Автор: Topol Среда, Май 2nd, 2012 Нет комментариев

Рубрика: Операционные системы

Автором нашей новой статьи выступил Майкл Бернштайн (Michael Bernstein), ведущий разработчик в команде User Interface Platform, в чьи задачи входят вопросы специальных возможностей в Windows. Под специальными возможностями мы понимаем API и функции, позволяющие использовать Windows пользователям с различными физическими возможностями. Для этого в состав Windows входит набор специальных утилит и API, используемых сторонними разработчиками для организации поддержки специальных возможностей в их приложениях. Данная тема крайне важна для Microsoft, поэтому при разработке Windows 7 ей уделяется особое внимание. С этой целью в Microsoft организована специальная группа, которая проверяет, насколько легко увидеть Windows, услышать и использовать. Подробнее об инициативах Microsoft, направленных на упрощение доступа к компьютеру пользователей с ограниченными физическими возможностями, можно ознакомиться по адресу http://www.microsoft.com/enable/. —Стивен

Добрый день! Меня зовут Майкл Бернштайн и я занимаюсь вопросами специальных возможностей и распознавания речи в Windows 7. В этой статье хотелось бы поделиться некоторыми нашими мыслями по поводу специальных возможностей в Windows 7.

Мы хотим, чтобы Windows 7 была самой доступной из ОС, когда-либо выпущенных Microsoft. При планировании этой версии выяснилось, что понятие «доступность» не такое простое, как может показаться.

Понятие «доступность» в некотором смысле напоминает «безопасность»: либо в системе есть известная проблема, либо система безопасна/доступна. Такой подход, как оказалось, имеет ряд ограничений. Очевидно, что потребности слепых пользователей значительно отличаются от потребностей глухих. Также потребности слепых отличаются от нужд слабовидящих: экранная лупа совершенно бесполезна для одних, а для других является незаменимой. И что делать в ситуациях, когда какая-то функция в системе хоть и формально доступна (например, когда для выполнения примитивного сценария требуется более 30 щелчков мыши), но ее использование не приносит пользователям ничего, кроме разочарования и гнева? Конечно же, понятие «доступность» — это далеко не всегда выбор из двух вариантов ответа: да или нет. Тут вопрос в удобстве использования для конкретной группы пользователей с индивидуальными потребностями.

Поскольку большинство поступающих к нам вопросов довольно-таки сложны, ответы на них, соответственно, тоже сложные. С целью улучшить доступность Windows 7 мы приняли стратегию, строящуюся на четырех столпах:

I. Создать крепкую основу с помощью компонента UI Automation
В Windows Vista компания Microsoft реализовала новый компонент для обеспечения специальных возможностей — UI Automation. UI Automation позволяет ассистентной технологии (от англ. assistive technology или AT) осуществлять программное управление интерфейсом приложения, а также позволяет приложениям демонстрировать реализованные в них специальные возможности более простым и доступным способом, чем в предыдущих версиях Windows. Благодаря компоненту UI Automation в Windows появилась идея шаблонов управления (от англ. Control Patterns): любой из элементов UI может самостоятельно решить, каким образом следует им управлять. Форма кнопок, к примеру, подразумевает нажатие, спойлеры — свертывание/развертывание. Мы намеренно ввели широкую номенклатуру элементов управления, отказавшись от идеи унификации. Windows Vista стала первой ОС, где мы воспользовались новой концепцией, а Windows 7 станет ее логическим продолжением.

В Windows 7 мы сделали серьезные инвестиции в увеличение производительности системы UI Automation и разработали для нее новый API, который сделает иные ассистентные системы более эффективными. Теперь приложения, написанные на C++, равно как и те, что написаны с помощью .NET Framework, могут реализовать преимущества UI Automation.

Мы проделали огромную работу для того, чтобы тесно интегрировать систему UI Automation в систему Microsoft Active Accessibility (MSAA), и разработали новые техники, объединяющие новые разработки с хорошо зарекомендовавшими себя устаревшими технологиями. Клиенты UI Automation могут читать информацию из MSAA-приложений и наоборот. Это обеспечивает максимальную доступность системы независимо от использованного API. Поскольку системы UI Automation и MSAA довольно-таки плотно взаимодействуют, мы решили дать такой системе новое имя — Windows Automation API. Новая система является основой для текущих и последующих усилий, направленных на обеспечение доступности Windows.

II. Улучшить наши специальные утилиты
В Windows 7 мы доработали встроенные специальные утилиты. Специалисты Microsoft тесно сотрудничают с компаниями, ведущими разработку различных ассистентных технологий, которые помогают сделать Windows более доступной пользователям с ограниченными физическими возможностями, но и мы ведем независимую разработку утилит, призванных обеспечить пользователей доступом к функциям системы до момента установки специального программного обеспечения. В Windows 7 мы приняли решение усовершенствовать две утилиты: экранную клавиатуру и экранную лупу.

Наиболее заметным изменением в экранной клавиатуре, пожалуй, является новый интерфейс, хотя, конечно, это далеко не основное изменение. Внешний вид этой утилиты не менялся с момента релиза Windows XP, хотя пользователи просили, по крайней мере, обеспечить возможность изменять ее размер. В Windows 7 мы реализовали эту возможность за счет взаимодействия с разработчиками команды TabletPC, чтобы сделать экранную клавиатуру похожую на клавиатуру, предназначенную для рукописного ввода. Теперь обе панели имеют довольно-таки привлекательный внешний вид и их размеры можно менять. Тем не менее, это разные утилиты, потому что предназначены они для разных задач: пользователи планшетных компьютеров, как правило, динамически переключаются между рукописным вводом и вводом с клавиатуры, а те, кто пользуются экранной клавиатурой, предпочитают использовать режимы, в которых требуется лишь провести курсором над клавишей, если их физические возможности не позволяют осуществлять щелчки мышью. В дополнение к этому мы добавили возможность автоматического завершения слов, которая позволит ускорить ввод текста. Если вы уже имели возможность оценить экранную клавиатуру, то вы, наверное, заметили, насколько с ее помощью ускоряется ввод текста.

Экранная лупа также подверглась глубокой переработке. Поведение этой утилиты в Windows Vista и Windows XP было, к сожалению, не столь интуитивным: при наведении лупы на определенную область экрана увеличенный участок появлялся в отдельном окошке, прикрепленном к верхней границе экрана. Наводите на одну область, но видите в другой. Для решения этой проблемы мы нашли два возможных решения: 1) увеличивать весь экран целиком или 2) при наведении лупы увеличивать выделенную область, при этом остальная часть экрана остается нетронутой. Это привело к появлению в Windows 7 двух режимов работы экранной лупы: полноэкранного и режима линзы.

Полноэкранный режим незаменим, когда требуется увеличить размер всех элементов рабочего стола. Если фокус мыши или клавиатуры находится в центре рабочего стола, то он остается неподвижным, но если переместить фокус к краю, то экранная лупа осуществит прокрутку. Недостатком такого режима является возможная потеря контекста. Дабы устранить этот досадный недостаток, мы добавили контекстную анимацию, которая показывает ваше текущее местоположение в отношении всего рабочего стола.

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

Такой дизайн избавил еще от одной проблемы, на которую часто жаловались пользователи: окно экранной лупы занимает слишком много места на рабочем столе. Мы разместили органы управления лупой на маленькой панели, которая при бездействии приобретает полупрозрачность. Остальные опции доступны через диалог Options. Наконец, практически каждое действие может быть осуществлено с помощью клавиатурной комбинации, поэтому если вы привыкли пользоваться лишь клавиатурой, вы сможете спокойно обходиться только ей. Win-+, к примеру, увеличит масштаб рабочего стола.

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

III. Упростить разработку доступного ПО
Windows API, к сожалению, не могут обеспечить доступность сами по себе — серьезная роль в этом вопросе возлагается на плечи Windows-приложений, которые должны предоставлять информацию о доступности прямо в AT-приложения. Например, экранный диктор может быть очень полезен, но если он не может читать из вашего любимого браузера? Такие ассистентные приложения, как экранные дикторы и лупы являются всего лишь клиентами системы специальных возможностей, а приложения, в которых вы хотели бы воспользоваться этими приложениями, являются провайдерами. И лишь комбинация этих двух элементов является гарантом успеха — чтобы добиться максимальной доступности, требуется высококачественный клиент и грамотно написанный провайдер. В экосистеме есть масса провайдеров, поэтому нам сложно выверять грамотность написания каждого провайдера.

С целью устранить эту проблему наша команда разработала утилиты UI Accessibility Checker (или для краткости AccChecker) и UI Automation Verify (UIA Verify), которые сканируют приложение (то есть провайдер) и выдают отчет по обнаруженным проблемам с доступностью. Разработчики программного обеспечения могут использовать AccChecker и UIA Verify для обнаружения и устранения проблем до того, как пользователь приложения с ними. Инженеры по качеству ПО вправе использовать их для проверки качества выполненной работы. Мы верим в это, поэтому AccChecker и UIA Verify выпущены согласно лицензии open-source. Если вы не являетесь программистом, вам вряд ли понадобятся эти утилиты, но вы как пользователи выиграете от использования этих утилит, поскольку они позволяют устранить ошибки до того, как вы их увидите.

IV. Планировать ОС с прицелом на доступность с первого дня
Для обеспечения качества разрабатываемых функций Windows мы воспользовались концепцией, заимствованной из технологии оценки рисков Software Development Lifecycle, которую мы применяли при разработке Windows Vista. Перед непосредственным написанием кода каждая планируемая функция Windows 7 оценивалась с точки зрения доступности. Функции, использующие базовые элементы управления, оказались более доступными, поскольку в Windows предусмотрены провайдеры для готовых компонентов; изощренные элементы требовали дополнительной проработки.

Подобный процесс планирования вынудил каждую из команд оценивать риск недоступности той или иной функции. Как только всем функциям присваивался рейтинг риска, список сортировался по степени риска, а моя команда могла обратиться к командам, ведущим разработку функций с высокой степенью риска, обеспечив их необходимыми инструментами и ресурсами для обеспечения доступности функции. Мы, со своей стороны, проверяли, что команды провели достаточное количество тестов и осуществили валидацию. В результате большинство функций Windows стали более доступными, нежели в предыдущих релизах, и это благотвортно сказывается на общих впечатлениях при работе в Windows 7.

Подводя итог статье, хотелось бы еще раз подчеркнуть, что при разработке Windows 7 мы уделили особое внимание обеспечению доступности. Мы добились хороших успехов в доработке архитектуры и усовершенствовали ставшие традиционными специальные утилиты, среди которых экранная клавиатура и экранная лупа. Утилиты AccChecker и UIA Verify в значительной степени упрощают проверку соответствия приложений существующим ассистентным технологиям, а также новым технологиям на базе Windows Automation API. Наш подход к доступности функций в Windows стал более тщательным, последовательным и всеобъемлющим — и все благодаря нескольким сотням инженеров, работающим в различных отделах нашей компании. Мы гордимся своими успехами в Windows 7 и надеемся, что ОС поможет пользователям с ограниченными физическими возможностями проявить свой потенциал да и просто насладиться работой в Windows.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты