En esta página

Accesibilidad para aplicaciones Qt Quick

Introducción

En esta página se explica cómo añadir metadatos de accesibilidad a las aplicaciones Qt Quick. Las aplicaciones Qt Quick y muchos de sus tipos QML ya incorporan funciones de accesibilidad. Por ejemplo, los controles de botón tienen accesibilidad mediante el teclado, lo que permite desplazarse entre los controles y activarlos con la tecla Retorno o Intro. Por lo tanto, al utilizar los controles existentes, ya tiene un buen comienzo para hacer que su aplicación Qt Quick sea accesible. En algunos casos, sin embargo, puede que necesites aclarar la función de un elemento QML.

Al igual que para hacer accesibles las aplicaciones web, se asignan propiedades a los elementos de la interfaz de usuario, en este caso, a los elementos QML. Estas propiedades exponen metadatos a las herramientas de accesibilidad que, junto con temas de color de alto contraste cuidadosamente elegidos y otras señales visuales, ayudan al usuario a interactuar con su aplicación Qt Quick.

En general, las herramientas de accesibilidad se interesan por tres categorías diferentes de metadatos:

  • Propiedades: El cliente de accesibilidad lee metadatos sobre objetos accesibles. En algunos casos, el cliente de accesibilidad también puede modificar estas propiedades, como el texto de una línea de edición.
  • Acciones: El cliente de accesibilidad invoca acciones, como pulsar un botón.
  • Relaciones y navegación: El cliente de accesibilidad se desplaza de un objeto accesible a otro, utilizando las relaciones entre objetos.

Para las aplicaciones Qt Quick, el tipo más importante que hay que tener en cuenta es el tipo QML Accessible, que añade metadatos de accesibilidad a los elementos QML.

Añadir metadatos de accesibilidad a elementos QML

Para añadir metadatos de accesibilidad a elementos QML, ya sea a tipos existentes proporcionados por Qt o a tipos personalizados definidos en C++, utilice el tipo QML Accessible. Las propiedades más importantes del tipo QML Accessible son name, description, y role.

He aquí un ejemplo de adición de metadatos de accesibilidad a un tipo Text, que, en este caso, representa una ecuación matemática:

Text {
    id: myMathEquation
    text: "y = 8x - 9"
    font.family: "Helvetica"

    Accessibility.role: Accessible.Equation
    Accessibility.name: myMathEquation.text
    Accessibility.description: qsTr("Linear equation")
    Accessible.onPressAction: {
        // Highlight the x variable
        ...
    }
}

role se establece en Equation para indicar lo que representa el tipo Text. name es la propiedad más importante, que está vinculada al texto del botón. Para proporcionar información adicional sobre un elemento QML, utilice la propiedad description. El controlador de señales Accessible.pressAction, que pueden invocar las herramientas de accesibilidad para activar el botón, debe tener el mismo efecto que pulsar o hacer clic en el texto.

Mientras que el contenido textual es intrínsecamente accesible, el contenido multimedia no lo es. Por eso es importante proporcionar los metadatos de accesibilidad necesarios a contenidos multimedia como imágenes, vídeos y audio. Este es un ejemplo de cómo proporcionar metadatos de accesibilidad a una imagen que representa un gráfico circular:

Image {
    source: "pie-chart-683.png"
    Accessibility.role: Accessible.Chart
    Accessibility.name: qsTr("Pie chart")
    Accessibility.description: qsTr("Pie chart that shows the distribution
    of sales from three store locations: Durban representing 60 percent,
    Johannesburg 20 percent, and Cape Town 20 percent")
    Accessible.onPressAction: {
        // Expand the image
        ...
    }
}

Para obtener más información, consulte en Accessible la lista de propiedades que puede añadir a elementos QML.

© 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.