Partager via


Configuration requise pour les éditeurs de méthode d’entrée

Ces instructions et exigences peuvent vous aider à développer un éditeur de méthode d’entrée personnalisé (IME) pour aider un texte d’entrée utilisateur dans une langue qui ne peut pas être représentée facilement sur un clavier QWERTY standard.

Pour obtenir une vue d’ensemble des IMEs, consultez l’Éditeur de méthode d’entrée (IME) .

SET DEFAULT

Un utilisateur peut sélectionner l’un de ses IME actifs (Paramètres -> Heure et langue -> Langue -> Langues préférées -> Module linguistique - Options) pour être l’IME par défaut pour sa langue par défaut.

Preferred language setting

Sélectionnez le clavier par défaut dans l’écran Paramètres des options de langue pour la langue préférée.

Preferred language keyboard

Important

Nous vous déconseillons d’écrire directement dans le Registre pour définir le clavier par défaut de votre IME personnalisé.

Exigences de compatibilité.

Voici les exigences de compatibilité de base d’un IME personnalisé.

IME doit être compatible avec les applications Windows

Utilisez l’infrastructure TSF (Text Services Framework) pour implémenter des IMEs. Auparavant, vous aviez la possibilité d’utiliser le Gestionnaire de méthodes d’entrée (IMM32) pour les services d’entrée. Maintenant, le système bloque les IMEs implémentées à l’aide du Gestionnaire de méthodes d’entrée (IMM32).

Quand une application démarre, TSF charge la DLL IME pour l’IME actuellement sélectionnée par l’utilisateur. Lorsqu’un IME est chargé, il est soumis aux mêmes restrictions de conteneur d’application que l’application. Par exemple, un IME ne peut pas accéder à Internet si une application n’a pas demandé d’accès Internet dans son manifeste. Ce comportement garantit que les IMEs ne peuvent pas violer les contrats de sécurité.

TSF est l’intermédiaire entre l’application et votre IME. TSF communique les événements d’entrée à l’IME et reçoit les caractères d’entrée de l’IME une fois que l’utilisateur a sélectionné un caractère.

Ce comportement est identique aux versions précédentes de Windows, mais le chargement dans une application Windows affecte les fonctionnalités potentielles d’un IME.

Si votre IME doit fournir différentes fonctionnalités ou interface utilisateur entre les applications Windows et les applications de bureau, vérifiez que la DLL chargée par TSF case activée le type d’application dans lequel il est chargé. Appelez la méthode ITfThreadMgrEx ::GetActiveFlags dans votre IME et case activée l’indicateur de TF_TMF_IMMERSIVEMODE, de sorte que votre IME déclenche une logique d’application différente en fonction du résultat.

Les applications Windows ne prennent pas en charge les IMEs TTS (Table Text Service).

Remarque

Certains outils de génération d’IMEs TTS produisent des IMEs qui sont marquées comme des programmes malveillants par Windows.

IME doit être compatible avec la barre d’état système

Il n’existe aucune barre de langue pour héberger les icônes IME. Au lieu de cela, un indicateur d’entrée s’affiche dans la barre d’état système qui indique l’option d’entrée actuelle. L’indicateur d’entrée affiche uniquement l’icône de personnalisation IME pour indiquer l’IME en cours d’exécution. En outre, il existe une icône de mode IME qui s’affiche à gauche de l’icône de PERSONNALISATION IME pour permettre aux utilisateurs d’effectuer le commutateur de mode IME le plus couramment utilisé, comme activer ou désactiver l’IME.

L’indicateur d’entrée affiche l’icône de personnalisation IME et l’icône de mode uniquement pour les IMEs compatibles. Les IMEs qui ne sont pas compatibles n’ont pas l’icône de personnalisation et l’icône de mode affichées dans la barre d’état système. Au lieu de cela, l’indicateur d’entrée affiche l’abréviation de langue au lieu de l’icône de PERSONNALISATION IME.

Stockez les icônes IME dans un fichier DLL ou EXE, au lieu d’un fichier .ico autonome. La conception des icônes IME doit suivre les instructions décrites dans la section instructions de conception de l’interface utilisateur suivante.

Icône de personnalisation IME

L’indicateur d’entrée obtient l’icône de personnalisation IME de la DLL IME à l’aide de l’ID de ressource défini par l’IME lorsqu’il a été inscrit sur le système.

Icône en mode IME

