En esta página

QAccessible Class

La clase QAccessible proporciona enums y funciones estáticas relacionadas con la accesibilidad. Más...

Cabecera: #include <QAccessible>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Tipos Públicos

struct State
(since 6.8) enum class AnnouncementPoliteness { Polite, Assertive }
(since 6.8) enum class Attribute { Custom, Level, Locale, Orientation }
enum Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, Announcement, …, VisibleDataChanged }
Id
InterfaceFactory
enum InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface, …, AttributesInterface }
flags Relation
enum RelationFlag { Label, Labelled, Controller, Controlled, DescriptionFor, …, AllRelations }
enum Role { AlertMessage, Animation, Application, Assistant, BlockQuote, …, Window }
enum Text { Name, Description, Value, Help, Accelerator, …, Identifier }
enum TextBoundaryType { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary }

Miembros públicos estáticos

QAccessibleInterface *accessibleInterface(QAccessible::Id id)
void deleteAccessibleInterface(QAccessible::Id id)
void installFactory(QAccessible::InterfaceFactory factory)
bool isActive()
QAccessibleInterface *queryAccessibleInterface(QObject *object)
QAccessible::Id registerAccessibleInterface(QAccessibleInterface *iface)
void removeFactory(QAccessible::InterfaceFactory factory)
void setRootObject(QObject *object)
QAccessible::Id uniqueId(QAccessibleInterface *iface)
void updateAccessibility(QAccessibleEvent *event)

Descripción Detallada

Esta clase es parte de Accesibilidad para Aplicaciones QWidget.

Las aplicaciones accesibles pueden ser utilizadas por personas que no pueden utilizar aplicaciones por medios convencionales.

Las funciones de esta clase se utilizan para la comunicación entre aplicaciones accesibles (también llamadas Servidores AT) y herramientas de accesibilidad (Clientes AT), como lectores de pantalla y visualizadores braille. Los clientes y los servidores se comunican de la siguiente manera

  • Los servidores AT notifican eventos a los clientes mediante llamadas a la función updateAccessibility().
  • Los clientes AT solicitan información sobre los objetos del servidor. La clase QAccessibleInterface es la interfaz central y encapsula esta información en una API virtual pura. Qt proporciona implementaciones de la interfaz a través de la API queryAccessibleInterface().

La comunicación entre servidores y clientes se inicializa mediante la función setRootObject(). Se pueden instalar punteros de función para sustituir o ampliar el comportamiento predeterminado de las funciones estáticas de QAccessible.

Qt es compatible con Microsoft Active Accessibility (MSAA), macOS Accessibility y el estándar Unix/X11 AT-SPI. Otros backends pueden ser soportados usando QAccessibleBridge.

En la implementación Unix/X11 AT-SPI, las aplicaciones se vuelven accesibles cuando se cumplen dos condiciones:

  • la propiedad org.a11y.Status.IsEnabled DBus es verdadera
  • la propiedad DBus org.a11y.Status.ScreenReaderEnabled es verdadera

Una alternativa a establecer las propiedades AT-SPI de DBus es establecer la variable de entorno QT_LINUX_ACCESSIBILITY_ALWAYS_ON.

Además de las funciones estáticas de QAccessible, Qt ofrece una interfaz genérica, QAccessibleInterface, que puede utilizarse para envolver todos los widgets y objetos (por ejemplo, QPushButton). Esta interfaz única proporciona todos los metadatos necesarios para las tecnologías de asistencia. Qt proporciona implementaciones de esta interfaz para sus widgets incorporados como plugins.

Cuando desarrolles widgets personalizados, puedes crear subclases personalizadas de QAccessibleInterface y distribuirlas como plugins (usando QAccessiblePlugin) o compilarlas en la aplicación. Del mismo modo, el soporte predefinido de accesibilidad de Qt puede construirse como plugin (por defecto) o directamente en la librería Qt. La principal ventaja de utilizar plugins es que las clases de accesibilidad sólo se cargan en memoria si realmente se utilizan; no ralentizan el caso común en el que no se utiliza ninguna tecnología de asistencia.

