Класс 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() |
Подробное описание
Класс QAccessibleInterface определяет интерфейс, который предоставляет информацию об объектах с поддержкой доступности.
Этот класс является частью Доступности для приложений QWidget.
Инструменты доступности (также называемые клиентами AT), такие как программы чтения с экрана или устройства брайлевского письма, требуют высокоуровневой информации об объектах с поддержкой доступности в приложении. Объекты с поддержкой доступности предоставляют специализированные методы ввода и вывода, что позволяет пользователям использовать инструменты доступности с включенными приложениями (серверами AT).
Каждый элемент, с которым пользователь должен взаимодействовать или реагировать на него, является объектом с поддержкой доступности и должен предоставлять эту информацию. Это в основном визуальные объекты, такие как виджеты и элементы виджетов, но также могут быть контентом, таким как звуки.
Клиент AT использует три основных концепции для получения информации о любом объекте с поддержкой доступности в приложении:
- Свойства Клиент может считывать информацию об объектах с поддержкой доступности. В некоторых случаях клиент также может изменять эти свойства, например, текст в поле ввода.
- Действия Клиент может вызывать действия, такие как нажатие кнопки или.
- Отношения и навигация Клиент может переходить от одного объекта с поддержкой доступности к другому, используя отношения между объектами.
Класс QAccessibleInterface определяет API для этих трёх концепций.
Отношения и навигация
Функции childCount() и indexOfChild() возвращают количество дочерних элементов объекта с поддержкой доступности и индекс дочернего объекта в его родительском объекте. Функция childAt() возвращает дочерний QAccessibleInterface, который находится в определённой позиции. Дочерний элемент не обязательно является непосредственным потомком. Это позволяет обходить промежуточные слои, когда родитель уже знает самый верхний дочерний элемент. childAt() используется для проверки попадания (поиск объекта под курсором).
Функция relations() предоставляет информацию об отношениях объекта с другими объектами, а parent() и child() позволяют переходить от одного объекта к другому.
Свойства
Центральным свойством объекта с поддержкой доступности является его role(). Разные объекты могут иметь одинаковый роль, например, и элемент «Добавить строку» в полосе прокрутки, и кнопка OK в диалоговом окне имеют одинаковый роль, «кнопка». Роль подразумевает вид взаимодействия пользователя с элементом пользовательского интерфейса.
Свойство state() объекта — это сочетание различных флагов состояния и может описывать как различие состояния объекта от «нормального» состояния, например, он может быть недоступен, так и то, как он себя ведёт, например, он может быть выбираемым.
Свойство text() предоставляет текстовую информацию об объекте. Объект обычно имеет имя, но может предоставлять расширенную информацию, такую как описание, текст справки или информацию о любых клавишах быстрого доступа, которые он предоставляет. Некоторые объекты позволяют изменять свойство text() через функцию setText(), но эта информация в большинстве случаев является только для чтения.
Свойство rect() предоставляет информацию о геометрии объекта с поддержкой доступности. Эта информация обычно доступна только для визуальных объектов.
Интерфейсы
Для обеспечения возможности взаимодействия пользователя с объектом с поддержкой доступности объект должен реализовывать 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.
Возвращает 0 при запросе несуществующего дочернего элемента (например, если дочерний элемент стал недоступен между тем).
См. также childCount() и parent().
[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const
Возвращает QAccessibleInterface дочернего элемента, который содержит экранные координаты (x, y). Если в этом месте нет дочерних элементов, функция возвращает 0. Возвращаемый доступный элемент должен быть дочерним, но необязательно прямым дочерним элементом.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).
Все визуальные объекты предоставляют эту информацию.
Для объектов, наследующих от 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.
Qt's QLineEdit, например, реализует поддержку доступности в QAccessibleLineEdit.
void *QAccessibleLineEdit::interface_cast(QAccessible::InterfaceType t)
{
if (t == QAccessible::TextInterface)
return static_cast<QAccessibleTextInterface*>(this);
return QAccessibleWidget::interface_cast(t);
} См. также QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface и QAccessibleTableCellInterface.
[pure virtual] bool QAccessibleInterface::isValid() const
Возвращает true если все данные, необходимые для использования этой реализации интерфейса, верны (например, все указатели не равны нулю); в противном случае возвращает false.
См. также object().
[pure virtual] QObject *QAccessibleInterface::object() const
Возвращает указатель на QObject, для которого эта реализация интерфейса предоставляет информацию.
См. также isValid().
[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const
Возвращает QAccessibleInterface родительского элемента в иерархии доступных объектов.
Возвращает 0, если родитель не существует (например, для верхнего уровня приложения).
См. также child().
[pure virtual] QRect QAccessibleInterface::rect() const
Возвращает геометрию объекта. Геометрия представлена в экранных координатах.
Эта функция надёжна только для видимых объектов (невидимые объекты могут быть неверно расположены).
Все визуальные объекты предоставляют эту информацию.
См. также childAt().
[virtual] QVector<QPair<QAccessibleInterface *, QAccessible::Relation> > QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const
Возвращает значимые отношения с другими виджетами. Обычно это не возвращает отношения «родитель/дочерний», если они не обрабатываются особым образом, например, в дереве. Как правило, возвращает отношения «помечается» и «метка».
Можно отфильтровать отношения, используя 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().
END_OF_DOCUMENT_MARKERQAccessibleTextInterface *QAccessibleInterface::textInterface()
QAccessibleValueInterface *QAccessibleInterface::valueInterface()
[virtual] QWindow *QAccessibleInterface::window() const
Возвращает окно, связанное с базовым объектом. Например, QAccessibleWidget переопределяет этот метод и возвращает windowHandle() QWidget.
Используется на некоторых платформах, чтобы оповещать клиента AT об изменениях состояния. Бэкенд будет проходить по всем предкам до тех пор, пока не найдёт окно. (Это означает, что хотя бы один интерфейс среди предков должен вернуть допустимый указатель QWindow).
По умолчанию возвращает 0.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qaccessibleinterface.html