Partager via


Type de contrôle List

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle list.

Le type de contrôle List permet d’organiser un groupe plat ou des groupes d’éléments et permet à un utilisateur de sélectionner un ou plusieurs de ces éléments. Le type de contrôle List a une restriction libre sur les types d’éléments enfants qu’il peut contenir. Cela permet aux fournisseurs UI Automation de prendre en charge un élément connu pour les conteneurs de sélection.

Les sections suivantes définissent la structure d’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation requis pour le type de contrôle List. Les exigences UI Automation s’appliquent à tous les contrôles de liste dans lesquels l’infrastructure/la plateforme d’interface utilisateur intègre la prise en charge d’UI Automation pour les types de contrôles et les modèles de contrôle.

Cette rubrique contient les sections suivantes.

Structure d’arborescence classique

Le tableau suivant illustre un contrôle et une vue de contenu typiques de l’arborescence UI Automation qui se rapporte aux contrôles de liste et décrit ce qui peut être contenu dans chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez vue d’ensemble de l’arborescence UI Automation.

Vue contrôle Affichage de contenu
Contient les éléments qui correspondent aux contrôles. Supprime les informations redondantes de l’arborescence afin que les technologies d’assistance fonctionnent avec le plus petit ensemble d’informations significatives pour l’utilisateur final.
  • Liste
    • DataItem (0 ou plus)
    • ListItem (0 ou plus)
    • Groupe (0 ou plus)
    • ScrollBar (0, 1 ou 2)
  • Liste
    • DataItem (0 ou plus)
    • ListItem (0 ou plus)
    • Groupe (0 ou plus)

La vue de contrôle d’un contrôle qui implémente le type de contrôle Liste (par exemple, un contrôle de liste) se compose des éléments suivants :

  • Zéro ou plusieurs éléments dans le contrôle de liste (les éléments peuvent être basés sur le ListItem ou types de contrôle DataItem)
  • Zéro ou plusieurs contrôles de groupe dans un contrôle de liste
  • Zéro, un ou deux contrôles de barre de défilement

La vue de contenu d’un contrôle qui implémente le type de contrôle Liste (par exemple, un contrôle de liste) se compose des éléments suivants :

  • Zéro ou plusieurs éléments dans le contrôle de liste (les éléments peuvent être basés sur le ListItem ou types de contrôle DataItem)
  • Zéro ou plusieurs groupes dans le contrôle de liste

Un contrôle de liste ne doit pas avoir d’éléments qui ont une relation hiérarchique autre que d’être regroupés. Si les éléments ont des enfants dans l’arborescence UI Automation, le conteneur de liste doit être basé sur le type de contrôle arborescence.

Les éléments sélectionnables dans le contrôle de liste seront disponibles auprès des descendants dans l’arborescence UI Automation du contrôle de liste. Tous les éléments du contrôle de liste doivent appartenir au même groupe de sélection. Les éléments sélectionnables de la liste doivent être exposés en tant que types de contrôle ListItem (au lieu de DataItem).

Propriétés pertinentes

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour le type de contrôle List. Pour plus d’informations sur les propriétés UI Automation, consultez Récupération des propriétés à partir d’UI Automation Elements.