Qt también incluye dos clases de conveniencia, QAccessibleObject y QAccessibleWidget, que heredan de QAccessibleInterface y proporcionan el mínimo común denominador de metadatos (por ejemplo, geometría del widget, título de la ventana, texto básico de ayuda). Puede utilizarlas como clases base cuando envuelva sus subclases personalizadas QObject o QWidget.

Véase también QAccessibleInterface.

Documentación de tipos de miembros

[since 6.8] enum class QAccessible::AnnouncementPoliteness

Este enum describe la prioridad de los anuncios que utiliza QAccessibleAnnouncementEvent.

Con QAccessible::AnouncementPoliteness::Polite, las tecnologías de apoyo deben anunciar el mensaje en la siguiente oportunidad oportuna, como al final de la frase actual o cuando el usuario hace una pausa al teclear.

Si se especifica QAccessible::AnouncementPoliteness::Assertive, las tecnologías de apoyo deben avisar al usuario inmediatamente.

Dado que una interrupción puede desorientar al usuario o hacer que no termine su tarea actual, no debe utilizarse QAccessible::AnouncementPoliteness::Assertive a menos que la interrupción sea imperativa.

ConstanteValorDescripción
QAccessible::AnnouncementPoliteness::Polite0El anuncio tiene prioridad normal.
QAccessible::AnnouncementPoliteness::Assertive1El anuncio tiene prioridad alta y debe notificar al usuario inmediatamente, incluso si eso significa interrumpir la tarea actual del usuario.

Este enum se introdujo en Qt 6.8.

Véase también QAccessibleAnnouncementEvent.

[since 6.8] enum class QAccessible::Attribute

Este enum describe diferentes tipos de atributos utilizados por QAccessibleAttributesInterface.

Estos atributos son comparables al concepto de propiedades/atributos (objeto) que se encuentra en ARIA, AT-SPI2, IAccessible, UIA y NSAccessibility y se asignan a su homólogo de plataforma cuando procede.

Cada atributo se gestiona como un par clave-valor, y los valores de esta enumeración se utilizan como claves.

Los valores de los atributos se representan en QVariant. El tipo del valor almacenado en QVariant es fijo y se especifica a continuación para cada uno de los tipos de atributos.

ConstanteValorDescripción
QAccessible::Attribute::Custom0Tipo de valor: QHash<QString, QString> El atributo Custom es especial en el sentido de que puede representar eficazmente varios atributos a la vez, ya que él mismo es un QHash utilizado para representar pares clave-valor. En el caso de las plataformas que admiten pares clave-valor personalizados para los atributos, los establecidos en el atributo Custom se transfieren a la capa de la plataforma sin aplicar ninguna traducción a los atributos específicos de la plataforma. En general, deben utilizarse los otros atributos, más fuertemente tipados. Este atributo puede utilizarse, por ejemplo, para crear prototipos antes de añadir oficialmente un nuevo valor de enumeración para una característica específica.
QAccessible::Attribute::Level1tipo de valor: int Define el nivel jerárquico de un elemento dentro de una estructura, por ejemplo, el nivel de encabezamiento de un título. Este atributo coincide conceptualmente con la propiedad "aria-level" de ARIA.
QAccessible::Attribute::Locale (since Qt 6.10)2tipo de valor: QLocale Configuración regional del elemento. Puede utilizarse para especificar que un elemento tiene una configuración regional distinta de la configuración regional por defecto de la aplicación, por ejemplo, para documentos o párrafos de un documento que utilizan un idioma distinto del idioma de la interfaz de usuario de la aplicación.
QAccessible::Attribute::Orientation (since Qt 6.11)3tipo de valor: Qt::Orientation Orientación del elemento. Este atributo coincide conceptualmente con la propiedad "aria-orientation" de ARIA.

Este enum se introdujo en Qt 6.8.

Véase también QAccessibleAttributesInterface.

enum QAccessible::Event

Este tipo enum define los tipos de eventos accesibles.

