--- description: 'Ресурсы для разработчиков' params: path: /books/accessibility/development/ part: 'Часть II. Зрение' prev: books/accessibility/desktop showBookMenu: 'true' tags: ["Accessibility", "Development"] title: 'Глава 6. Разработка' weight: 9 --- [[development]] = Разработка :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 6 :partnums: :source-highlighter: rouge :experimental: :images-path: books/accessibility/development/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[devel-intro]] == Введение Эта глава предоставляет ресурсы для разработчиков, стремящихся сделать свои программы доступными, протестировать доступность и улучшить доступность своего программного обеспечения. [[devel-colors]] == Цвета Не предполагайте, что пользователи могут различать все (или даже любые) цвета, используемые в вашей программе. Хотя официальная статистика о распространенности дальтонизма отсутствует, по оценкам, примерно 5% населения страдает от той или иной его формы, будь то частичная или полная. [[devel-color-guidelines]] === Руководство по цветам Избегайте использования цвета как единственного способа передачи информации. Если цвет необходимо использовать, предоставьте простой и хорошо документированный метод настройки цветовых параметров. По возможности обеспечьте поддержку переменной окружения `$NO_COLOR` для учёта предпочтений пользователей. [[devel-color-checkers]] === Проверка цветов Пакет package:graphics/kontrast[] предоставляет графическую утилиту Kontrast для проверки, достаточно ли различимы цветовые комбинации для удобочитаемости и доступности. Для установки: [source, shell] .... # pkg install kontrast .... [[devel-cli]] == Интерфейс командной строки Интерфейс командной строки (CLI) в целом считается доступным для экранных читалок. Однако важно понимать некоторые концепции, следовать лучшим практикам и избегать определённых ошибок, чтобы обеспечить доступный пользовательский интерфейс. Дальке, Карл. _Программы с командной строкой для слепых_. Доступно по адресу: http://www.eklhad.net/philosophy.html. В этой статье рассматривается концепция представления информации в одном измерении и затрагиваются проблемы доступности, присущие программам, разработанным исключительно для зрячих пользователей. Сампат, Х., Меррик, А., и Маквин, А. (2021). Доступность интерфейсов командной строки. В материалах конференции CHI по человеческому фактору в вычислительных системах (CHI '21). ACM. Доступно по адресу: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445544. В этой статье представлены рекомендации и распространенные ошибки, которых следует избегать при проектировании интерфейсов командной строки, используемых пользователями экранных читалок. [[devel-libs]] == Библиотеки (Libraries) [[devel-at-spi]] === Gnome AT-SPI (Assistive Technology Service Provider Interface), package:accessibility/at-spi2-core[], представляет собой фреймворк, который устанавливает канал связи между приложениями и вспомогательными технологиями. Для установки выполните: [source, shell] .... # pkg install at-spi2-core .... AT-SPI предлагает широкий спектр возможностей. Для получения дополнительной информации обратитесь к следующим ресурсам: https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/main/README.md[README], https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/[Вики Atk], https://gnome.pages.gitlab.gnome.org/at-spi2-core/libatspi/[Вики AT SPI] и https://wiki.gnome.org/Accessibility[Вики команды доступности GNOME]. [TIP] ==== Доступны некоторые обёртки: package:accessibility/rubygem-atk[] (Ruby), package:accessibility/py-atspi[] (Python) и package:accessibility/atkmm[] (C++). ==== [[devel-qt]] === QT Пакет package:accessibility/libqaccessibilityclient[] устанавливает канал связи между приложениями и вспомогательными технологиями. В частности, он обеспечивает мост между приложениями, созданными с использованием Qt, и фреймворком AT-SPI crossref:development[devel-at-spi,описанным ранее]. Полную документацию смотрите в https://api.kde.org/libqaccessibilityclient/html/index.html[Справочнике по API] и https://github.com/KDE/libqaccessibilityclient[официальном репозитории]. Для установки: [source, shell] .... # pkg install libqaccessibilityclient .... Пакеты библиотек package:accessibility/qt5-speech[] и package:accessibility/qt6-speech[] предоставляют доступ к функции преобразования текста в речь (в частности, к пакету package:accessibility/speech-dispatcher[]). Документация доступна по адресам https://doc.qt.io/archives/qt-5.15/qtspeech-index.html и https://doc.qt.io/qt-6/qttexttospeech-index.html. Для установки выполните: [source, shell] .... # pkg install qt5-speech # pkg install qt6-speech .... === Синтез речи Пакет package:accessibility/speech-dispatcher[] предоставляет простой, высокоуровневый и независимый от устройства слой для доступа к синтезаторам речи. Для установки выполните: [source, shell] .... # pkg install speech-dispatcher .... Для получения подробной документации обратитесь к официальному веб-сайту Speech Dispatcher: https://freebsoft.org/speechd. [TIP] ==== Обёртка для библиотеки на языке Python предоставляется пакетом package:accessibility/py-speech-dispatcher[]. ==== [[devel-liblouis]] === Liblouis Пакет package:devel/liblouis[] предоставляет API для перевода многих языков в шрифт Брайля и обратно. Для установки выполните: [source, shell] .... # pkg install liblouis .... Библиотека предоставляет множество функций, https://liblouis.io/documentation/[документированных на сайте проекта liblouis]. [TIP] ==== Liblouis также предоставляет Python API, https://liblouis.io/documentation/liblouis.html#Python-bindings[привязки Python]. ==== [[devel-tools]] == Инструменты Пакет package:accessibility/accerciser[] предоставляет инструмент проверки доступности для приложений, разработанных для окружения рабочего стола extref:{handbook}desktop/#gnome-environment[GNOME]. Для его установки выполните: [source, shell] .... # pkg install accerciser .... Для получения подробной информации об использовании и возможностях обратитесь к справочной странице man:accerciser[1]. Дополнительная документация доступна в https://gitlab.gnome.org/GNOME/accerciser/-/blob/master/README.md[REAMDE.md] и https://help.gnome.org/users/accerciser/stable/index.html.en[Руководстве пользователя Accerciser].