NVDA (Non-visual Desktop Access) — это бесплатная программа экранного доступа с открытым исходным кодом, которая разрабатывается компанией NV Access. Дополнения для NVDA — это инструменты, которые предназначены для расширения функциональности программы и изменения ее возможностей. Они делают NVDA более гибкой и удобной для разных пользователей. Преимущественно дополнения разрабатываются на языке программирования Python, но иногда в них присутствуют и составные компоненты, написанные на других языках программирования. С помощью дополнений пользователи могут добавлять новые функции, изменять стандартное поведение программы и автоматизировать выполнение повседневных задач.
Роль дополнений NVDA не ограничивается только расширением возможностей программы. Они также способствуют наработке персонализированного опыта использования программы, позволяя пользователю настраивать ее под собственные потребности и предпочтения. Таким образом, дополнения не только расширяют возможности NVDA, но и открывают незрячему пользователю путь к индивидуализированному и комфортному использованию программы экранного доступа.
Целевая аудитория
Курс предназначен для слушателей, уже знакомых с языком программирования Python и заинтересованных в изучении процесса разработки, исправления или модификации дополнений для NVDA.
Данный курс предоставляет возможность слушателю приобрести не только необходимые навыки и знания для создания дополнений NVDA, но и возможность глубже понять специфику работы с дополнениями, изучив различные методы и инструменты этого процесса.
Требования к компетенциям слушателя
- Знание и умение объектно-ориентированного программирования на языке Python или успешное освоение курса «Введение в Python для разработчиков»;
- Владение навыками работы на ПК под управлением ОС Windows на среднем пользовательском уровне;
- Владение навыками ввода текста в английской раскладке клавиатуры;
- Использование программы экранного доступа NVDA на уровне квалифицированного пользователя.
Основные темы курса
Курс представлен следующими темами:
- Создание рабочего места для разработки дополнений:
- Настройка портативной NVDA;
- Журнал сообщений;
- Сохранение отчётов в файл;
- Предварительное знакомство со структурой дополнения;
- Возможные ошибки при работе с дополнениями в NVDA.
- Разновидности дополнений NVDA, структура файлов и папок в дополнениях:
- Виды плагинов;
- Получение имя открытого приложение;
- Структура папок и файлов дополнения;
- Структура файла «manifest.ini»;
- Добавочный код установки и удаления дополнения;
- Упаковка дополнений NVDA;
- Ограничения по именам проекта;
- Завершение работы дополнения NVDA;
- Возможности метода «chooseNVDAObjectOverlayClasses».
- Пространство имён дополнений, потоки и файлы конфигураций в NVDA:
- Пространство имён дополнений;
- Поиск путей модулей;
- Концепция — Разделяй и властвуй;
- Различные способы импорта модулей;
- Потоки в NVDA;
- Сохранения данных в конфигурационных файлах;
- Ограничения файла настроек NVDA «nvda.ini».
- Разбор компонентов NVDA:
- Работа с исходным кодом NVDA;
- Основной модуль «globalCommands»;
- Полезные модули в NVDA;
- События в NVDA;
- Дополнительные функции работы с событиями, с клавиатурой и мышью в NVDA.
- Расширение возможности NVDA с помощью добавления сторонних библиотек:
- Определение необходимой версии Python;
- Нахождения изменений в двух исходных файлах;
- Установка сторонних библиотек Python;
- Добавление сторонних библиотек в NVDA;
- Возможные ограничения в сторонних библиотеках NVDA;
- Добавление пользовательских DLL библиотек в NVDA.
- GUI NVDA. Виджеты:
- Библиотека «wxPython»;
- Графический режим в NVDA;
- Правила создания и открытия «wx.Frame» и «wx.Dialog» в NVDA скриптах;
- Элементы управления в «wxPython».
- GUI NVDA, расширенные виджеты и сайзеры:
- Расширенные элементы управления в «wxPython»;
- Меню бар, сетка и дерево;
- Работа с Сайзером.
- GUI NVDA. Правила оформления дополнений:
- Графическая пользовательская библиотека NVDA;
- Авторское право;
- Правила и ограничения внедрения в своё дополнение чужого кода;
- Недопустимые действия в дополнениях NVDA;
- Безопасный режим;
- Локализация;
- Справка, документация дополнения.GUI NVDA. Правила оформления дополнений.
Примечание: после проведения курса, предполагается проведение итогового контроля.
Ожидаемые результаты
В результате освоения курса слушатель сможет уверенно владеть основными аспектами создания и редактирования дополнений для NVDA. Но и ещё приобретёт глубокое понимание особенностей работы с дополнениями, а также овладеет различными методиками и инструментами для их разработки. Благодаря этому, слушатель сможет не только создавать индивидуализированные дополнения, отвечающие потребностям, но и оптимизировать использование программы NVDA в соответствии со своими целями и интересами.