ConstanteValorDescripción
QAccessible::AcceleratorChanged0x80C0Se ha cambiado el acelerador de teclado de una acción.
QAccessible::ActionChanged0x0101Se ha modificado una acción.
QAccessible::ActiveDescendantChanged0x0102
QAccessible::Alert0x0002Una alerta del sistema (por ejemplo, un mensaje de QMessageBox)
QAccessible::Announcement (since Qt 6.8)0x80D0Se ha solicitado el anuncio de un mensaje.
QAccessible::AttributeChanged0x0103
QAccessible::ContextHelpEnd0x000DLa ayuda contextual (QWhatsThis) para un objeto ha finalizado.
QAccessible::ContextHelpStart0x000CSe inicia la ayuda contextual (QWhatsThis) para un objeto.
QAccessible::DefaultActionChanged0x80B0La QAccessible::Action predeterminada para el objeto accesible ha cambiado.
QAccessible::DescriptionChanged0x800DEl QAccessible::Description del objeto ha cambiado.
QAccessible::DialogEnd0x0011Se ha ocultado un diálogo (QDialog).
QAccessible::DialogStart0x0010Un diálogo (QDialog) se ha hecho visible.
QAccessible::DocumentContentChanged0x0104Se ha modificado el contenido de un documento de texto.
QAccessible::DocumentLoadComplete0x0105Se ha cargado un documento.
QAccessible::DocumentLoadStopped0x0106Se ha detenido la carga de un documento.
QAccessible::DocumentReload0x0107Se ha iniciado una recarga de documento.
QAccessible::DragDropEnd0x000FUna operación de arrastrar y soltar está a punto de finalizar.
QAccessible::DragDropStart0x000ESe va a iniciar una operación de arrastrar y soltar.
QAccessible::Focus0x8005Un objeto ha obtenido el foco del teclado.
QAccessible::ForegroundChanged0x0003Se ha activado una ventana (es decir, una nueva ventana ha obtenido el foco en el escritorio).
QAccessible::HelpChanged0x80A0La propiedad de texto QAccessible::Help de un objeto ha cambiado.
QAccessible::HyperlinkEndIndexChanged0x0108Se ha modificado la posición final del texto visualizado de un enlace de hipertexto.
QAccessible::HyperlinkNumberOfAnchorsChanged0x0109El número de anclas de un enlace de hipertexto ha cambiado, quizás porque el texto mostrado se ha dividido para proporcionar más de un enlace.
QAccessible::HyperlinkSelectedLinkChanged0x010AEl enlace del hipertexto seleccionado ha cambiado.
QAccessible::HyperlinkStartIndexChanged0x010DHa cambiado la posición inicial del texto visualizado de un enlace hipertexto.
QAccessible::HypertextChanged0x010EEl texto visualizado de un enlace hipertexto ha cambiado.
QAccessible::HypertextLinkActivated0x010BSe ha activado un enlace hipertexto, por ejemplo haciendo clic o pulsando una tecla.
QAccessible::HypertextLinkSelected0x010CSe ha seleccionado un enlace hipertexto.
QAccessible::HypertextNLinksChanged0x010F
QAccessible::IdentifierChanged (since Qt 6.8)0x80E0El identificador de un objeto ha cambiado.
QAccessible::LocationChanged0x800BHa cambiado la posición de un objeto en la pantalla.
QAccessible::MenuCommand0x0018Se ha activado un elemento del menú.
QAccessible::MenuEnd0x0005Se ha cerrado un menú (Qt utiliza PopupMenuEnd para todos los menús).
QAccessible::MenuStart0x0004Se ha abierto un menú en la barra de menús (Qt utiliza PopupMenuStart para todos los menús).
QAccessible::NameChanged0x800CLa propiedad QAccessible::Name de un objeto ha cambiado.
QAccessible::ObjectAttributeChanged0x0110
QAccessible::ObjectCreated0x8000Se ha creado un nuevo objeto.
QAccessible::ObjectDestroyed0x8001Se elimina un objeto.
QAccessible::ObjectHide0x8003Se oculta un objeto; por ejemplo, con QWidget::hide(). Los hijos que tenga el objeto que se oculta no envían este evento. No se envía cuando un objeto se oculta porque está siendo ocultado por otros.
QAccessible::ObjectReorder0x8004Un diseño o vista de elemento ha añadido, eliminado o movido un objeto (Qt no utiliza este evento).
QAccessible::ObjectShow0x8002Se muestra un objeto; por ejemplo, con QWidget::show().
QAccessible::PageChanged0x0111
QAccessible::ParentChanged0x800FEl objeto padre de un objeto ha cambiado.
QAccessible::PopupMenuEnd0x0007Se ha cerrado un menú emergente.
QAccessible::PopupMenuStart0x0006Se ha abierto un menú emergente.
QAccessible::RoleChanged (since Qt 6.11)0x80E1Se ha modificado la función de un objeto.
QAccessible::ScrollingEnd0x0013Una operación de desplazamiento de la barra de desplazamiento ha finalizado (el ratón ha soltado el control deslizante).
QAccessible::ScrollingStart0x0012Una operación de desplazamiento de la barra de desplazamiento está a punto de comenzar; esto puede deberse, por ejemplo, a una pulsación del ratón sobre el control deslizante.
QAccessible::SectionChanged0x0112
QAccessible::SelectionAdd0x8007Se ha añadido un elemento a la selección en una vista de elementos.
QAccessible::SelectionRemove0x8008Se ha eliminado un elemento de la selección de una vista de elementos.
QAccessible::Selection0x8006Se ha modificado la selección en una vista de menú o de elemento.
QAccessible::SelectionWithin0x8009Se han producido varios cambios en una selección en una vista de elementos.
QAccessible::SoundPlayed0x0001Un objeto ha reproducido un sonido.
QAccessible::TableCaptionChanged0x0113Se ha modificado la descripción de una tabla.
QAccessible::TableColumnDescriptionChanged0x0114Se ha modificado la descripción de una columna de la tabla, que normalmente se encuentra en la cabecera de la columna.
QAccessible::TableColumnHeaderChanged0x0115Se ha modificado la cabecera de una columna de la tabla.
QAccessible::TableRowDescriptionChanged0x0117Se ha modificado la descripción de una fila de la tabla, que suele aparecer en la cabecera de la fila.
QAccessible::TableRowHeaderChanged0x0118Se ha modificado la cabecera de una fila de la tabla.
QAccessible::TableSummaryChanged0x0119Se ha modificado el resumen de una tabla.
QAccessible::TextColumnChanged0x011DSe ha modificado una columna de texto.
QAccessible::VisibleDataChanged0x0122

