télécharger 0.63 Mb.
|
L’utilisation de DOM et de Windows Automation 3.0Les navigateurs sur la plateforme Windows s’appuient sur les technologies de l’API Windows Automation. Les navigateurs sur d’autres plates-formes peuvent utiliser d'autre API d'accessibilité. Il convient de noter, à ce titre, les travaux de normalisation au niveau international avec la norme en cours d’élaboration ISO/IEC FCD 13066-1 Information Technology - Interoperability with Assistive Technology (AT) -- Part 1: Requirements and recommendations for interoperability47 pour l’interopérabilité entre les différentes APIs ; celle-ci s’accompagne d’un ensemble de parties additionnelles, rapports techniques documentant, selon les mêmes plan et modalités, chaque API d’accessibilité en vue d’établir des ponts comme cela peut exister aujourd’hui au niveau des technologies de l’API Windows Automation. Peu importe comment la technologie d’assistance accède à une page Web, cette dernière a besoin de certaines informations relatives à chaque contrôle présent dans la page. Elle doit savoir de quel type il s’agit (rôle), qui il est (nom), de ce que fait ce contrôle en particulier et l'ordre dans lequel il apparait. Lors de la conception de pages ou d’applications Web accessibles, il est utile de comprendre comment les informations circulent entre l'utilisateur et le navigateur ou l'application Web (riche). L'utilisateur transmet et reçoit des informations par le biais de technologie(s) d’assistance. Les informations circulent selon une variété de moyens depuis/vers la technologie d’assistance considérée, selon que la technologie employée soit MSAA ou UI Automation, et si la technologie d’assistance impliquée comme un lecteur d'écran s’appuie sur un modèle DOM ou non. Une technologie d’assistance reçoit des informations provenant du Web de trois façons :
(X)HTML48 utilise le DOM pour envoyer des informations aux utilisateurs. Un modèle d'objet constitue un mécanisme pour accéder et programmer un document ou un programme. Le DOM (X)HTML crée une arborescence des éléments de la page. Dans le cas de MSAA, les informations telles que les propriétés et les événements sont transmis entre le navigateur ou l'application client et la technologie d’assistance. Si la technologie UI Automation est impliquée, l’information est transmise entre le navigateur, l’application client, ou une application Silverlight et la technologie d’assistance. Dans certains cas, où la technologie d’assistance repose sur une API différente de ce que l'application utilise, un pont ou un proxy est utilisé pour convertir les informations dans l'API appropriée pour la technologie d’assistance. Par exemple, une application riche fondée sur la technologie Microsoft Silverlight (Cf. section § 1.5.6 Les considérations relatives à la technologie Silverlight 2 et ultérieur) utilise UI Automation et s’appuie sur le pont UI Automation vers MSAA pour convertir des informations en MSAA pour une technologie d’assistance qui s’appuie sur MSAA. En outre, certains lecteurs d'écran prennent une capture d'écran virtuel d'une page Web en utilisant le DOM et travaillent directement via le navigateur sans interprétation par le biais de MSAA ou d’UI Automation. L’interface c’est le DOM ! ![]() Figure . Interface avec les technologies d'assistance Lorsqu'une technologie d’assistance envoie une demande d'information par le biais de MSAA, le serveur COM fournit à l'utilisateur les informations à partir du DOM. La technologie d’assistance met ses informations en cache, et l'utilisateur interagit avec la page Web à l'aide de ces informations. Le DOM peut apporter des modifications à une page Web, mais les utilisateurs communiquant par l'intermédiaire de MSAA ne sont pas à même de le faire. Le DOM constitue la représentation en mémoire de la page (X)HTML dans le navigateur. A l’instar d’(X)HTML, il présente une structure arborescente et peut être modifié par script au moment de l'exécution. De nombreuses technologies d’assistance interagissent directement avec le DOM, et particulièrement, les lecteurs d'écran qui prennent un instantané du DOM et interagissent avec ensuite avec cet instantané. Dans la pratique, il s’agit d’une utilisation conjointe du DOM et de MSAA pour rester au courant de l'information sur la page Web (riche). MSAA permet à la technologie d’assistance de requêter des informations sur l’application Web et de recevoir le nom, le rôle et d'autres propriétés des éléments sur la page. Pour cela, certains des éléments dans le DOM sont mappés à l'API MSAA (vers des éléments équivalents de l’arbre MSAA) par le navigateur. Des liens, des éléments de formulaire, des graphiques et certaines fonctionnalités de tableaux sont ainsi mappées à des équivalents MSAA. Les technologies d’assistance fondées sur la technologie MSAA peuvent dès lors interagir avec ces fonctionnalités de la même manière qu'elles interagiraient avec une application Windows. La principale différence entre le développement d’applications Windows accessibles et le développement d’applications Web accessibles est que l’API Microsoft Win32 permet l’écriture de membres Accessibilité sur des contrôles arbitraires alors que HTML est en lecture seule pour les rôles et les événements. Un navigateur établit des correspondances entre les balises HTML et les valeurs MSAA et le développeur n’y a pas accès. Deux éléments critiques d'information dans MSAA sur lesquelles se fondent les technologies d’assistance pour aider les utilisateurs à interagir avec les applications Web sont les rôle et nom d'un élément :
Dans la programmation Web, l’information de rôle provient entièrement du contrôle. Lorsque le navigateur rend le code (X)HTML, il crée des contrôles, et ces contrôles ont des rôles MSAA prédéfinis. L’article About Active Accessibility Support49, qui présente une vue d’ensemble de la prise en charge de MSAA dans le composant MSHTML du navigateur Internet Explorer, propose une liste d'éléments accessibles et des liens vers l’information sur leur rôle MSAA. Le choix de l'élément approprié pour mettre en œuvre la fonction souhaitée est primordial. Par exemple, un élément |