Package | spark.accessibility |
Classe | public class DataGridAccImpl |
Héritage | DataGridAccImpl ListBaseAccImpl AccImpl AccessibilityImplementation Object |
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Lorsqu’un composant Spark DataGrid est créé, la propriété accessibilityImplementation
de son objet enfant focusOwner
est définie sur une instance de cette classe. L’implémentation d’accessibilité est placée sur cet objet focusOwner
d’espace réservé de façon à ce que l’implémentation d’accessibilité du composant DataGrid ne masque pas l’implémentation d’accessibilité de l’éditeur d’élément. Le composant DataGrid lui-même n’a aucune implémentation d’accessibilité. Cette étape est nécessaire car la version actuelle de Flash Player ne prend pas en charge plusieurs niveaux d’objets MSAA. Les éditeurs d’élément peuvent correspondre à tout composant et doivent être des objets MSAA complets. Les objets d’éditeur d’élément s’affichent en tant qu’objets frères du composant DataGrid dans l’arborescence MSAA. L’implémentation d’accessibilité pour chaque éditeur d’élément est donc gérée par l’implémentation d’accessibilité associée à ce composant, par exemple CheckBoxAccImpl
pour une case à cocher. L’implémentation d’accessibilité de l’éditeur d’élément existe uniquement lors d’une session d’éditeur d’élément. Un seul éditeur d’élément peut être actif à la fois, par conséquent, il existe à tout moment une seule ou aucune instance active de l’implémentation d’accessibilité d’éditeur d’élément.
Deux méthodes sont remplacées dans la classe DataGrid
afin de gérer correctement le focus entre DataGrid
et l’enfant focusOwner
de DataGrid
. La classe GridItemRenderer
désactive l’accessibilité pour les rendus d’élément, puisque par défaut ils sont traités comme objets simples dans l’implémentation d’accessibilité DataGrid. Bien que cette méthode limite la manière dont les composants non éditeurs d’élément (composants CheckBox, Panel, etc.) peuvent être utilisés dans les composants DataGrid, elle empêche l’affichage de ces éléments comme frères du composant DataGrid dans l’arborescence MSAA. Le fait d’autoriser l’affichage de tous les rendus d’élément de grille en tant que frères dans l’arborescence MSAA serait déroutant pour les utilisateurs de logiciels de lecture d’écran en l’absence de contexte ou de relation. Les développeurs peuvent bien sûr remplacer ce comportement par défaut si nécessaire, pour afficher ces rendus d’élément avec l’accessibilité activée.
Flash Player utilise ensuite cette classe pour permettre aux clients MSAA, tels que les lecteurs d’écran, de voir et de manipuler le composant DataGrid. Pour plus d’informations sur les classes d’implémentation d’accessibilité et MSAA, voir les classes mx.accessibility.AccImpl et flash.accessibility.AccessibilityImplementation.
La classe DataGridAccImpl
étend la classe ListBaseAccImpl
(comme la classe DataGrid
étend la classe DataGridBase
qui étend la classe ListBase
). La classe Spark DataGridAccImpl
est très semblable à MX AdvancedDataGridAccImpl
, car AdvancedDataGrid prend également en charge la sélection de cellules et de rangées uniques, contrairement à MX DataGrid.
Enfants
Les enfants MSAA d’un composant DataGrid sont, dans l’ordre :
- Un enfant pour chaque cellule d’en-tête visible, en commençant par la gauche. « Visible » signifie ici non masqué par le développeur (
column.visible=false
). L’en-tête d’une colonne non marquée invisible par le développeur, mais déplacée hors de l’écran par défilement est ici considérée comme « visible ». - En mode de sélection de rangée, un enfant pour chaque rangée de données de la grille ; OU
- En mode de sélection de cellule, un enfant pour chaque cellule de la grille, à l’exclusion des cellules des colonnes invisibles (comme décrit précédemment).
Le nombre d’enfants dépend du nombre de rangées et de colonnes dans le composant dataProvider
et non du nombre d’éléments actuellement affichés à l’écran.
Notez que, contrairement à ListBase
, le nombre d’enfants DataGrid ne reflète pas le nombre de rangées de données dans le contrôle. La technologie d’assistance doit donc éviter l’utilisation d’AccChildCount
comme moyen de signaler le nombre de rangées.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Rôle
Le rôle MSAA d’un composant DataGrid est ROLE_SYSTEM_LIST
.
Le rôle de chaque rangée ou cellule de données dans le composant DataGrid est ROLE_SYSTEM_LISTITEM
.
Le rôle de chaque cellule d’en-tête dans le composant DataGrid est ROLE_SYSTEM_COLUMNHEADER
.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Nom
Par défaut, le nom MSAA d’un composant DataGrid est une chaîne vide. Lorsque le nom est enveloppé dans un élément FormItem
, il en devient le libellé. Pour remplacer ce comportement, définissez la propriété accessibilityName
du composant DataGrid. La définition de la propriété accessibilityName
applique également le nom accessible à l’objet enfant focusOwner
du DataGrid qui représente l’objet DataGrid.
Le nom de chaque rangée de données (en mode de sélection de rangée) est une chaîne au format « _column1Name_: _column1Value_, _column2Name_: _column2Value_, ..., _columnNName_: _columnNValue_, Rangée _m_ sur _n_ ». Les colonnes sont séparées par des virgules et les noms de colonnes et les valeurs sont séparés par des deux-points. Les colonnes masquées par le développeur sont entièrement omises de la chaîne de nom. Exemple de chaîne de nom : « Nom de contact : Doug, Téléphone de contact : 555-1212, Code postal de contact : 12345, rangée 3 sur 7 ».
Notez que "Ligne _m_ sur _n_" est localisé.
Le nom de chaque cellule de données de la colonne 1 (en mode de sélection de cellule) est une chaîne au format « _columnName_: _columnValue_, Rangée _m_ sur _n_ ». Exemple : « Téléphone de contact : 555-1212, Rangée 2 sur 5 ». Les colonnes suivantes utilisent le même format mais omettent la partie « Rangée _m_ sur _n_ ».
Notez que "Ligne _m_ sur _n_" est localisé.
La chaîne de nom d’un en-tête de colonne (en mode de sélection de cellule ou de rangée) est normalement le texte de l’en-tête. Exemple : « Téléphone de contact ». Si toutefois la grille est triée par la colonne correspondante, la chaîne « triée » ou « triée par ordre décroissant » est ajoutée au nom de la colonne, pour indiquer le tri et sa direction. Exemple : « Nom de contact trié ». Dans le cas d’un tri multicolonnes, les chaînes de niveau sont également ajoutées, indiquant le niveau de chaque colonne dans le jeu de colonnes de tri. Par exemple, si une grille est triée d’abord selon la colonne 3, puis selon la colonne 2 et que la colonne 2 est triée par ordre décroissant, le nom de la colonne 3 se termine par « Triée niveau 1 » et le nom de la colonne 2 se termine par « Triée par ordre décroissant niveau 2 ». Les chaînes pour indiquer le tri croissant, le tri décroissant et le niveau de tri sont localisées.
Lorsque le nom du composant DataGrid ou de l’un de ses éléments change, un composant DataGrid distribue l’événement MSAA EVENT_OBJECT_NAMECHANGE
avec le childID correspondant à une rangée ou à une colonne ou 0 pour lui-même.
Si aucun nom d’accessibilité n’est défini pour l’éditeur d’élément, il est défini à partir du nom d’en-tête de colonne de la cellule.
Description
Par défaut, la description MSAA d’un composant DataGrid est une chaîne vide, mais vous pouvez définir la propriété accessibilityDescription
du composant DataGrid.
La description de chaque rangée, cellule ou en-tête est la chaîne vide et ne peut pas être définie par un AccImpl.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Etat
L’état MSAA d’un composant DataGrid est une combinaison de :
-
STATE_SYSTEM_UNAVAILABLE
(lorsqu’enabled
estfalse
). -
STATE_SYSTEM_FOCUSABLE
(lorsqu’enabled
esttrue
). -
STATE_SYSTEM_FOCUSED
(lorsqu’enabled
esttrue
et le composant DataGrid a le focus). -
STATE_SYSTEM_MULTISELECTABLE
(lorsqu’allowMultipleSelection
est true).
L’état d’une rangée de données ou d’une cellule est une combinaison de :
-
STATE_SYSTEM_FOCUSABLE
-
STATE_SYSTEM_FOCUSED
(lorsqu’elle a le focus). -
STATE_SYSTEM_OFFSCREEN
(lorsque la rangée ou la cellule a fait l’objet d’un défilement hors écran). -
STATE_SYSTEM_SELECTABLE
-
STATE_SYSTEM_SELECTED
(lorsqu’elle est sélectionnée).
L’état d’une cellule d’en-tête est STATE_SYSTEM_NORMAL
, puisque les cellules d’en-tête ne peuvent pas recevoir le focus ou être sélectionnées. Dans l’implémentation actuelle, les cellules d’en-tête peuvent ne pas signaler STATE_SYSTEM_OFFSCREEN
même si la grille elle-même est déplacée de sorte que ses en-têtes sont hors écran.
Lorsque l’état du composant DataGrid ou de l’un de ses éléments change, un composant DataGrid distribue l’événement MSAA EVENT_OBJECT_STATECHANGE
avec le childID correspondant à la rangée ou à la colonne ou 0 pour lui-même.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Valeur
Les composants DataGrid et leurs enfants (rangées, cellules et en-têtes) n’ont pas de valeur MSAA.
Emplacement
L’emplacement MSAA d’un contrôle DataGrid ou d’une rangée, cellule de données ou cellule d’en-tête à l’intérieur de celui-ci est son rectangle de délimitation. L’emplacement d’un élément actuellement non affiché à l’écran est non défini.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Action par défaut
Un composant DataGrid n’a pas d’action MSAA DefaultAction. L’action DefaultAction MSAA est « Double-clic » pour une rangée ou une cellule et « Clic » pour une cellule d’en-tête et la chaîne localisée correspondante est renvoyée lorsque la chaîne d’action par défaut est demandée.
L’exécution de l’action par défaut sur une rangée ou une cellule de données lui attribue le focus et la sélectionne et peut provoquer d’autres comportements selon le type de cellule/rangée. L’exécution de l’action par défaut sur un en-tête provoque le tri de la grille en fonction de cette colonne. La répétition de l’action par défaut sur l’en-tête bascule l’ordre de tri entre croissant et décroissant. Au moment de la rédaction de ce document, il est impossible d’effectuer un tri multiniveaux sur plusieurs colonnes à la fois à l’aide d’AccImpl.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Focus
Lorsque aucun élément spécifique (rangée ou cellule, selon le mode de sélection) n’a le focus dans la grille, le focus renvoie 0, indiquant que la grille elle-même a le focus. Cette situation devrait se produire uniquement lorsque la grille ne contient pas de données.
Lorsqu’une rangée (mode de sélection de rangée) ou une cellule (mode de sélection de cellule) a le focus, le focus renvoie le childID de l’élément ciblé.
Lorsqu’un composant DataGrid reçoit le focus, il distribue l’événement MSAA EVENT_OBJECT_FOCUS
. Cet événement est également distribué lorsque le focus se déplace entre les rangées ou les cellules de la grille.
Un événement de changement de focus est déclenché sur l’éditeur d’élément lorsqu’il est lancé/affiché. Un événement de changement de focus est déclenché sur le composant DataGrid lorsque l’éditeur d’élément est enregistré ou fermé.
Sélection
Un composant DataGrid permet la sélection d’une seule, ou de plusieurs rangées ou cellules en fonction de la propriété allowMultipleSelection
. La sélection renvoie un tableau des childID entiers des éléments sélectionnés.
Lorsqu’un élément est sélectionné de manière exclusive, il distribue l’événement MSAA EVENT_OBJECT_SELECTION
. Lorsqu’une cellule (mode de sélection de cellule) ou une rangée (mode de sélection de rangée) est ajoutée à l’ensemble de sélection actuel, l’événement distribué est EVENT_OBJECT_SELECTIONADD
. De même, si un élément (cellule ou rangée) est supprimé de la sélection, l’événement distribué est EVENT_OBJECT_SELECTIONREMOVE
. Si toutes les sélections sont effacées (indépendamment du nombre d’éléments précédemment sélectionnés) ou en cas d’action de sélection globale ou de sélection de région, l’événement distribué est EVENT_OBJECT_SELECTIONWITHIN
. Toute opération de sélection ne correspondant pas à l’une de celles répertoriées ci-dessus distribue EVENT_OBJECT_SELECTION
.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Sélection
La méthode accSelect
implémente les requêtes effectuées via MSAA concernant des modifications de la sélection et/ou du focus au sein du composant DataGrid. L’objet AccImpl pour le composant DataGrid prend en charge la définition du focus sur un contrôle DataGrid lui-même ou sur un élément ou un ensemble d’éléments de données (rangée ou cellule selon le mode de sélection) qu’il contient. Les actions prises en charge sont notamment la définition du focus, la sélection exclusive d’un élément et l’ajout ou la suppression d’un élément ou d’un ensemble d’éléments de la sélection, telles que définies dans la spécification Microsoft Active Accessibility. Au moment de la rédaction de ce document, la tentative d’utiliser accSelect
pour étendre une région à plusieurs cellules déjà sélectionnée en mode de sélection multicellules pour inclure plusieurs rangées ou colonnes à la fois peut produire des résultats différents qu’avec la souris.
Cette propriété n’est pas gérée par l’implémentation d’accessibilité DataGrid pour les éditeurs d’élément, car les éditeurs d’élément se gèrent eux-mêmes.
Méthode | Défini par | ||
---|---|---|---|
DataGridAccImpl(master:UIComponent)
Constructeur. | DataGridAccImpl | ||
Une méthode IAccessible qui exécute l’action par défaut associée au composant représenté par cette classe AccessibilityImplementation ou l’un de ses éléments enfant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer un objet DisplayObject ou Rectangle spécifiant le cadre de sélection d’un élément enfant dans la classe AccessibilityImplementation. | AccessibilityImplementation | ||
La méthode IAccessible permettant de modifier la sélection dans le composant représenté par la classe AccessibilityImplementation. | AccessibilityImplementation | ||
[statique]
Active l’accessibilité dans la classe DataGrid. | DataGridAccImpl | ||
La méthode MSAA permettant de renvoyer l’action par défaut du composant représenté par cette classe AccessibilityImplementation ou de l’un de ses éléments enfant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer, le cas échéant, l’ID d’entier non signé de l’élément enfant possédant le focus au sein du composant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer le nom du composant représenté par cette classe AccessibilityImplementation ou de l’un de ses éléments enfant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer le rôle système du composant représenté par cette classe AccessibilityImplementation ou de l’un de ses éléments enfant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer un tableau contenant les ID de tous les éléments enfant sélectionnés. | AccessibilityImplementation | ||
La méthode IAccessible permettant de renvoyer l’état d’exécution actuel du composant représenté par cette classe AccessibilityImplementation ou de l’un de ses éléments enfant. | AccessibilityImplementation | ||
La méthode MSAA permettant de renvoyer la valeur d’exécution du composant représenté par cette classe AccessibilityImplementation ou de l’un de ses éléments enfant. | AccessibilityImplementation | ||
AccessibilityImplementation | |||
AccessibilityImplementation | |||
Renvoie un tableau contenant les ID d’entiers non signés de l’ensemble des éléments enfant de la classe AccessibilityImplementation. | AccessibilityImplementation | ||
[statique]
Méthode prenant en charge l’accessibilité de Form. | AccImpl | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
[statique]
Renvoie true si la propriété enabled d’un ancêtre du composant est définie sur false. | AccImpl | ||
Renvoie true ou false pour indiquer si un objet de texte dont le cadre de sélection est spécifié par x, y, width et height doit être considéré comme une étiquette pour le composant que représente cette classe AccessibilityImplementation. | AccessibilityImplementation | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
DataGridAccImpl | () | Constructeur |
public function DataGridAccImpl(master:UIComponent)
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Constructeur.
Paramètresmaster:UIComponent — Instance UIComponent dont cette instance AccImpl assure l’accessibilité.
|
enableAccessibility | () | méthode |
public static function enableAccessibility():void
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Active l’accessibilité dans la classe DataGrid.
Cette méthode est appelée par le code de démarrage de l’application qui est autogénéré par le compilateur MXML. Ensuite, lorsque des instances de DataGrid sont initialisées, leur propriété accessibilityImplementation
est définie sur une instance de cette classe.
Tue Jun 12 2018, 09:30 AM Z