Los valores de este enum son los mismos que los definidos en las especificaciones IAccessible2 y MSAA.

QAccessible::Id

Sinónimo de unsigned, utilizado por la caché QAccessibleInterface.

QAccessible::InterfaceFactory

Se trata de un typedef para un puntero a una función con la siguiente firma:

typedef QAccessibleInterface *myFactoryFunction(const QString &key, QObject *);

La función recibe un puntero QString y otro QObject, donde QString es la clave que identifica la interfaz. El QObject se utiliza para pasar al QAccessibleInterface para que pueda mantener una referencia a él.

Si la clave y el QObject no tienen un QAccessibleInterface correspondiente, se devolverá nullptr.

Las fábricas instaladas son llamadas por queryAccessibilityInterface() hasta que una proporciona una interfaz.

enum QAccessible::InterfaceType

QAccessibleInterface admite varias subinterfaces. Para proporcionar más información sobre algunos objetos, su representación accesible debe implementar una o varias de estas interfaces.

Nota: Al subclasificar una de estas interfaces, es necesario implementar QAccessibleInterface::interface_cast().

ConstanteValorDescripción
QAccessible::TextInterface0Para texto que admite selecciones o tiene más de una línea. Las etiquetas simples no necesitan implementar esta interfaz.
QAccessible::ValueInterface2Para objetos que se utilizan para manipular un valor, por ejemplo, un control deslizante o una barra de desplazamiento.
QAccessible::ActionInterface3Objetos interactivos que permiten al usuario realizar una acción. Básicamente, todo lo que permita, por ejemplo, la interacción con el ratón.
QAccessible::TableInterface5Para listas, tablas y árboles.
QAccessible::TableCellInterface6Para celdas en un objeto TableInterface.
QAccessible::HyperlinkInterface7Para nodos de hipervínculo (normalmente incrustados como hijos de nodos de texto).
QAccessible::SelectionInterface (since Qt 6.5)8Para objetos no textuales que admiten la selección de objetos hijos.
QAccessible::AttributesInterface (since Qt 6.8)9Para objetos que admiten atributos específicos de objeto.