UI Automation, propriété Valeur Notes
UIA_AutomationIdPropertyId Consultez les notes. La valeur de cette propriété doit être unique parmi tous les éléments homologues dans la vue brute de l’arborescence UI Automation.
UIA_BoundingRectanglePropertyId Consultez les notes. Rectangle le plus externe qui contient l’ensemble du contrôle.
UIA_ClickablePointPropertyId Consultez les notes. Si le contrôle de liste a un point cliquable (point qui peut être cliqué pour que la liste prenne le focus), ce point doit être exposé via cette propriété. Si la valeur de la propriété UIA_IsOffscreenPropertyId est TRUE, la tentative de récupération de cette propriété entraîne l’erreur UIA_E_NOCLICKABLEPOINT.
UIA_ControlTypePropertyId Liste
UIA_HelpTextPropertyId Consultez les notes. Le texte d’aide pour les contrôles de liste doit expliquer pourquoi l’utilisateur est invité à faire un choix parmi une liste d’options. Par exemple, « La sélection d’un élément de cette liste définit la résolution d’affichage de votre moniteur ».
UIA_IsContentElementPropertyId TRUE Le contrôle de liste est toujours inclus dans la vue de contenu de l’arborescence UI Automation.
UIA_IsControlElementPropertyId TRUE Le contrôle de liste est toujours inclus dans la vue de contrôle de l’arborescence UI Automation.
UIA_IsKeyboardFocusablePropertyId Consultez les notes. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
UIA_LabeledByPropertyId Consultez les notes. S’il existe une étiquette de texte statique, cette propriété doit exposer une référence à ce contrôle.
UIA_LocalizedControlTypePropertyId Consultez les notes. Chaîne localisée correspondant au type de contrôle List. La valeur par défaut est « list » pour en-US ou l’anglais (États-Unis).
UIA_NamePropertyId Consultez les notes. La valeur de la propriété Name d’un contrôle de liste doit indiquer la catégorie d’options que l’utilisateur est invité à sélectionner. Cette propriété obtient généralement son nom à partir d’une étiquette de texte statique. S’il n’existe pas d’étiquette de texte statique, le développeur de l’application doit exposer une valeur pour la propriété Name.
La seule fois que cette propriété n’est pas nécessaire pour les contrôles de liste, c’est si le contrôle est utilisé dans la sous-arborescence d’un autre contrôle.

Modèles et propriétés de contrôle requis

Le tableau suivant répertorie les modèles de contrôle UI Automation requis pour être pris en charge par tous les contrôles de liste. Pour plus d’informations sur les modèles de contrôle, consultez Vue d’ensemble des modèles de contrôle UI Automation.

Control Pattern/Pattern, propriété Prise en charge/valeur Notes
IGridProvider Dépend Implémentez le modèle de contrôle Grid lorsque la navigation de grille doit être disponible sur un élément par élément.
IMultipleViewProvider Dépend Implémentez le modèle de contrôle MultipleView si le contrôle peut prendre en charge plusieurs vues des éléments du conteneur.
IScrollProvider Dépend Implémentez le modèle de contrôle Scroll si les éléments du conteneur sont défilants.
ISelectionProvider Dépend Si un contrôle prend en charge le type de contrôle Liste qui prend en charge la sélection, le contrôle doit implémenter le modèle de contrôle Sélection lorsqu’un état de sélection est conservé entre les éléments contenus dans le contrôle. Si les éléments du contrôle ne sont pas sélectionnables, le type de contrôle Groupe peut être utilisé.
CanSelectMultiple Dépend Les contrôles de liste peuvent être des conteneurs à sélection unique ou multiple.
IsSelectionRequired Dépend Les contrôles de liste ne nécessitent pas toujours qu’un élément soit sélectionné.
ITableProvider Jamais Le modèle de contrôle table n’est jamais pris en charge pour le type de contrôle liste. Si le contrôle doit prendre en charge ce modèle de contrôle, le contrôle doit être basé sur le type de contrôle DataGrid.

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation qui répertorient les contrôles doivent être pris en charge. Pour plus d’informations sur les événements, consultez vue d’ensemble des événements UI Automation.

Événement UI Automation Notes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId événement de modification de propriété.
UIA_IsEnabledPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsEnabled, il doit prendre en charge cet événement.
UIA_IsOffscreenPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsOffscreen, il doit prendre en charge cet événement.
UIA_LayoutInvalidatedEventId Si la disposition des éléments enfants peut être modifiée, le contrôle doit prendre en charge cet événement.
UIA_MultipleViewCurrentViewPropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle MultipleView, il doit prendre en charge cet événement.
UIA_ScrollHorizontallyScrollablePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_ScrollHorizontalScrollPercentPropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_ScrollHorizontalViewSizePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_ScrollVerticalScrollPercentPropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_ScrollVerticallyScrollablePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_ScrollVerticalViewSizePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll, il doit prendre en charge cet événement.
UIA_Selection_InvalidatedEventId Si le contrôle prend en charge le modèle de contrôle Selection, il doit prendre en charge cet événement.
UIA_StructureChangedEventId

conceptuelle

Vue d’ensemble des types de contrôle UI Automation

Vue d’ensemble UI Automation