Класс QAccessibleInterface
Класс QAccessibleInterface определяет интерфейс, который предоставляет информацию об объектах, доступных для использования. Подробнее...
| Заголовок: | #include <QAccessibleInterface> |
| qmake: | QT += gui |
| Наследуется от: |
Открытые функции
| QAccessibleActionInterface * | actionInterface() |
| virtual QColor | backgroundColor() const |
| virtual QAccessibleInterface * | child(int index) const = 0 |
| virtual QAccessibleInterface * | childAt(int x, int y) const = 0 |
| virtual int | childCount() const = 0 |
| virtual QAccessibleInterface * | focusChild() const |
| virtual QColor | foregroundColor() const |
| virtual int | indexOfChild(const QAccessibleInterface *child) const = 0 |
| virtual void * | interface_cast(QAccessible::InterfaceType type) |
| virtual bool | isValid() const = 0 |
| virtual QObject * | object() const = 0 |
| virtual QAccessibleInterface * | parent() const = 0 |
| virtual QRect | rect() const = 0 |
| virtual QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > | relations(QAccessible::Relation match = QAccessible::AllRelations) const |
| virtual QAccessible::Role | role() const = 0 |
| virtual void | setText(QAccessible::Text t, const QString &text) = 0 |
| virtual QAccessible::State | state() const = 0 |
| QAccessibleTableCellInterface * | tableCellInterface() |
| QAccessibleTableInterface * | tableInterface() |
| virtual QString | text(QAccessible::Text t) const = 0 |
| QAccessibleTextInterface * | textInterface() |
| QAccessibleValueInterface * | valueInterface() |
| virtual QWindow * | window() const |
Защищенные функции
| virtual | ~QAccessibleInterface() |
Подробное описание
Этот класс является частью Доступности для приложений QWidget.
Инструменты доступности (также называемые клиентами AT), такие как программы чтения с экрана или брайлевские дисплеи, требуют информации высокого уровня об объектах, доступных в приложении. Доступные объекты предоставляют специализированные методы ввода-вывода, позволяя пользователям использовать инструменты доступности с активированными приложениями (серверами AT).
Каждый элемент, с которым пользователь должен взаимодействовать или на который должен реагировать, является доступным объектом и должен предоставлять эту информацию. Это в основном визуальные объекты, такие как виджеты и элементы виджетов, но также могут быть содержимым, таким как звуки.
Клиент AT использует три основных понятия для получения информации о любом доступном объекте в приложении:
- Свойства Клиент может читать информацию о доступных объектах. В некоторых случаях клиент также может изменять эти свойства; например, текст в строке ввода.
- Действия Клиент может вызывать действия, такие как нажатие кнопки или .
- Связи и навигация Клиент может переходить от одного доступного объекта к другому, используя связи между объектами.
QAccessibleInterface определяет API для этих трёх понятий.
Связи и навигация
Функции childCount() и indexOfChild() возвращают количество дочерних объектов доступного объекта и индекс дочернего объекта в его родительском объекте. Функция childAt() возвращает дочерний QAccessibleInterface, который находится в заданной позиции. Дочерний объект не обязательно является непосредственным дочерним объектом. Это позволяет обойти промежуточные слои, когда родительский объект уже знает самый верхний дочерний объект. childAt() используется для проверки попадания (поиска объекта под указателем мыши).
Функция relations() предоставляет информацию о связях объекта с другими объектами, а parent() и child() позволяют переходить от одного объекта к другому.
Свойства
Центральным свойством доступных объектов является то, какой роль он имеет. Различные объекты могут иметь одну и ту же роль, например, элемент «Добавить строку» в полосе прокрутки и кнопка «Показать» в диалоговом окне имеют одинаковую роль «кнопка». Роль подразумевает тип взаимодействия, который пользователь может выполнить с элементом пользовательского интерфейса.
Свойство состояния объекта представляет собой комбинацию различных флагов состояния и может описывать как разницу между состоянием объекта и «нормальным» состоянием, например, он может быть недоступным, так и его поведение, например, он может быть выбираемым.
Свойство текста предоставляет текстовую информацию об объекте. Объект обычно имеет имя, но может предоставлять расширенную информацию, такую как описание, текст справки или информацию о любых используемых клавишах быстрого доступа. Некоторые объекты позволяют изменять свойство текста через функцию setText(), но в большинстве случаев эта информация является только для чтения.
Свойство прямоугольника предоставляет информацию о геометрии доступного объекта. Эта информация обычно доступна только для визуальных объектов.
Интерфейсы
Для того, чтобы пользователь мог взаимодействовать с доступным объектом, объект должен реализовывать QAccessibleActionInterface в дополнение к QAccessibleInterface. Объекты, которые поддерживают выбор, могут определять действия для изменения выбора.
Существуют и другие интерфейсы, которые должны быть реализованы по мере необходимости. QAccessibleTextInterface следует использовать для больших текстовых редакторов, таких как просмотр документов. Этот интерфейс не следует реализовывать для меток/строк ввода.
Для ползунков, полос прокрутки и других селекторов численных значений следует реализовывать QAccessibleValueInterface.
Списки, таблицы и деревья должны реализовывать QAccessibleTableInterface.
См. также QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface и QAccessibleTableInterface.
Документация по функциям членов
[virtual protected] QAccessibleInterface::~QAccessibleInterface()
Удаляет QAccessibleInterface.
QAccessibleActionInterface *QAccessibleInterface::actionInterface()
[virtual] QColor QAccessibleInterface::backgroundColor() const
Возвращает цвет фона объекта доступности, если применимо, или недопустимый QColor.
См. также foregroundColor().
[pure virtual] QAccessibleInterface *QAccessibleInterface::child(int index) const
Возвращает доступный дочерний элемент с индексом index. Индекс нулевой. Количество дочерних элементов объекта можно проверить с помощью childCount.
Возвращает nullptr при запросе недопустимого дочернего элемента (например, если дочерний элемент стал недоступным в промежутке).
См. также childCount() и parent().
[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const
Возвращает QAccessibleInterface дочернего элемента, содержащего экранные координаты (x, y). Если в этом месте нет дочерних элементов, эта функция возвращает nullptr. Возвращаемый доступный элемент должен быть дочерним, но необязательно непосредственным.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно отображены).
Все визуальные объекты предоставляют эту информацию.
Для объектов, наследующих QAccessibleObject, предоставляется реализация по умолчанию. Она будет перебирать все дочерние элементы. Если виджет управляет своими дочерними элементами (например, таблица), более эффективной будет специализированная реализация.
См. также rect().
[pure virtual] int QAccessibleInterface::childCount() const
Возвращает количество дочерних элементов, принадлежащих этому объекту. Дочерний элемент может предоставлять информацию об элементах доступности самостоятельно (например, дочерний виджет) или быть подэлементом этого объекта доступности.
Все объекты предоставляют эту информацию.
См. также indexOfChild().
[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const
Возвращает объект, который имеет фокус клавиатуры.
Возвращаемый объект может быть любым потомком, включая сам себя.
[virtual] QColor QAccessibleInterface::foregroundColor() const
Возвращает цвет переднего плана объекта доступности, если применимо, или недействительный QColor.
См. также backgroundColor().
[pure virtual] int QAccessibleInterface::indexOfChild(const QAccessibleInterface *child) const
Возвращает индекс объекта child в списке дочерних элементов этого объекта с нуля или -1, если child не является дочерним элементом этого объекта.
Все объекты предоставляют эту информацию о своих дочерних элементах.
См. также childCount().
[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)
Возвращает специализированный интерфейс доступности type из универсального QAccessibleInterface.
Эта функция должна быть переопределена при предоставлении дополнительной информации о виджете или объекте через специализированные интерфейсы. Например, поле ввода должно реализовывать QAccessibleTextInterface.
См. также QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface и QAccessibleTableCellInterface.
[pure virtual] bool QAccessibleInterface::isValid() const
Возвращает true, если все данные, необходимые для использования этой реализации интерфейса, действительны (например, все указатели не равны null), в противном случае возвращает false.
См. также object().
[pure virtual] QObject *QAccessibleInterface::object() const
Возвращает указатель на QObject, для которого эта реализация интерфейса предоставляет информацию.
См. также isValid().
[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const
Возвращает QAccessibleInterface родительского элемента в иерархии объектов доступности.
Возвращает nullptr если родительский элемент отсутствует (например, для объекта верхнего уровня приложения).
См. также child().
[pure virtual] QRect QAccessibleInterface::rect() const
Возвращает геометрию объекта. Геометрия задана в экранных координатах.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно отображены).
Все визуальные объекты предоставляют эту информацию.
См. также childAt().
[virtual] QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const
Возвращает значимые отношения к другим виджетам. Обычно это не будет возвращать отношения родитель/потомок, если они не обрабатываются каким-либо специальным способом, например, в древовидных представлениях. Как правило, возвращаются отношения labelled-by и label.
Можно отфильтровать отношения, используя match. Самому себе он никогда не должен возвращаться.
[pure virtual] QAccessible::Role QAccessibleInterface::role() const
Возвращает роль объекта. Роль объекта обычно является статической.
Все объекты доступности имеют роль.
[pure virtual] void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)
Устанавливает свойство текста t объекта на text.
Обратите внимание, что свойства текста большинства объектов только для чтения, поэтому вызов этой функции может не иметь эффекта.
См. также text().
[pure virtual] QAccessible::State QAccessibleInterface::state() const
Возвращает текущее состояние объекта. Возвращаемое значение представляет собой комбинацию флагов в перечислении QAccessible::StateFlag.
Все объекты доступности имеют состояние.
QAccessibleTableCellInterface *QAccessibleInterface::tableCellInterface()
QAccessibleTableInterface *QAccessibleInterface::tableInterface()
[pure virtual] QString QAccessibleInterface::text(QAccessible::Text t) const
Возвращает значение свойства текста t объекта.
Свойство QAccessible::Name — строка, используемая клиентами для идентификации, поиска или объявления объекта доступности пользователю. Все объекты должны иметь уникальное имя в рамках своего контейнера. Имя может использоваться клиентами по-разному, поэтому имя должно кратко описывать объект и быть уникальным.
Свойство QAccessible::Description объекта доступности предоставляет текстовую информацию о визуальном представлении объекта. Описание в основном используется для предоставления большего контекста для пользователей с нарушениями зрения, но также используется для поиска по контексту или других приложений. У всех объектов нет описания. Кнопка "ОК" не нуждается в описании, но кнопка инструмента, отображающая изображение смайлика, будет.
Свойство QAccessible::Value объекта доступности представляет собой визуальную информацию, содержащуюся в объекте, например, текст в поле ввода. Обычно значение может быть изменено пользователем. У всех объектов нет значения, например, у статических текстовых меток его нет, а у некоторых объектов состояние уже является значением, например, у переключателей.
Текст QAccessible::Help предоставляет информацию о функции и использовании объекта доступности. Не все объекты предоставляют эту информацию.
Свойство QAccessible::Accelerator — это сочетание клавиш клавиатуры, которое активирует действие по умолчанию объекта. Сочетание клавиш — это подчеркнутый символ в тексте меню, пункта меню или виджета, и это либо сам символ, либо комбинация этого символа и модификатора клавиши, например, Alt, Ctrl или Shift. Элементы управления командами, например, кнопки инструментов, также имеют сочетания клавиш и обычно отображают их в подсказке.
Все объекты предоставляют строку для QAccessible::Name.
См. также setText(), role() и state().
QAccessibleTextInterface *QAccessibleInterface::textInterface()
END_OF_DOCUMENT_MARKERQAccessibleValueInterface *QAccessibleInterface::valueInterface()
[virtual] QWindow *QAccessibleInterface::window() const
Возвращает окно, связанное с базовым объектом. Например, QAccessibleWidget переопределяет это и возвращает windowHandle() QWidget.
Используется на некоторых платформах, чтобы оповещать клиента AT о изменениях состояния. Бэкенд будет проходить по всем предкам до тех пор, пока не найдет окно. (Это означает, что по крайней мере один интерфейс среди предков должен возвращать корректный указатель QWindow).
По умолчанию реализация возвращает nullptr.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qaccessibleinterface.html