Véase también QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface, QAccessibleSelectionInterface, y QAccessibleAttributesInterface.

enum QAccessible::RelationFlag
flags QAccessible::Relation

Este tipo enum define indicadores de bits que pueden combinarse para indicar la relación entre dos objetos accesibles. Es utilizado por la función relations(), que devuelve una lista de todas las interfaces relacionadas del objeto llamante, junto con las relaciones de cada objeto.

Cada entrada de la lista es un par std::pair en el que el miembro second almacena el tipo o tipos de relación entre el objeto returned representado por el miembro first y la interfaz/objeto origin (el que llama).

En la tabla siguiente, el objeto returned se refiere al objeto de la lista devuelta, y el objeto origin es el representado por la interfaz llamante.

ConstanteValorDescripción
QAccessible::Label0x00000001El objeto returned es la etiqueta del objeto origin.
QAccessible::Labelled0x00000002El objeto returned es etiquetado por el objeto origin.
QAccessible::Controller0x00000004El objeto returned controla al objeto origin.
QAccessible::Controlled0x00000008El objeto returned es controlado por el objeto origin.
QAccessible::DescriptionFor (since Qt 6.6)0x00000010El objeto returned proporciona una descripción para el objeto origin.
QAccessible::Described (since Qt 6.6)0x00000020El objeto returned es descrito por el objeto origin.
QAccessible::FlowsFrom (since Qt 6.6)0x00000040El contenido fluye lógicamente del objeto returned al objeto origin.
QAccessible::FlowsTo (since Qt 6.6)0x00000080El contenido fluye lógicamente hacia el objeto returned desde el objeto origin.
QAccessible::AllRelations0xffffffffSe utiliza como máscara para especificar que nos interesa información sobre todas las relaciones

Las implementaciones de relations() devuelven una combinación de estos indicadores. Algunos valores son mutuamente excluyentes.

El tipo Relation es un typedef para QFlags<RelationFlag>. Almacena una combinación OR de valores RelationFlag.

enum QAccessible::Role

Este enum define el rol de un objeto accesible. Los roles son:

