logo
03

Доступность

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

Для передачи базовой информации о доступности в систему, используйте свойства AccessibleName, AccessibleDescription, AccessibleDefaultActionDescription и AccessibleRole.

Если вам нужно больше контроля над информацией о доступности, придётся подготовить специальный объект, которым воспользуется система. Для этого перегрузите метод CreateAccessibilityInstance и верните экземпляр класса, производного от AccessibleObject. Для упрощения жизни есть также класс Control.ControlAccessibleObject, берущий часть забот на себя.

Разработчикам, создающим программные продукты на экспорт, а особенно тем, кто взаимодействует с правительственными структурами США и европейских стран обязательно придётся столкнуться с такими понятиями, как Section 508 (http://www.section508.gov/) и аналогичными. Однако, полноценный обзор разработки приложений с учётом доступности выходит за рамки этой статьи.

Заключение

В этой статье мы рассмотрели основные принципы и методы создания собственных компонентов и контролов для среды .NET и подсистемы Windows Forms. Далеко не все возможности были раскрыты, не все варианты рассмотрены, но я надеюсь, что эта статья поможет вам начать проектировать и реализовывать собственные качественные и полезные компоненты. Экспериментируйте, изучайте и не останавливайтесь на достигнутом, ведь хороший компонент неоднократно сослужит вам, а может и другим пользователям, добрую службу. В заключение хотелось бы еще раз повторить главные принципы разработки хороших компонентов:

Ссылки

Для получения начальных знаний о том, что такое компоненты, и как с ними работать, рекомендуется прочитать статью Влада Чистякова. В ней рассказывается о базовых концепциях компонентной модели библиотеки классов .NET, даны рекомендации по созданию собственных компонентов и раскрыты некоторые нетривиальные приёмы и способы взаимодействия с дизайнером Visual Studio .NET.

Подробную информация о методах, свойствах, типах и интерфейсах смотрите в MSDN. Помните, MSDN – это документация, написанная создателями того, о чём мы с вами говорим. Несмотря на то, что зачастую информация в MSDN не полна и местами запутана, это всё таки лучший источник знаний о создании программного обеспечения на платформе Windows вообще и .NET в частности.

Конкретные ответы на часто встречающиеся вопросы можно посмотреть в Windows Forms FAQ. Это огромный список вопросов и ответов, посвященный созданию собственных и использованию существующих контролов и компонентов.

Прочитайте Design Guidelines for Class Library Developers перед тем, как браться за создание собственных контролов и компонентов, особенно если вы собираетесь выпускать ваш контрол или библиотеку в большой мир. Это сохранит нервы вам, вашим клиентам, а также избавит от многих звонков и электронных писем в службу поддержки.

Приложения

В приложении к статье находятся несколько примеров, иллюстрирующих изложенные принципы, концепции и предложения по созданию компонентов, контролов и связанных с ними сущностей, таких как конвертеры типов, дизайнеры и редакторы.