Certaines IMEs peuvent avoir besoin de s’appuyer sur l’indicateur d’entrée affiché dans la barre d’état système pour afficher l’icône en mode IME. Dans ce cas, l’IME transmet l’icône de mode IME à l’indicateur d’entrée à l’aide de GUID_LBI_INPUTMODE.

Lorsque vous transmettez les icônes en mode IME à l’indicateur d’entrée dans la barre d’état système, la taille par défaut de l’icône de mode IME est de 16 x 16 pixels. La mise à l’échelle de l’interface utilisateur suit PPP.

Lors du passage de l’icône en mode IME à l’indicateur d’entrée sur UAC (contrôle de compte d’utilisateur dans Secure Desktop), la taille par défaut de l’icône en mode IME est de 20 x 20 pixels. La mise à l’échelle de l’interface utilisateur pour l’icône de mode IME sur UAC suit l’IPP.

IME doit fonctionner dans le conteneur d’applications

Certaines fonctions IME sont affectées dans un conteneur d’application.

  • Fichiers de dictionnaire : fréquemment, les IMEs ont des fichiers de dictionnaire en lecture seule pour mapper l’entrée utilisateur à des caractères spécifiques. Pour accéder à ces fichiers à partir d’un conteneur d’application, votre IME doit les placer sous les répertoires Program Files ou Windows. Par défaut, ces répertoires peuvent être lus à partir d’un conteneur d’applications, afin que les IMEs puissent accéder aux fichiers de dictionnaire stockés dans ces emplacements. Si votre IME doit stocker le fichier de dictionnaire ailleurs, il doit manipuler explicitement les listes de contrôle d’accès (ACL) des fichiers de dictionnaire pour autoriser l’accès à partir de conteneurs d’applications.
  • Mise à jour Internet : si votre IME doit mettre à jour ses dictionnaires à l’aide de données à partir d’Internet, il ne peut pas le faire de manière fiable à l’intérieur d’un conteneur d’applications, car l’accès à Internet n’est pas toujours autorisé. Au lieu de cela, votre IME doit exécuter un processus de bureau distinct chargé de mettre à jour les fichiers de dictionnaire avec des données à partir d’Internet.
  • Apprentissage à la volée : si un IME est en cours d’exécution dans un conteneur d’applications disposant d’un accès Internet, il n’existe aucune restriction sur les points de terminaison avec IME qui peuvent communiquer. Dans ce cas, un IME peut utiliser un serveur cloud pour fournir des services d’apprentissage à la volée. Certains IMEs téléchargent et chargent l’entrée utilisateur à la volée, tandis que l’utilisateur tape. Étant donné que l’accès à Internet n’est pas garanti dans un conteneur d’application, cela peut ne pas toujours être autorisé.
  • Partage d’informations entre les processus : les IMEs peuvent avoir besoin de partager des données sur les préférences d’entrée de l’utilisateur entre les applications qui se trouvent dans différents conteneurs d’applications. Utilisez un service web pour partager des données entre des applications.

Important

Si vous essayez de contourner les règles de sécurité des conteneurs d’applications, votre IME peut être traité comme un programme malveillant et bloqué.

IME et clavier tactile

Votre IME doit s’assurer que l’interface utilisateur de son volet candidat et d’autres éléments d’interface utilisateur ne sont pas dessinés sous le clavier tactile. Le clavier tactile s’affiche dans une bande de z supérieure à toutes les applications, et l’interface utilisateur IME s’affiche dans la même bande de commandes z que l’application dans laquelle elle est active. Par conséquent, le clavier tactile peut chevaucher et masquer l’interface utilisateur IME. Dans la plupart des cas, l’application doit redimensionner sa fenêtre pour tenir compte du clavier tactile. Si une application ne redimensionne pas, l’IME peut toujours utiliser l’API InputPane pour obtenir la position du clavier tactile. L’IME interroge la propriété Location ou inscrit un gestionnaire pour les événements Show and Hide du clavier tactile. L’événement Show est déclenché chaque fois que l’utilisateur appuie dans un champ d’édition, même si le clavier tactile s’affiche actuellement. Votre IME peut utiliser cette API pour obtenir l’espace d’écran utilisé par le clavier tactile avant que l’IME dessine l’interface utilisateur candidate (ou autre) et pour reflower l’interface utilisateur IMEs pour éviter de dessiner sous le clavier tactile.

Spécification de la disposition du clavier tactile par défaut