ConstanteValorDescripción
QAccessible::AlertMessage0x00000008Un objeto que se utiliza para alertar al usuario.
QAccessible::Animation0x00000036Un objeto que muestra una animación.
QAccessible::Application0x0000000EVentana principal de la aplicación.
QAccessible::Assistant0x00000020Objeto que proporciona ayuda interactiva.
QAccessible::BlockQuote (since Qt 6.9)0x431Una sección de contenido que se cita de otra fuente.
QAccessible::Border0x00000013Un objeto que representa un borde.
QAccessible::ButtonDropDown0x00000038Un botón que despliega una lista de elementos.
QAccessible::ButtonDropGrid0x0000003AUn botón que despliega una cuadrícula.
QAccessible::ButtonMenu0x00000039Un botón que despliega un menú.
QAccessible::Canvas0x00000035Un objeto que muestra gráficos con los que el usuario puede interactuar.
QAccessible::Caret0x00000007Objeto que representa el cursor del sistema.
QAccessible::Cell0x0000001DUna celda de una tabla.
QAccessible::Chart0x00000011Un objeto que muestra una representación gráfica de datos.
QAccessible::CheckBox0x0000002CUn objeto que representa una opción que puede marcarse o desmarcarse. Algunas opciones ofrecen un estado "mixto", por ejemplo, ni marcada ni desmarcada.
QAccessible::Client0x0000000AEl área cliente de una ventana.
QAccessible::Clock0x0000003DUn reloj que muestra la hora.
QAccessible::ColorChooser0x404Un cuadro de diálogo que permite al usuario elegir un color.
QAccessible::Column0x0000001BUna columna de celdas, normalmente dentro de una tabla.
QAccessible::ColumnHeader0x00000019Encabezamiento de una columna de datos.
QAccessible::ComboBox0x0000002EUna lista de opciones que el usuario puede seleccionar.
QAccessible::ComplementaryContent0x42CUna parte del documento o página web que es complementaria al contenido principal, normalmente un punto de referencia (véase WAI-ARIA).
QAccessible::Cursor0x00000006Un objeto que representa el cursor del ratón.
QAccessible::Desktop0x00000082Objeto que representa el escritorio o espacio de trabajo.
QAccessible::Dial0x00000031Un objeto que representa un dial o mando.
QAccessible::Dialog0x00000012Un cuadro de diálogo.
QAccessible::Document0x0000000FUn documento, por ejemplo en una aplicación ofimática.
QAccessible::EditableText0x0000002ATexto editable, como una línea o una edición de texto.
QAccessible::Equation0x00000037Un objeto que representa una ecuación matemática.
QAccessible::Footer0x40EUn pie de página (normalmente en documentos).
QAccessible::Form0x410Un formulario web que contiene controles.
QAccessible::Graphic0x00000028Un gráfico o imagen, por ejemplo un icono.
QAccessible::Grip0x00000004Un asa que el usuario puede arrastrar para cambiar el tamaño de los widgets.
QAccessible::Grouping0x00000014Un objeto que representa una agrupación lógica de otros objetos.
QAccessible::Heading0x414Un título en un documento.
QAccessible::HelpBalloon0x0000001FUn objeto que muestra ayuda en una ventana independiente de corta duración.
QAccessible::HotkeyField0x00000032Un campo de acceso directo que permite al usuario introducir una secuencia de teclas.
QAccessible::Indicator0x00000027Un indicador que representa un valor o elemento actual.
QAccessible::LayeredPane0x00000080Un objeto que puede contener hijos en capas, por ejemplo, en una pila.
QAccessible::Link0x0000001EUn enlace a otra cosa.
QAccessible::List0x00000021Una lista de elementos, de la que el usuario puede seleccionar uno o más elementos.
QAccessible::ListItem0x00000022Un elemento de una lista de elementos.
QAccessible::MenuBar0x00000002Una barra de menús desde la que el usuario puede abrir menús.
QAccessible::MenuItem0x0000000CUn elemento de un menú o de una barra de menús.
QAccessible::NoRole0x00000000El objeto no tiene función. Suele indicar un objeto no válido.
QAccessible::Note0x41BUna sección cuyo contenido es parentético o accesorio al contenido principal del recurso.
QAccessible::Notification0x00000086Un objeto que representa una notificación (por ejemplo, en la bandeja del sistema). Esta función sólo tiene efecto en Linux.
QAccessible::PageTab0x00000025Una pestaña de página que el usuario puede seleccionar para cambiar de página en un diálogo.
QAccessible::PageTabList0x0000003CUna lista de pestañas de página.
QAccessible::Paragraph0x00000083Un párrafo de texto (normalmente se encuentra en los documentos).
QAccessible::Pane0x00000010Un contenedor genérico.
QAccessible::PopupMenu0x0000000BUn menú que enumera las opciones que el usuario puede seleccionar para realizar una acción.
QAccessible::ProgressBar0x00000030Un objeto que muestra el progreso de una operación en curso.
QAccessible::PropertyPage0x00000026Una página de propiedades en la que el usuario puede cambiar opciones y configuraciones.
QAccessible::Button0x0000002BUn botón.
QAccessible::RadioButton0x0000002DUn objeto que representa una opción que es mutuamente excluyente con otras opciones.
QAccessible::Row0x0000001CUna fila de celdas, normalmente dentro de una tabla.
QAccessible::RowHeader0x0000001AUna cabecera para una fila de datos.
QAccessible::ScrollBar0x00000003Una barra de desplazamiento, que permite al usuario desplazarse por el área visible.
QAccessible::Section0x00000085Una sección (en un documento).
QAccessible::Separator0x00000015Un separador que divide el espacio en áreas lógicas.
QAccessible::Slider0x00000033Un control deslizante que permite al usuario seleccionar un valor dentro de un rango determinado.
QAccessible::Sound0x00000005Un objeto que representa un sonido.
QAccessible::SpinBox0x00000034Un widget de caja giratoria que permite al usuario introducir un valor dentro de un rango determinado.
QAccessible::Splitter0x0000003EUn divisor que distribuye el espacio disponible entre sus widgets hijos.
QAccessible::StaticText0x00000029Texto estático, como etiquetas para otros widgets.
QAccessible::StatusBar0x00000017Una barra de estado.
QAccessible::Switch (since Qt 6.11)0x00000087Un interruptor que puede activarse o desactivarse.
QAccessible::Table0x00000018Una tabla que representa datos en una cuadrícula de filas y columnas.
QAccessible::Terminal0x00000081Un terminal o interfaz de línea de comandos.
QAccessible::TitleBar0x00000001La barra de título de una ventana.
QAccessible::ToolBar0x00000016Una barra de herramientas, que agrupa widgets a los que el usuario accede con frecuencia.
QAccessible::ToolTip0x0000000DUna punta de herramienta que proporciona información sobre otros objetos.
QAccessible::Tree0x00000023Una lista de elementos en una estructura de árbol.
QAccessible::TreeItem0x00000024Un elemento de una estructura de árbol.
QAccessible::UserRole0x0000ffffEl primer valor que se utiliza para los roles definidos por el usuario.
QAccessible::WebDocument0x00000084Documento HTML, normalmente en un navegador.
QAccessible::Whitespace0x0000003BEspacio en blanco entre otros objetos.
QAccessible::Window0x00000009Una ventana de nivel superior.

