Navegación a través de pruebas de posicionamiento y ubicación de pantalla

Para buscar los elementos secundarios de un objeto o determinar el tamaño de un objeto, los clientes pueden alcanzar los puntos de prueba en la pantalla. Hay dos métodos disponibles:

Uso de IAccessible::accHitTest

Para identificar si un punto está dentro de un objeto, dentro de su elemento secundario o ninguno, los clientes llaman al método IAccessible::accHitTest del objeto primario, pasando las coordenadas de pantalla del punto que se va a probar. En la lista siguiente se describen algunos escenarios típicos:

  • Si los elementos secundarios del objeto se superponen en un punto especificado, IAccessible::accHitTest recupera el elemento secundario superior que parece ocupar visualmente el espacio.
  • Si una ventana cubre un elemento secundario o si el elemento secundario es recortado por el elemento primario, la prueba de posicionamiento del punto cubierto recupera el elemento secundario aunque no esté visible.
  • Si el elemento secundario encontrado en el punto especificado es un objeto accesible, en lugar de un elemento secundario, el método devuelve la interfaz IDispatch del elemento secundario.

Uso de IAccessible::accLocation

Para obtener la ubicación de pantalla de un objeto o uno de los elementos secundarios del objeto, los clientes llaman a IAccessible::accLocation. Este método devuelve las coordenadas del rectángulo delimitador del objeto especificado. Si el objeto no tiene forma de rectángulo, el método devuelve las coordenadas del rectángulo más pequeño que abarca todo el objeto.

La ilustración siguiente muestra la relación entre la región de un objeto no rectangular y su rectángulo delimitador.

Ilustración en la que se muestra la región de un objeto no rerectangular (un círculo) y su rectángulo delimitador.

Nota

IAccessible::accHitTest es más preciso que IAccessible::accLocation porque permite a los clientes determinar la ubicación de los objetos en una base de píxel a píxel en lugar de con rectángulos delimitadores. Esta precisión es útil, por ejemplo, cuando una aplicación recopila información mediante el seguimiento de la ubicación del puntero del mouse.