Улучшение доступности стандарта средства управления AppKit
Когда дело доходит до доступности AppKit делает большой тяжелый подъем для Вас. Представления AppKit и средства управления принимают NSAccessibility
протокол. Это обеспечивает надлежащие значения по умолчанию и реализации для всех информационных свойств и методов действия. Элементы AppKit также отправляют надлежащие уведомления, на основе их ожидаемого использования.
Система также пытается заполнить многие информационные свойства со значимыми значениями по умолчанию. Например, NSButton
объект accessibilityLabel
свойство автоматически значения по умолчанию к заголовку кнопки. Это означает, во многих случаях, стандартные средства управления AppKit не требуют никакой дополнительной работы с Вашей стороны. Они являются поддерживающими доступность прямо из поля.
Однако, в то время как свойства AppKit по умолчанию завершены, они не всегда так полезны, как мы хотели бы. В некоторых случаях Вы, возможно, должны изменить эти значения по умолчанию, чтобы лучше представлять Ваше приложение, обеспечить дополнительный контекст или изменить поток пользователя через приложение. Обычно мы делаем это путем изменения информационных свойств.
Можно изменить эти свойства тремя способами:
Используя Интерфейсного Разработчика. При использовании Интерфейсного Разработчика настройки Accessibility Identity в инспекторе Идентификационных данных позволяют Вам изменить некоторые информационные свойства. В частности поле Description позволяет Вам установить элемент
accessibilityLabel
свойство, в то время как поле Help позволяют нам, Вы устанавливаетеaccessibilityHelp
свойство.Присвоение программно. Можно присвоить новое значение любому из свойств в коде.
Переопределение методов доступа. При разделении на подклассы элемента AppKit можно переопределить методы доступа для его информационных свойств. Это может быть более эффективно при работе с динамическими средствами управления. Здесь, Вы просто возвращаете текущее состояние по запросу — вместо того, чтобы пытаться обновить свойство в ответ на изменения.
Улучшение поведения по умолчанию
При изменении способов поведения доступности управления по умолчанию запустите путем фокусировки на следующем:
Следуйте за HIG. Удостоверьтесь, что Ваш пользовательский интерфейс следует инструкциям, перечисленным в Инструкциях по Интерфейсу пользователя OS X. Клиенты доступности ожидают, что Ваше приложение будет вести себя определенными способами. Это значительно проще к доступности - включают Ваше приложение, когда Вы следуете инструкциям в HIG.
Присвойте полезную метку. Каждый элемент, с которым может взаимодействовать пользователь, должен иметь значимый набор значений для
accessibilityLabel
свойство. Идеально, эта метка является отдельным словом, кратко описывающим управление. Добавьте, Игра, Удалите, Поиск, Избранное и Объем, все делают идеальные метки.Не включайте тип управления в метке. Например, использование Добавляют не, Добавляет Кнопка. Управление
accessibilityRoleDescription
свойство уже получает тип управления.Кроме того, чтобы гарантировать, что VocieOver читает метку с корректным словоизменением, метка должна запуститься с прописной буквы. Не помещайте период в конец. Наконец, всегда локализуйте метку своего управления.
Измените ролевое описание, при необходимости. Клиенты доступности используют
accessibilityRoleDescription
свойство при описании управления. Большую часть времени значение по умолчанию для ролевого описания работает отлично; однако, Вы могли бы найти несколько случаев, где можно сделать поглощенную расчетную организацию управления путем замены ролевого описания по умолчанию. Это - особенно истина при использовании стандартного управления нестандартным способом.Используйте текст справки для описания эффекта. Клиенты доступности используют
accessibilityHelp
свойство для описания результатов выполнения действия. По существу текст справки действует как подсказка.Используйте текст справки только, когда результаты не будут очевидны из метки управления. Точно так же, как метка стремитесь сделать текст справки максимально коротким. Запустите с прописной буквы. Начните с глагола и опустите предмет. Например, используйте, “Играет, песня” не “Эта кнопка играет песню”. Кроме того, не включайте описание действия, жеста, представления или управления. Наконец, всегда локализуйте свой текст справки.
Определите ссылки и группы для обеспечения контекста. Визуальные пользователи часто знают, что наборы средств управления сочетаются вследствие их близости на экране. Однако необходимо явно определить эти отношения, прежде чем клиенты доступности смогут использовать их также. Например, представление могло принять
NSAccessibilityGroup
протокол, указывая, что его содержание должно быть обработано как группа средств управления. Точно так же можно использоватьaccessibilityLinkedUIElements
свойство для определения отношения между элементом списка и содержанием, выведенным на экран в различной области или окне. Можно также использоватьaccessibilityTitleUIElement
указать элемент статического текста, действующий как метка этого управления.Фокусируйте пользователей на важных частях интерфейса. Используйте
accessibilityElement
свойство для фокусирования пользователей на важных частях интерфейса. Если это свойство установлено вNO
, клиенты доступности игнорируют этот элемент, пропуская непосредственно его дочерним элементам (если таковые имеются). По умолчанию,NSView
и его подклассы устанавливают это значение вNO
. Пользователи обычно не интересуются представлениями. Они хотят получить доступ к вещам в представлениях. Однако, если ВашNSView
подкласс принимает один из специфичных для роли протоколов доступности, система автоматически изменяетсяaccessibilityElement
значение свойства кYES
.
Часто полезно наблюдать, как VoiceOver обрабатывает эти свойства. Например, при выборе управления VoiceOver читает метку и ролевое описание. Если Вы приостанавливаетесь с выбранным элементом UI, VoiceOver обеспечивает дополнительное разъяснение и затем читает текст справки (если таковые имеются).