L’IME peut spécifier la disposition tactile à utiliser, et l’IME est activé pour utiliser des dispositions optimisées tactiles. Cette fonctionnalité est limitée aux IMEs pour les langues d’entrée traditionnelles coréennes, japonaises, chinoises simplifiées et chinoises.

Il existe sept dispositions prises en charge par le clavier tactile, dont trois sont des dispositions classiques et quatre d’entre elles sont des dispositions optimisées tactiles. Les dispositions classiques ressemblent à un clavier physique.

Les trois dispositions classiques sont destinées à placer le chinois traditionnel sous différentes formes :

  • entrée basée sur Téléphone tic
  • Entrée Changjie
  • Entrée de date

En plus des dispositions classiques, il existe une disposition optimisée tactile pour chacune des langues d’entrée coréen, japonais, chinois simplifié et chinois traditionnel.

Pour utiliser cette fonctionnalité, votre IME doit implémenter l’interface ITfFnGetPreferredTouchKeyboardLayout, qui est exportée par l’IME à l’aide de l’API ITfFunctionProvider de Text Services Framework.

Si votre IME ne prend pas en charge l’interface ITfFnGetPreferredTouchKeyboardLayout, l’utilisation de l’IME génère la disposition classique par défaut pour la langue affichée par le clavier tactile.

Si votre IME doit définir l’une des dispositions classiques comme disposition préférée, aucun travail supplémentaire n’est nécessaire côté IME au-delà de la prise en charge des interfaces ITfFnGetPreferredTouchKeyboardLayout et ITfFunctionProvider. Toutefois, des travaux supplémentaires sont nécessaires dans l’IME pour travailler avec les dispositions optimisées tactiles, et cela est décrit dans la section suivante.

Disposition optimisée pour l’interaction tactile

Les claviers tactiles pour les langues d’entrée coréen, japonais, simplifié et chinois traditionnel affichent une disposition différente pour les modes de conversion IME On et IME Off. Il existe une touche sur le clavier tactile pour définir le mode de conversion IME sur Activé ou Désactivé, mais le mode IME du clavier peut également changer à mesure que le focus change parmi les contrôles d’édition.

Les claviers tactiles pour les langues d’entrée japonaise, simplifiée en chinois et en chinois traditionnel contiennent une touche ou des touches, que l’IME utilise pour parcourir les pages candidates. Pour le japonais et le chinois simplifié, la clé de page candidate s’affiche sur la disposition optimisée tactile. Pour le chinois traditionnel, il existe des clés distinctes pour les pages candidates précédentes et suivantes.

Lorsque ces touches sont enfoncées, le clavier tactile appelle la fonction SendInput pour envoyer les caractères de zone d’utilisation privée Unicode suivants à l’application ciblée, sur laquelle l’IME peut intercepter et agir :

  • Page suivante (0xF003) : envoyé lorsque la touche de page candidate est enfoncée sur le clavier tactile pour le japonais et le chinois simplifié, ou lorsque la touche de page suivante est enfoncée sur le clavier tactile pour le chinois traditionnel.
  • Page précédente (0xF004) - Envoyé lorsque la touche de page candidate est enfoncée en même temps que la touche Maj sur le clavier tactile optimisé pour le japonais et le chinois simplifié, ou lorsque la touche de page précédente est enfoncée sur le clavier tactile pour le chinois traditionnel.

Ces caractères sont envoyés en tant qu’entrée Unicode. Le paragraphe suivant explique comment extraire les informations de caractère pendant les notifications du récepteur d’événements clés que l’IME Text Services Framework recevra. Ces valeurs de caractères ne sont pas définies dans un fichier d’en-tête. Vous devez donc les définir dans votre code.

Pour intercepter l’entrée du clavier, votre IME doit s’inscrire en tant que récepteur d’événements de clé. Pour l’entrée Unicode générée à l’aide de la fonction SendInput, le paramètre WPARAM des rappels ITfKeyEventSink (OnKeyDown, OnKeyUp, OnTestKeyDown, OnTestKeyUp) contient toujours la clé virtuelle VK_PACKET et n’identifie pas directement le caractère.

Implémentez la séquence d’appels suivante pour accéder au caractère :

// Keyboard state
BYTE abKbdState[256];
if (!GetKeyboardState(abKbdState))
{
   return 0;
}

// Map virtual key to character code
WCHAR wch;
if (ToUnicode(VK_PACKET, 0, abKbdState, &wch, 1, 0) == 1)
{
   return wch;
}

Rechercher une intégration

Fournissez aux utilisateurs des fonctionnalités de recherche via le contrat de recherche et l’intégration au volet de recherche.

