Navigation durch Treffertests und Bildschirmposition

Clients können Testpunkte auf dem Bildschirm erreichen, um die untergeordneten Elemente eines Objekts zu finden oder die Größe eines Objekts zu bestimmen. Es sind zwei Methoden verfügbar:

Verwenden von IAccessible::accHitTest

Clients rufen die IAccessible::accHitTest-Methode des übergeordneten Objekts auf und übergeben die Bildschirmkoordinaten des punkts, der getestet werden soll, um zu ermitteln, ob sich ein Punkt innerhalb eines Objekts, innerhalb seines untergeordneten Objekts oder keiner davon befindet. In der folgenden Liste werden einige typische Szenarien beschrieben:

  • Wenn sich die untergeordneten Elemente des Objekts an einem angegebenen Punkt überschneiden, ruft IAccessible::accHitTest das oberste untergeordnete Element ab, das visuell den Raum belegt.
  • Wenn ein Fenster ein untergeordnetes Element verdeckt oder das untergeordnete Element vom übergeordneten Element abgeschnitten wird, wird das untergeordnete Element beim Treffertest vom abgedeckten Punkt abgerufen, obwohl es nicht sichtbar ist.
  • Wenn das untergeordnete Element, das am angegebenen Punkt gefunden wird, ein barrierefreies Objekt ist, im Gegensatz zu einem untergeordneten Element, gibt die Methode die IDispatch-Schnittstelle des untergeordneten Elements zurück.

Verwenden von IAccessible::accLocation

Clients rufen IAccessible::accLocationauf, um die Bildschirmposition eines Objekts oder eines der untergeordneten Elemente des Objekts abzurufen. Diese Methode gibt die Koordinaten des umgrenzenden Rechtecks des angegebenen Objekts zurück. Wenn das Objekt nicht wie ein Rechteck gestaltet ist, gibt die Methode die Koordinaten des kleinsten Rechtecks zurück, das das gesamte Objekt umfasst.

Die folgende Abbildung zeigt die Beziehung zwischen dem Bereich eines nicht rechteckigen Objekts und seinem umschließenden Rechteck.

Abbildung, die den Bereich eines nicht ectangular-Objekts (einen Kreis) und sein umschließendes Rechteck zeigt.

Hinweis

IAccessible::accHitTest ist präziser als IAccessible::accLocation, da Clients damit die Position von Objekten pixelweise bestimmen können, anstatt mit umgrenzten Rechtecke. Diese Genauigkeit ist beispielsweise nützlich, wenn eine Anwendung Informationen sammelt, indem sie die Position des Mauszeigers nachverfolgung.