enum QAccessible::Text

Este enum especifica la información de cadena que devuelve un objeto accesible.

ConstanteValorDescripción
QAccessible::Name0Nombre del objeto. Los clientes accesibles pueden utilizarlo como identificador o como descripción breve.
QAccessible::Description1Texto breve que describe el objeto.
QAccessible::Value2Valor del objeto.
QAccessible::Help3Un texto más largo con información sobre cómo utilizar el objeto.
QAccessible::Accelerator4El atajo de teclado que ejecuta la acción por defecto del objeto.
QAccessible::UserText0x0000ffffEl primer valor que se utilizará para el texto definido por el usuario.
QAccessible::Identifier (since Qt 6.8)6Un identificador del objeto para, por ejemplo, pruebas de interfaz de usuario.

enum QAccessible::TextBoundaryType

Este enum describe distintos tipos de límites de texto. Sigue la API IAccessible2 y se utiliza en QAccessibleTextInterface.

ConstanteValorDescripción
QAccessible::CharBoundary0Utiliza caracteres individuales como límite.
QAccessible::WordBoundary1Utiliza palabras como límite.
QAccessible::SentenceBoundary2Utiliza frases como límite.
QAccessible::ParagraphBoundary3Utiliza párrafos como límite.
QAccessible::LineBoundary4Utiliza nuevas líneas como límite.
QAccessible::NoBoundary5Sin límite (utilizar todo el texto).

Véase también QAccessibleTextInterface.

Documentación de las funciones miembro

[static] QAccessibleInterface *QAccessible::accessibleInterface(QAccessible::Id id)

Devuelve el QAccessibleInterface perteneciente al id.

Devuelve nullptr si el id no es válido.

[static] void QAccessible::deleteAccessibleInterface(QAccessible::Id id)