Search pane and IME suggestions
Volet de recherche et suggestions IME

Le volet de recherche est un emplacement central pour permettre aux utilisateurs d’effectuer des recherches sur toutes leurs applications. Pour les utilisateurs de l’IME, Windows offre une expérience de recherche unique qui permet aux IMEs compatibles de s’intégrer à Windows pour améliorer l’efficacité et la facilité d’utilisation.

Les utilisateurs qui tapent avec un IME compatible avec la recherche bénéficient de deux avantages principaux :

  • Interaction transparente entre l’IME et l’expérience de recherche. Les candidats IME sont affichés en ligne sous la zone de recherche sans suggestions de recherche occluding. L’utilisateur peut utiliser le clavier pour naviguer en toute transparence entre la zone de recherche, les candidats à la conversion IME et les suggestions de recherche.
  • Accès plus rapide aux résultats et suggestions pertinents fournis par les applications. L’application a accès à tous les candidats de conversion actuels pour fournir des suggestions plus pertinentes. Pour mieux hiérarchiser les suggestions de recherche, les conversions sont données aux applications par ordre de pertinence. Les utilisateurs trouvent et sélectionnent le résultat souhaité sans convertir, en tapant simplement en phonétique.

Un IME est compatible avec l’expérience de recherche intégrée s’il répond aux critères suivants :

Lorsqu’il est activé dans le volet de recherche, un IME compatible est placé en mode UIless et ne peut pas afficher son interface utilisateur. Au lieu de cela, il envoie des candidats de conversion vers Windows, qui les affiche dans le contrôle de liste des candidats inline, comme illustré dans la capture d’écran précédente.

En outre, l’IME envoie des candidats qui doivent être utilisés pour exécuter la recherche actuelle. Ces candidats pourraient être identiques aux candidats à la conversion, ou ils pourraient être adaptés à la recherche.

Les candidats de bonne recherche répondent aux critères suivants :

  • Aucun chevauchement de préfixe. Par exemple, 北京ス学 et北京 sont redondants, car l’un est un préfixe de l’autre.
  • Aucun candidat redondant. Tout candidat redondant n’est pas utile pour la recherche, car il n’aide pas à filtrer les résultats. Par exemple, tout résultat qui correspond à 北京ス学 correspond également à 北京.
  • Aucun candidat de prédiction, seule conversion. Par exemple, si l’utilisateur tape « be », l’IME peut retourner 北 en tant que candidat, mais pas 北京ス学. En règle générale, les candidats à la prédiction sont trop restrictifs.

Les IMEs qui ne répondent pas aux critères ne sont pas compatibles avec l’affichage de recherche de la même façon que d’autres contrôles et ne peuvent pas tirer parti de l’intégration de l’interface utilisateur et des candidats à la recherche. Les applications reçoivent des requêtes uniquement une fois la composition terminée par l’utilisateur.

Lorsqu’une application qui prend en charge le contrat de recherche reçoit une requête, l’événement de requête contient un tableau « queryTextAlternatives » qui contient toutes les alternatives connues, classés du plus pertinent (probablement) au moins pertinent (peu probable).

Lorsque des alternatives sont fournies, l’application doit traiter chaque alternative comme une requête et retourner tous les résultats correspondant à l’une des alternatives. L’application doit se comporter comme si l’utilisateur avait émis plusieurs requêtes en même temps, en émettant essentiellement une requête « ou » au service fournissant les résultats. Pour les considérations relatives aux performances, les applications limitent souvent la correspondance entre 5 et 20 des alternatives les plus pertinentes.

Recommandations en matière de conception

Toutes les IMEs doivent suivre les instructions relatives à l’expérience utilisateur décrites dans les applications Windows de conception et de code.

N’utilisez pas de fenêtres collantes

Vos fenêtres IME ne doivent apparaître que si nécessaire, et elles ne doivent pas être visibles tout le temps. Lorsque les utilisateurs n’ont pas besoin de taper, les fenêtres IME ne doivent pas s’afficher. La fenêtre IME ne doit pas être une fenêtre plein écran. Les fenêtres IME ne doivent pas se chevaucher. Les fenêtres doivent être conçues dans un style Windows et suivre la mise à l’échelle de l’interface utilisateur.

Icônes IME

