Balise AccControl
La balise AccControl
utilise l’interface IAccessible de Microsoft Active MSAA Accessibility (MSAA). La balise AccControl possède :
une propriété
Name
pour définir le nom accessible à l’utilisateur (convivial) d’un contrôle.une balise
<Path>
pour définir un chemin de recherche pour le contrôle dans l’arborescenceIAccessibility
de l’application. La balise<Path>
contient les éléments suivants : la balise FindWindow et la balise Next.
L’exemple XML suivant affiche une définition de contrôle à l’aide de la balise AccControl
.
<AccControl name="Control Name">
<Path>
<FindWindow>
<CaptionStartsWith>Customer App</CaptionStartsWith>
</FindWindow>
<Next/>
<Next match="2">Customer Name:</Next>
</Path>
</AccControl>
Note
Certains éléments de la balise Path
ont un attribut <match>
que vous pouvez utiliser pour ajouter un compteur à la description de recherche. Les deux exemples suivants donnent le même résultat, mais le premier exemple implémente la balise <match>
:
Exemple 1
<Caption match="2">Test Application</Caption>
Exemple 2
<Caption>Test Application</Caption>
<Caption>Test Application</Caption>
Si <match>
n’est spécifié, la valeur par défaut est 0.
La méthode String) sur une balise AccControl
est toujours mappée à la méthode get_accValue
sur le nœud IAccessible
du sujet, sauf si le nœud contient role="radio button"
ou role="check box"
. Dans ces cas, la méthode String) retourne True
ou False
, selon que l’état du nœud est sélectionné.
La méthode String) sur une balise AccControl
est toujours mappée à la méthode set_accValue
sur le nœud IAccessible
du sujet, à l’exception des nœuds qui ont role="radio button"
ou role="check box"
. Dans le cas d’une case d’option, une exception UnsupportedControlOperation
est levée, car une valeur True
ou False
ne peut pas être attribuée à une case d’option.
L’exemple suivant affiche le code XML RELAX NG pour la balise <Path>
.
# RELAX NG XML grammar for Path
# https://relaxng.org/compact-tutorial-20030326.html
#
grammar
{
start = Path
Path = element Path
{
FindWindow* & element Next
{ attribute match { xsd:integer }?,
attribute offset { xsd:integer }?,text? }*
}
}