Elimina de la caché la interfaz perteneciente a este id y la borra. El id deja de ser válido y puede ser reutilizado por la caché.

[static] void QAccessible::installFactory(QAccessible::InterfaceFactory factory)

Instala la fábrica InterfaceFactory factory . La última fábrica añadida es la primera utilizada por queryAccessibleInterface().

[static] bool QAccessible::isActive()

Devuelve true si la plataforma solicitó información de accesibilidad.

Esta función devolverá false hasta que una herramienta como un lector de pantalla haya accedido al marco de accesibilidad. Aún es posible utilizar QAccessible::queryAccessibleInterface() aunque la accesibilidad no esté activa. Pero no se enviarán notificaciones a la plataforma.

Se recomienda utilizar esta función para evitar costosas notificaciones a través de updateAccessibility() cuando no son necesarias.

[static] QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)

Si existe una implementación de QAccessibleInterface para la clase object, esta función devuelve un puntero a la implementación; en caso contrario, devuelve nullptr.

La función llama a todas las funciones de fábrica instaladas (de la instalada más recientemente a la instalada menos recientemente) hasta encontrar una que proporcione una interfaz para la clase de object. Si ninguna fábrica puede proporcionar una implementación de accesibilidad para la clase, la función carga los plugins de accesibilidad instalados y comprueba si alguno de los plugins puede proporcionar la implementación.

Si no hay disponible ninguna implementación para la clase del objeto, la función intenta encontrar una implementación para la clase padre del objeto, utilizando la estrategia anterior.

Todas las interfaces son gestionadas por una caché interna y no deben ser eliminadas.

[static] QAccessible::Id QAccessible::registerAccessibleInterface(QAccessibleInterface *iface)

Llame a esta función para asegurarse de que las interfaces creadas manualmente se gestionan correctamente en memoria.

Sólo debe llamarse exactamente una vez por interfaz iface. Se llama implícitamente cuando se llama a queryAccessibleInterface, llamar a esta función sólo es necesario cuando se instancian QAccessibleInterfaces con el operador "new". Esto no es recomendable, siempre que sea posible utiliza las funciones por defecto y deja que queryAccessibleInterface() se encargue de esto.

Cuando sea necesario reimplementar la función QAccessibleInterface::child() y devolver el hijo después de construirlo, es necesario llamar a esta función.

[static] void QAccessible::removeFactory(QAccessible::InterfaceFactory factory)

Elimina factory de la lista de InterfaceFactories instaladas.

[static] void QAccessible::setRootObject(QObject *object)

Establece el objeto raíz de los objetos accesibles de esta aplicación en object. Todos los demás objetos accesibles son alcanzables utilizando la navegación de objetos desde el objeto raíz.

Normalmente, no es necesario llamar a esta función, porque Qt establece el objeto QApplication como objeto raíz inmediatamente antes de entrar en el bucle de eventos en QApplication::exec().

Usa QAccessible::installRootObjectHandler() para redirigir la llamada a la función a una función manejadora personalizada.

Véase también queryAccessibleInterface().

[static] QAccessible::Id QAccessible::uniqueId(QAccessibleInterface *iface)

Devuelve el identificador único de QAccessibleInterface iface .

[static] void QAccessible::updateAccessibility(QAccessibleEvent *event)

Notifica un cambio que puede ser relevante para los clientes de accesibilidad.

event proporciona detalles sobre el cambio. Entre ellos, la fuente del cambio y la naturaleza del mismo. event debe contener información suficiente para que las notificaciones tengan sentido.

Por ejemplo, el tipo ValueChange indica que se ha modificado la posición de un control deslizante.

Llama a esta función siempre que el estado de tu objeto accesible o de uno de sus subelementos haya cambiado, ya sea mediante programación (por ejemplo, llamando a QLabel::setText()) o por interacción del usuario.

Si no hay herramientas de accesibilidad escuchando este evento, la penalización de rendimiento por llamar a esta función es pequeña, pero si determinar los parámetros de la llamada es costoso puedes probar QAccessible::isActive() para evitar cálculos innecesarios.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.