Il existe deux types d’icônes IME, d’icônes de personnalisation et d’icônes de mode. Toutes les icônes IME doivent être conçues uniquement avec des couleurs noires et blanches. Les nouvelles icônes IME empruntent l’apparence glyphe des icônes de la barre d’état système. Ce style a été créé afin que toutes les langues puissent l’utiliser pour compléter l’apparence familiale tout en se différifiant également les unes des autres.

Le format de fichier des icônes IME est ICO. Vous devez fournir les éléments suivants :

  • 16 x 16 pixels
  • 20 x 20 pixels
  • 24 x 24 pixels
  • 32 x 32 pixels
  • 40 x 40 pixels
  • 48 x 48 pixels

Vérifiez que les icônes 32 bits avec canal alpha sont fournies dans toutes les résolutions.

Les icônes de marque IME sont définies par une zone blanche dans laquelle un glyphe typographique rendu dans une police moderne est placé. Chaque glyphe définissant est choisi par chaque équipe de langue. Le glyphe est noir. La boîte comprend un trait externe de 1 pixel en noir à 50 % d’opacité. Les versions « Nouvelles » sont définies par un angle arrondi dans le coin supérieur gauche de la zone.

Les icônes en mode IME sont définies par un glyphe typographique blanc dans une police moderne qui inclut un trait externe de 1 pixel en noir à 50 % d’opacité.

Icon Description
Example IME brand icon for Traditional Chinese ChangeJie. Exemple d’icône de marque IME pour ChangeJie chinois traditionnel.
Example IME brand icon for Traditional Chinese New ChangeJie. Exemple d’icône de marque IME pour ChangeJie chinois traditionnel.
Chinese mode icon Exemple d’icône de mode IME.

Fenêtre appartenant

Pour afficher l’interface utilisateur candidate, un IME doit définir sa fenêtre comme appartenant à la fenêtre, afin qu’elle puisse s’afficher sur l’application en cours d’exécution. Utilisez la méthode ITfContextView ::GetWnd pour récupérer la fenêtre à posséder. Si GetWnd retourne une erreur ou un NULLHWND, appelez la fonction GetFocus .

if (FAILED(pView->GetWnd(&parentWndHandle)) || (parentWndHandle == nullptr)) { parentWndHandle = GetFocus(); }

Interaction de fenêtre candidate IME avec des surfaces d’abandon de lumière

Le modèle de licenciement pour les fenêtres contextuelles est appelé « lumière ignorée », car il est facile pour un utilisateur de fermer ces fenêtres. Pour que les IMEs fonctionnent correctement dans le modèle d’interaction Windows, les fenêtres IME doivent participer au modèle d’abandon de lumière.

Pour participer au modèle d’abandon léger, votre IME doit déclencher trois nouveaux événements Windows à l’aide de la fonction NotifyWinEvent ou d’une fonction similaire. Ces nouveaux événements sont les suivants :

  • EVENT_OBJECT_IME_SHOW - Déclenchez cet événement lorsque l’IME devient visible.
  • EVENT_OBJECT_IME_HIDE : déclenchez cet événement lorsque l’IME est masqué.
  • EVENT_OBJECT_IME_CHANGE : déclenchez cet événement lorsque l’IME déplace ou modifie la taille.

Déclaration de compatibilité

Les IMEs déclarent qu’elles sont compatibles en inscrivant la catégorie GUID_TFCAT_TIPCAP_IMMERSIVESUPPORT pour leur IME à l’aide d’ITfCategoryMgr ::RegisterCategory.

Définir le mode IME par défaut sur activé

Nous fournissons une meilleure expérience utilisateur pour les IMEs.

Prise en charge de la mise à l'échelle PPP pour les applications bureautique

La prise en charge améliorée de la mise à l’échelle des PPP permet d’interroger le niveau de prise en charge de l’PPP déclaré de chaque processus de bureau pour déterminer s’il doit mettre à l’échelle l’interface utilisateur. Dans un scénario à plusieurs moniteurs, Windows met à l’échelle l’interface utilisateur de manière appropriée pour différents paramètres DPI sur chaque moniteur.

Étant donné que votre IME s’exécute dans le contexte du processus de chaque application, vous ne devez pas déclarer de niveau de sensibilisation PPP pour votre IME. Cela garantit que votre IME s’exécute au niveau de sensibilisation des PPP du processus actuel.

Pour vous assurer que tous les éléments d’interface utilisateur IME ont une parité de mise à l’échelle avec les éléments d’interface utilisateur du processus dans lequel vous exécutez, vous devez répondre de manière appropriée à différentes valeurs DPI.

Remarque

