Класс QAccessible
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью. Подробнее...
| Заголовок: | #include <QAccessible> |
| qmake: | QT += gui |
Типы
| класс | State |
| перечисление | Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, ..., VisibleDataChanged } |
| typedef | Id |
| typedef | InterfaceFactory |
| перечисление | InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface } |
| флаги | Relation |
| перечисление | RelationFlag { Label, Labelled, Controller, Controlled, AllRelations } |
| перечисление | Role { AlertMessage, Animation, Application, Assistant, ..., Window } |
| перечисление | Text { Name, Description, Value, Help, Accelerator, UserText } |
| перечисление | TextBoundaryType { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary } |
Статические публичные члены
| QAccessibleInterface * | accessibleInterface(Id id) |
| void | deleteAccessibleInterface(Id id) |
| void | installFactory(InterfaceFactory factory) |
| bool | isActive() |
| QAccessibleInterface * | queryAccessibleInterface(QObject *object) |
| Id | registerAccessibleInterface(QAccessibleInterface *iface) |
| void | removeFactory(InterfaceFactory factory) |
| void | setRootObject(QObject *object) |
| Id | uniqueId(QAccessibleInterface *iface) |
| void | updateAccessibility(QAccessibleEvent *event) |
Подробное описание
Класс QAccessible предоставляет перечисления и статические функции, связанные с доступностью.
Этот класс является частью Доступности для приложений QWidget.
Доступные приложения могут быть использованы людьми, которые не могут использовать приложения обычными способами.
Функции в этом классе используются для связи между доступными приложениями (также называемыми серверами AT) и средствами доступности (клиентами AT), такими как программы чтения с экрана и брайлевские дисплеи. Клиенты и серверы взаимодействуют следующим образом:
- Серверы AT уведомляют клиентов о событиях с помощью вызовов функции updateAccessibility().
- Клиенты AT запрашивают информацию об объектах на сервере. Класс QAccessibleInterface является основным интерфейсом и инкапсулирует эту информацию в чистом виртуальном API. Реализации интерфейса предоставляются Qt через API queryAccessibleInterface().
Взаимодействие между серверами и клиентами инициируется функцией setRootObject(). Указатели на функции могут быть установлены для замены или расширения поведения по умолчанию статических функций в классе QAccessible.
Qt поддерживает Microsoft Active Accessibility (MSAA), macOS Accessibility и стандарт AT-SPI Unix/X11. Другие бэкэнды могут быть поддержаны с помощью QAccessibleBridge.
В реализации Unix/X11 AT-SPI приложения становятся доступными, когда выполняются два условия:
- свойство org.a11y.Status.IsEnabled DBus равно true
- свойство org.a11y.Status.ScreenReaderEnabled DBus равно true
Альтернативой установке свойств DBus AT-SPI является установка переменной среды QT_LINUX_ACCESSIBILITY_ALWAYS_ON.
В дополнение к статическим функциям класса QAccessible, Qt предлагает один универсальный интерфейс QAccessibleInterface, который может быть использован для обертывания всех виджетов и объектов (например, QPushButton). Этот единый интерфейс предоставляет все метаданные, необходимые для вспомогательных технологий. Qt предоставляет реализации этого интерфейса для встроенных виджетов в виде плагинов.
При разработке пользовательских виджетов можно создавать пользовательские подклассы QAccessibleInterface и распространять их как плагины (используя QAccessiblePlugin) или компилировать их в приложение. Точно так же предустановленная поддержка доступности Qt может быть скомпилирована как плагин (по умолчанию) или непосредственно в библиотеку Qt. Основным преимуществом использования плагинов является то, что классы доступности загружаются в память только в том случае, если они действительно используются; они не замедляют общий случай, когда никакие средства вспомогательных технологий не используются.
Qt также включает два вспомогательных класса QAccessibleObject и QAccessibleWidget, которые наследуются от QAccessibleInterface и предоставляют самый общий знаменатель метаданных (например, геометрию виджета, заголовок окна, базовый текст справки). Их можно использовать в качестве базовых классов при обертывании пользовательских подклассов QObject или QWidget.
См. также QAccessibleInterface.
Документация по типам членов
перечисление QAccessible::Event
Это перечисление определяет типы событий доступности.
Внутреннее: используется при создании подклассов QAccessibleEvent.
| Константа | Значение | Описание |
|---|---|---|
QAccessible::AcceleratorChanged |
0x80C0 |
Изменён ускоритель клавиш для действия. |
QAccessible::ActionChanged |
0x0101 |
Изменено действие. |
QAccessible::ActiveDescendantChanged |
0x0102 |
|
QAccessible::Alert |
0x0002 |
Системный алерт (например, сообщение из QMessageBox) |
QAccessible::AttributeChanged |
0x0103 |
|
QAccessible::ContextHelpEnd |
0x000D |
Завершено контекстное справка (QWhatsThis) для объекта. |
QAccessible::ContextHelpStart |
0x000C |
Инициализирована контекстная справка (QWhatsThis) для объекта. |
QAccessible::DefaultActionChanged |
0x80B0 |
Изменилось стандартное действие QAccessible::Action для доступного объекта. |
QAccessible::DescriptionChanged |
0x800D |
Изменилось описание объекта QAccessible::Description. |
QAccessible::DialogEnd |
0x0011 |
Диалоговое окно (QDialog) скрыто. |
QAccessible::DialogStart |
0x0010 |
Диалоговое окно (QDialog) установлено видимым. |
QAccessible::DocumentContentChanged |
0x0104 |
Изменилось содержимое текстового документа. |
QAccessible::DocumentLoadComplete |
0x0105 |
Документ загружен. |
QAccessible::DocumentLoadStopped |
0x0106 |
Остановлена загрузка документа. |
QAccessible::DocumentReload |
0x0107 |
Инициализирован повторной загрузка документа. |
QAccessible::DragDropEnd |
0x000F |
Операция перетаскивания и сбрасывания завершается. |
QAccessible::DragDropStart |
0x000E |
Начинается операция перетаскивания и сбрасывания. |
QAccessible::Focus |
0x8005 |
Объект получил фокус клавиатуры. |
QAccessible::ForegroundChanged |
0x0003 |
Окно активировано (т.е. новое окно получило фокус на рабочем столе). |
QAccessible::HelpChanged |
0x80A0 |
Изменилось свойство QAccessible::Help объекта. |
QAccessible::HyperlinkEndIndexChanged |
0x0108 |
Изменилась конечная позиция отображаемого текста для гиперссылки. |
QAccessible::HyperlinkNumberOfAnchorsChanged |
0x0109 |
Изменилось количество якорей в гиперссылке, возможно, потому что отображаемый текст был разделен для создания более одной ссылки. |
QAccessible::HyperlinkSelectedLinkChanged |
0x010A |
Изменилась ссылка для выбранной гиперссылки. |
QAccessible::HyperlinkStartIndexChanged |
0x010D |
Изменилась начальная позиция отображаемого текста для гиперссылки. |
QAccessible::HypertextChanged |
0x010E |
Изменился отображаемый текст гиперссылки. |
QAccessible::HypertextLinkActivated |
0x010B |
Активирована гиперссылка, возможно, кликом или нажатием клавиши. |
QAccessible::HypertextLinkSelected |
0x010C |
Выбрана гиперссылка. |
QAccessible::HypertextNLinksChanged |
0x010F |
|
QAccessible::LocationChanged |
0x800B |
Изменилось положение объекта на экране. |
QAccessible::MenuCommand |
0x0018 |
Вызвано пункта меню. |
QAccessible::MenuEnd |
0x0005 |
Меню закрыто (Qt использует PopupMenuEnd для всех меню). |
QAccessible::MenuStart |
0x0004 |
Открыто меню в строке меню (Qt использует PopupMenuStart для всех меню). |
QAccessible::NameChanged |
0x800C |
Изменилось свойство QAccessible::Name объекта. |
QAccessible::ObjectAttributeChanged |
0x0110 |
|
QAccessible::ObjectCreated |
0x8000 |
Создан новый объект. |
QAccessible::ObjectDestroyed |
0x8001 |
Объект удалён. |
QAccessible::ObjectHide |
0x8003 |
Объект скрыт; например, с помощью QWidget::hide(). Любые дочерние объекты скрытого объекта не отправляют это событие. Оно не отправляется, когда объект скрывается, так как он скрыт другими объектами. |
QAccessible::ObjectReorder |
0x8004 |
Объект добавлен, удалён или перемещён в макете или представлении элементов (Qt не использует это событие). |
QAccessible::ObjectShow |
0x8002 |
Объект отображается; например, с помощью QWidget::show(). |
QAccessible::PageChanged |
0x0111 |
|
QAccessible::ParentChanged |
0x800F |
Изменился родительский объект объекта. |
QAccessible::PopupMenuEnd |
0x0007 |
Закрыто всплывающее меню. |
QAccessible::PopupMenuStart |
0x0006 |
Открыто всплывающее меню. |
QAccessible::ScrollingEnd |
0x0013 |
Завершён скроллинг полосы прокрутки (мышь отпустила ползунок). |
QAccessible::ScrollingStart |
0x0012 |
Начинается скроллинг полосы прокрутки; например, это может быть вызвано нажатием мыши на ползунок. |
QAccessible::SectionChanged |
0x0112 |
|
QAccessible::SelectionAdd |
0x8007 |
Элемент добавлен в выбор в представлении элементов. |
QAccessible::SelectionRemove |
0x8008 |
Элемент удалён из выбора в представлении элементов. |
QAccessible::Selection |
0x8006 |
Изменился выбор в меню или представлении элементов. |
QAccessible::SelectionWithin |
0x8009 |
Произошло несколько изменений в выборе в представлении элементов. |
QAccessible::SoundPlayed |
0x0001 |
Объектом воспроизведён звук. Состояние QAccessible::State объекта изменилось. Это значение используется внутри для QAccessibleStateChangeEvent. |
QAccessible::TableCaptionChanged |
0x0113 |
Изменено описание таблицы. |
QAccessible::TableColumnDescriptionChanged |
0x0114 |
Изменено описание столбца таблицы, обычно находящееся в заголовке столбца. |
QAccessible::TableColumnHeaderChanged |
0x0115 |
Изменён заголовок столбца таблицы. Изменён макет, который предоставляет данные для таблицы. |
QAccessible::TableRowDescriptionChanged |
0x0117 |
Изменено описание строки таблицы, обычно находящееся в заголовке строки. |
QAccessible::TableRowHeaderChanged |
0x0118 |
Изменён заголовок строки таблицы. |
QAccessible::TableSummaryChanged |
0x0119 |
Изменено содержимое таблицы. Курсор сместился в редактируемом виджете. Курсор представляет позицию курсора в редактируемом виджете с фокусом ввода. |
QAccessible::TextColumnChanged |
0x011D |
Изменено текстовое поле. Текст был вставлен в редактируемый виджет. Текст был удалён из редактируемого виджета. Выделенный текст изменился в редактируемом виджете. Текст был обновлён в редактируемом виджете. Изменилось значение QAccessible::Value объекта. |
QAccessible::VisibleDataChanged |
0x0122 |
Значения этого перечисления определены так же, как и в спецификациях IAccessible2 и MSAA.
typedef QAccessible::Id
Синоним для unsigned, используемый кэшем QAccessibleInterface.
typedef QAccessible::InterfaceFactory
Это псевдоним для указателя на функцию со следующим сигнатурой:
typedef QAccessibleInterface* myFactoryFunction(const QString &key, QObject *);
Функция получает QString и указатель на QObject, где QString — ключ, идентифицирующий интерфейс. QObject используется для передачи в QAccessibleInterface, чтобы он мог удерживать ссылку на него.
Если ключ и QObject не имеют соответствующего QAccessibleInterface, будет возвращён null-указатель.
Установленные фабрики вызываются функцией queryAccessibilityInterface() до тех пор, пока одна из них не предоставит интерфейс.
enum QAccessible::InterfaceType
QAccessibleInterface поддерживает несколько под-интерфейсов. Для предоставления большей информации об отдельных объектах их доступное представление должно реализовывать один или несколько из этих интерфейсов.
Примечание: При наследовании одного из этих интерфейсов, необходимо реализовать QAccessibleInterface::interface_cast().
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::TextInterface |
0 |
Для текста, поддерживающего выделения или состоящего более чем из одной строки. Простые метки не должны реализовывать этот интерфейс. Для текста, который может быть изменён пользователем. |
QAccessible::ValueInterface |
2 |
Для объектов, используемых для манипулирования значением, например, ползунок или полоса прокрутки. |
QAccessible::ActionInterface |
3 |
Для интерактивных объектов, позволяющих пользователю инициировать действие. В основном всё, что позволяет, например, взаимодействие с помощью мыши. Для объектов, представляющих изображение. Этот интерфейс, как правило, менее важен. |
QAccessible::TableInterface |
5 |
Для списков, таблиц и деревьев. |
QAccessible::TableCellInterface |
6 |
Для ячеек в объекте TableInterface. |
См. также QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface и QAccessibleTableCellInterface.
enum QAccessible::RelationFlagflags QAccessible::Relation
Этот тип перечисления определяет битовые флаги, которые могут быть объединены для указания взаимосвязи между двумя доступными объектами.
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::Label |
0x00000001 |
Первый объект является меткой второго объекта. |
QAccessible::Labelled |
0x00000002 |
Первый объект помечен вторым объектом. |
QAccessible::Controller |
0x00000004 |
Первый объект управляет вторым объектом. |
QAccessible::Controlled |
0x00000008 |
Первый объект управляется вторым объектом. |
QAccessible::AllRelations |
0xffffffff |
Используется как маска для указания того, что нас интересует информация обо всех отношениях. |
Реализации relations() возвращают комбинацию этих флагов. Некоторые значения являются взаимоисключающими.
Тип Relation — это псевдоним для QFlags<RelationFlag>. Он хранит логическое ИЛИ комбинацию значений RelationFlag.
enum QAccessible::Role
Это перечисление определяет роль доступного объекта. Роли:
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::AlertMessage |
0x00000008 |
Объект, используемый для уведомления пользователя. |
QAccessible::Animation |
0x00000036 |
Объект, отображающий анимацию. |
QAccessible::Application |
0x0000000E |
Основное окно приложения. |
QAccessible::Assistant |
0x00000020 |
Объект, предоставляющий интерактивную справку. |
QAccessible::Border |
0x00000013 |
Объект, представляющий границу. |
QAccessible::ButtonDropDown |
0x00000038 |
Кнопка, раскрывающая список элементов. |
QAccessible::ButtonDropGrid |
0x0000003A |
Кнопка, раскрывающая сетку. |
QAccessible::ButtonMenu |
0x00000039 |
Кнопка, раскрывающая меню. |
QAccessible::Canvas |
0x00000035 |
Объект, отображающий графику, с которой пользователь может взаимодействовать. |
QAccessible::Caret |
0x00000007 |
Объект, представляющий системный курсор (курсор ввода текста). |
QAccessible::Cell |
0x0000001D |
Ячейка таблицы. |
QAccessible::Chart |
0x00000011 |
Объект, отображающий графическое представление данных. |
QAccessible::CheckBox |
0x0000002C |
Объект, представляющий опцию, которую можно установить или сбросить. Некоторые опции предоставляют состояние "смешанный", например, ни установленный, ни сброшенный. |
QAccessible::Client |
0x0000000A |
Рабочая область окна. |
QAccessible::Clock |
0x0000003D |
Часы, отображающие время. |
QAccessible::ColorChooser |
0x404 |
Диалоговое окно, позволяющее пользователю выбрать цвет. |
QAccessible::Column |
0x0000001B |
Столбец ячеек, обычно в таблице. |
QAccessible::ColumnHeader |
0x00000019 |
Заголовок столбца данных. |
QAccessible::ComboBox |
0x0000002E |
Список вариантов, из которых пользователь может выбрать. |
QAccessible::ComplementaryContent |
0x42C |
Часть документа или веб-страницы, дополняющая основное содержимое, обычно ориентир (см. WAI-ARIA). |
QAccessible::Cursor |
0x00000006 |
Объект, представляющий курсор мыши. |
QAccessible::Desktop |
0x00000082 |
Объект представляет рабочий стол или рабочее пространство. |
QAccessible::Dial |
0x00000031 |
Объект, представляющий циферблат или ручку. |
QAccessible::Dialog |
0x00000012 |
Диалоговое окно. |
QAccessible::Document |
0x0000000F |
Документ, например, в приложении для офисной работы. |
QAccessible::EditableText |
0x0000002A |
Редактируемый текст, например, строка или поле для ввода текста. |
QAccessible::Equation |
0x00000037 |
Объект, представляющий математическое уравнение. |
QAccessible::Footer |
0x40E |
Подвал страницы (обычно в документах). |
QAccessible::Form |
0x410 |
Веб-форма, содержащая элементы управления. |
QAccessible::Graphic |
0x00000028 |
Графика или изображение, например, значок. |
QAccessible::Grip |
0x00000004 |
Маркер, который пользователь может перетаскивать для изменения размера виджетов. |
QAccessible::Grouping |
0x00000014 |
Объект, представляющий логическую группу других объектов. |
QAccessible::Heading |
0x414 |
Заголовок в документе. |
QAccessible::HelpBalloon |
0x0000001F |
Объект, отображающий справку в отдельном, кратковременном окне. |
QAccessible::HotkeyField |
0x00000032 |
Поле горячих клавиш, позволяющее пользователю ввести последовательность клавиш. |
QAccessible::Indicator |
0x00000027 |
Индикатор, представляющий текущее значение или элемент. |
QAccessible::LayeredPane |
0x00000080 |
Объект, который может содержать слоированные дочерние элементы, например, в стеке. |
QAccessible::Link |
0x0000001E |
Ссылка на что-то другое. |
QAccessible::List |
0x00000021 |
Список элементов, из которого пользователь может выбрать один или несколько элементов. |
QAccessible::ListItem |
0x00000022 |
Элемент в списке элементов. |
QAccessible::MenuBar |
0x00000002 |
Панель меню, из которой пользователь открывает меню. |
QAccessible::MenuItem |
0x0000000C |
Элемент в меню или панели меню. |
QAccessible::NoRole |
0x00000000 |
Объект без роли. Обычно это указывает на неверный объект. |
QAccessible::Note |
0x41B |
Раздел, содержимое которого является скобочным или дополнительным к основному содержанию ресурса. |
QAccessible::PageTab |
0x00000025 |
Вкладка страницы, которую пользователь может выбрать для перехода на другую страницу в диалоговом окне. |
QAccessible::PageTabList |
0x0000003C |
Список вкладок страниц. |
QAccessible::Paragraph |
0x00000083 |
Абзац текста (обычно в документах). |
QAccessible::Pane |
0x00000010 |
Общий контейнер. |
QAccessible::PopupMenu |
0x0000000B |
Меню, в котором перечислены параметры, которые пользователь может выбрать для выполнения действия. |
QAccessible::ProgressBar |
0x00000030 |
Объект отображает ход выполнения операции в процессе. |
QAccessible::PropertyPage |
0x00000026 |
Страница свойств, где пользователь может изменить параметры и настройки. |
QAccessible::Button |
0x0000002B |
Кнопка. |
QAccessible::RadioButton |
0x0000002D |
Объект, представляющий опцию, которая взаимоисключает другие опции. |
QAccessible::Row |
0x0000001C |
Строка ячеек, обычно в таблице. |
QAccessible::RowHeader |
0x0000001A |
Заголовок строки данных. |
QAccessible::ScrollBar |
0x00000003 |
Скроллбар, позволяющий пользователю прокручивать видимую область. |
QAccessible::Section |
0x00000085 |
Раздел (в документе). |
QAccessible::Separator |
0x00000015 |
Разделитель, который делит пространство на логические области. |
QAccessible::Slider |
0x00000033 |
Ползунок, который позволяет пользователю выбрать значение в заданном диапазоне. |
QAccessible::Sound |
0x00000005 |
Объект, представляющий звук. |
QAccessible::SpinBox |
0x00000034 |
Виджет-поле со списком, позволяющий пользователю вводить значение в заданном диапазоне. |
QAccessible::Splitter |
0x0000003E |
Разделитель, распределяющий доступное пространство между своими дочерними виджетами. |
QAccessible::StaticText |
0x00000029 |
Статический текст, например, метки для других виджетов. |
QAccessible::StatusBar |
0x00000017 |
Строка состояния. |
QAccessible::Table |
0x00000018 |
Таблица, представляющая данные в сетке строк и столбцов. |
QAccessible::Terminal |
0x00000081 |
Терминал или командная строка. |
QAccessible::TitleBar |
0x00000001 |
Заголовок строки заголовка окна. |
QAccessible::ToolBar |
0x00000016 |
Панель инструментов, которая группирует виджеты, к которым пользователь часто обращается. |
QAccessible::ToolTip |
0x0000000D |
Подсказка, предоставляющая информацию об объектах. |
QAccessible::Tree |
0x00000023 |
Список элементов в древовидной структуре. |
QAccessible::TreeItem |
0x00000024 |
Элемент в древовидной структуре. |
QAccessible::UserRole |
0x0000ffff |
Первое значение, используемое для ролей, определенных пользователем. |
QAccessible::WebDocument |
0x00000084 |
HTML-документ, обычно в браузере. |
QAccessible::Whitespace |
0x0000003B |
Пустое пространство между другими объектами. |
QAccessible::Window |
0x00000009 |
Окно верхнего уровня. |
enum QAccessible::Text
Этот перечисление определяет строковую информацию, которую возвращает доступный объект.
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::Name |
0 |
Имя объекта. Это можно использовать как для идентификации, так и для краткого описания клиентами доступности. |
QAccessible::Description |
1 |
Краткое описание объекта. |
QAccessible::Value |
2 |
Значение объекта. |
QAccessible::Help |
3 |
Более подробный текст, описывающий, как использовать объект. |
QAccessible::Accelerator |
4 |
Сочетание клавиш для выполнения действия по умолчанию объекта. |
QAccessible::UserText |
0x0000ffff |
Первое значение, используемое для текста, определенного пользователем. |
enum QAccessible::TextBoundaryType
Это перечисление описывает различные типы границ текста. Оно соответствует API IAccessible2 и используется в QAccessibleTextInterface.
| Постоянная | Значение | Описание |
|---|---|---|
QAccessible::CharBoundary |
0 |
Использование отдельных символов как границы. |
QAccessible::WordBoundary |
1 |
Использование слов как границ. |
QAccessible::SentenceBoundary |
2 |
Использование предложений в качестве границ. |
QAccessible::ParagraphBoundary |
3 |
Использование абзацев в качестве границ. |
QAccessible::LineBoundary |
4 |
Использование символов новой строки в качестве границы. |
QAccessible::NoBoundary |
5 |
Отсутствие границы (использование всего текста). |
См. такжеQAccessibleTextInterface.
Документация по функциям-членам
[static] QAccessibleInterface *QAccessible::accessibleInterface(Id id)
Возвращает QAccessibleInterface, принадлежащий id.
Возвращает 0, если id недействительно.
[static] void QAccessible::deleteAccessibleInterface(Id id)
Удаляет интерфейс, принадлежащий данному id, из кэша и удаляет его. Id становится недействительным и может быть повторно использован кэшем.
[static] void QAccessible::installFactory(InterfaceFactory factory)
Устанавливает InterfaceFactory factory. Последний добавленный фабрика используется в queryAccessibleInterface() в первую очередь.
[static] bool QAccessible::isActive()
Возвращает true если платформа запросила информацию об доступности.
Эта функция вернет false до тех пор, пока такой инструмент, как экранный диктор, не обратится к системе доступности. Можно использовать QAccessible::queryAccessibleInterface() даже если доступность не активна. Однако уведомления на платформу не будут отправлены.
Рекомендуется использовать эту функцию, чтобы предотвратить дорогостоящие уведомления через updateAccessibility(), когда они не нужны.
[static] QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
Если для данного object существует реализация QAccessibleInterface, эта функция возвращает указатель на реализацию; в противном случае возвращает 0.
Функция вызывает все установленные фабричные функции (от недавно установленной к наименее недавно установленной), пока одна из них не найдет интерфейс для класса object. Если ни один фабрика не может предоставить реализацию доступности для класса, функция загружает установленные плагины доступности и проверяет, может ли какой-либо из плагинов предоставить реализацию.
Если реализация для класса объекта недоступна, функция пытается найти реализацию для родительского класса объекта, используя вышеуказанную стратегию.
Все интерфейсы управляются внутренним кэшем и не должны удаляться.
[static] Id QAccessible::registerAccessibleInterface(QAccessibleInterface *iface)
Вызовите эту функцию, чтобы убедиться, что вручную созданные интерфейсы правильно управляются памятью.
Должна вызываться только один раз для каждого интерфейса iface. Это неявно вызывается при вызове queryAccessibleInterface; вызов этой функции требуется только когда QAccessibleInterfaces инициализируются оператором "new". Это не рекомендуется, в идеале используйте стандартные функции и позвольте queryAccessibleInterface() позаботиться об этом.
Когда необходимо переопределить функцию QAccessibleInterface::child() и вернуть дочерний элемент после его построения, требуется вызов этой функции.
[static] void QAccessible::removeFactory(InterfaceFactory factory)
Удаляет factory из списка установленных InterfaceFactories.
[static] void QAccessible::setRootObject(QObject *object)
Устанавливает корневой объект доступных объектов этого приложения на object. Все остальные доступные объекты доступны с помощью навигации по объектам от корневого объекта.
Обычно, вызывать эту функцию не нужно, так как Qt устанавливает объект QApplication в качестве корневого объекта сразу перед входом в цикл событий в QApplication::exec().
Используйте QAccessible::installRootObjectHandler(), чтобы перенаправить вызов функции на пользовательскую функцию-обработчик.
См. такжеqueryAccessibleInterface().
END_OF_DOCUMENT_MARKER
[static] Id QAccessible::uniqueId(QAccessibleInterface *iface)
Возвращает уникальный идентификатор для QAccessibleInterface iface.
[static] void QAccessible::updateAccessibility(QAccessibleEvent *event)
Уведомляет об изменении, которое может быть актуально для клиентов доступности.
event содержит подробности об изменении. К ним относятся источник изменения и характер изменения. event должен содержать достаточно информации для предоставления осмысленных уведомлений.
Например, тип ValueChange указывает, что положение ползунка было изменено.
Вызывайте эту функцию всякий раз, когда состояние вашего доступного объекта или одного из его подэлементов было изменено либо программно (например, вызовом QLabel::setText()), либо в результате взаимодействия пользователя.
Если нет инструментов доступности, которые слушают это событие, затраты на производительность при вызове этой функции незначительны, но если определение параметров вызова дорогостояще, вы можете проверить QAccessible::isActive(), чтобы избежать ненужных вычислений.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qaccessible.html