Pour garantir la parité avec les nouvelles applications bureautique, votre IME doit prendre en charge la prise en charge DPI par moniteur, mais ne doit pas déclarer un niveau de sensibilisation lui-même. Le système détermine les exigences de mise à l’échelle appropriées dans chaque scénario.

Pour plus d’informations sur les exigences de prise en charge de la mise à l'échelle PPP pour les applications bureautique, consultez en haute résolution.

Installation de l’IME

Si vous générez votre IME à l’aide de Microsoft Visual Studio, créez une expérience d’installation pour votre IME à l’aide d’un programme d’installation tiers, comme InstallShield à partir de Flexera Software.

Les étapes suivantes montrent comment utiliser InstallShield pour créer un projet d’installation pour votre DLL IME.

  • Installer Visual Studio.
  • Démarrez Visual Studio.
  • Dans le menu Fichier, pointez sur Nouveau, puis sélectionnez Projet. La boîte de dialogue Nouveau projet s’affiche.
  • Dans le volet gauche, accédez à Modèles > Autres types de > projets configuration et déploiement, cliquez sur Activer InstallShield Limited Edition, puis cliquez sur OK. Suivez les instructions d'installation.
  • Démarrez Visual Studio.
  • Ouvrir le fichier solution
  • Dans l’Explorateur de solutions, cliquez avec le bouton droit sur la solution, choisissez Ajouter puis sélectionnez Nouveau projet. La boîte de dialogue Ajouter un nouveau projet s'ouvre.
  • Dans le contrôle d’arborescence gauche, accédez aux modèles > autres types de > projets InstallShield Limited Edition.
  • Dans le volet central, sélectionnez Projet InstallShield Limited Edition.
  • Dans la zone de texte Nom, tapez « SetupIME » et cliquez sur OK.
  • Dans la boîte de dialogue Assistant Projet, cliquez sur Informations sur l’application.
  • Renseignez le nom de votre société et les autres champs.
  • Cliquez sur Proxy d'application.
  • Dans le volet gauche, cliquez avec le bouton droit sur le dossier [INSTALLDIR], puis sélectionnez Nouveau dossier. Nommez le dossier « Plugins ».
  • Cliquez sur Add Filer (Ajouter le système de stockage). Accédez à votre DLL IME et ajoutez-la au dossier Plug-ins . Répétez cette étape pour le dictionnaire IME.
  • Cliquez avec le bouton droit sur l’UO, puis sélectionnez Propriétés. La boîte de dialogue Propriétés du formulaire s’ouvre.
  • Dans la boîte de dialogue Propriétés de la stratégie, cliquez sur l’onglet Paramètres.
  • Sous Type d’inscription, sélectionnez Inscription automatique, puis cliquez sur OK.
  • Générez la solution. La DLL IME est générée et InstallShield crée un fichier setup.exe qui permet aux utilisateurs d’installer votre IME sur Windows.

Pour créer votre propre expérience d’installation, appelez la méthode ITfInputProcessorProfileMgr ::RegisterProfile pour inscrire l’IME pendant l’installation. N’écrivez pas directement les entrées du Registre.

Si l’IME doit être utilisable immédiatement après l’installation, appelez InstallLayoutOrTip pour ajouter l’IME aux méthodes d’entrée activées par l’utilisateur, en utilisant le format suivant pour le paramètre psz :

<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

Accessibilité de l’IME

Implémentez la convention suivante pour que vos IMEs soient conformes aux exigences d’accessibilité et pour travailler avec le Narrateur. Pour rendre les listes candidates accessibles, vos IMEs doivent suivre cette convention.

  • La liste des candidats doit avoir un UIA_AutomationIdPropertyId égal à « IME_Candidate_Window » pour les listes de candidats de conversion ou « IME_Prediction_Window » pour les listes de candidats de prédiction.
  • Lorsque la liste candidate apparaît et disparaît, elle déclenche des événements de type UIA_MenuOpenedEventId et UIA_MenuClosedEventId, respectivement
  • Lorsque le candidat sélectionné change, la liste des candidats déclenche une UIA_SelectionItem_ElementSelectedEventId. L’élément sélectionné doit avoir une propriété UIA_SelectionItemIsSelectedPropertyId égale à TRUE.
  • La UIA_NamePropertyId pour chaque élément de la liste des candidats doit être le nom du candidat. Si vous le souhaitez, vous pouvez fournir des informations supplémentaires pour lever l’ambiguïté des candidats via UIA_HelpTextPropertyId.