|
|||||||||||||||||||||||||||||||||||||||||||||
|
Dans de nombreuses situations de handicap, la souris et le clavier permettent un accès aux principaux logiciels grâce à quelques utilitaires et une adaptation du poste de travail. Ces situations, sans que l'on y prête forcément attention, sous-entendent néanmoins la maîtrise d'un certain nombre de capacités de la part de l'utilisateur (amplitude articulaire, force musculaire, transposition du plan de déplacement horizontal de la souris au plan vertical de l'écran, coordination entre l'oeil et la main, etc.). Mais il reste que dans de nombreuses pathologies, les lésions altèrent ces capacités, dès lors, l'usage des interfaces de dialogues classiques s'avère impossible. Tel est le cas dans de nombreuses atteintes d'origines dégénératives ou traumatiques dont la gravité oblige à envisager l'utilisation d'interfaces sophistiquées (reconnaissance vocale, mouvements de la tête ou des yeux...) ou au contraire fort simple comme l'usage de contacteurs. C'est cette dernière situation que nous aborderons dans cet article, qui est surtout réalisé à l'attention des développeurs, notamment de logiciels éducatifs, pour qu'ils n'oublient pas d'inclure dans leur code une petite pensée pour les plus démunis ! Utilisation d'un seul contacteur Ce contacteur peut revêtir la forme d'un simple bouton-poussoir du commerce ou d'une plaque sensible à l'effleurement. Le problème posé pourrait être celui d'un jeune tétraplégique ne pouvant plus bouger que l'index, en considérant à titre d'illustration l'activité d'écriture. Habituellement, pour écrire, nous avons deux solutions simples :
Si l'on prend comme modèle le clavier habituel (AZERTY) il sera par exemple possible, de désigner tour à tour chacune des cases (en suivant le sens de l'écriture du haut à gauche au bas à droite). Dès lors, on constate que l'ordre dans lequel les lettres sont affichées ne convient pas. Le clavier AZERTY correspond à un utilisateur à dix doigts et les localisations des touches aux fréquences d'utilisation des lettres dans la langue française. L'ordre devrait être E, A, S, I, etc. D'autre part, si le logiciel présente tour à tour chaque case, il convient que la vitesse de l'automate de défilement soit paramétrable pour chaque utilisateur. De plus, certains utilisateurs handicapés présentent une motricité désordonnée, des mouvements parasites : il peut alors arriver d'appuyer par mégarde sur le contacteur de validation. Il faut donc filtrer les mouvements involontaires à l'aide de deux paramètres supplémentaires :
Toujours en utilisant un seul contacteur, il est possible de grouper les choix (dans notre exemple les touches) en groupes homogènes, la sélection à lieu en deux temps, mais devient plus rapide. Ces groupes homogènes peuvent être la ligne, la colonne, ou toute autre organisation logique. Pour étudier ces possibilités, nous abandonnerons l'exemple du clavier pour utiliser la figure ci-dessous comme support d'exemple. Cette figure propose 16 choix numérotés de 1 à 16, organisée en une matrice 4x4. Pour permettre d'aller plus rapidement à l'information pertinente, il est possible de désigner non plus case par case mais ligne par ligne, d'attendre que l'utilisateur choisisse la ligne contenant la case de son choix puis de désigner tour à tour les cases contenues dans la ligne sélectionnée. Cette méthode est plus économique car nous n'avons au maximum que huit cycles pour arriver à un choix définitif (nombre de colonnes + nombre de lignes). Pour atteindre la case "16" dans le tableau, la séquence est la suivante (le chiffre entre [ ] désigne une proposition de choix) : [1,2,3,4]-[5,6,7,8]-[9,10,11,12]-[13,14,15,16], appui sur le contacteur, puis [13]-[14]-[15]-[16], appui sur le contacteur et sélection de la case [16]. Le mode en colonne Il est identique dans son principe au mode précédent. Si l'on prend le même exemple pour atteindre la case [16], la stratégie de désignation sera la suivante : [1,5,9,13]-[2,6,10,14]-[3,7,11,15]-[4,8,12,16], appui sur le contacteur, puis [4]-[8]-[12]-[16], appui sur le contacteur et sélection de la case [16]. Autre groupement logique Toujours avec notre exemple, nous pourrions utiliser un bloc de 2x2 : [1,2,5,6]-[3,4,7,8]-[9,10,13,14]-[11,12,15,16] appui sur le contacteur, puis [11]-[12]-[15]-[16], appui sur le contacteur et sélection de la case [16]. Ces défilements ligne, colonne et bloc sous-entendent que l'utilisateur a acquis la compréhension de la "sériation". Utilisation de deux contacteurs Les stratégies de désignation de l'information restent identiques (ligne, colonne, bloc), mais l'utilisateur dispose de deux contacteurs. Le premier, agissant à la manière d'un bouton-poussoir lance le cycle de défilement, le relâchement interromp le cycle mais n'enclenche pas la validation pour autant, c'est uniquement le second contacteur qui détient cette fonction. Utilisation de cinq contacteurs Ce mode est similaire à l'utilisation de la manette, excepté que la manette peut être remplacée par cinq contacteurs indépendants. Quatre des contacteurs ont pour fonctions de se diriger vers le haut, le bas, la droite ou la gauche, le cinquième contacteur à une fonction de validation. UIK ! J'ai trouvé ! Implémenter ces modes de désignation avec tous les paramètres possibles dans un programme n'est pas chose aisée, c'est pour cela que Jean-Michel Forgeas les a prévus dans son générateur d'application : le maintenant célèbre User Interface Kit. L'intérêt n'est d'ailleurs pas uniquement de pouvoir créer facilement des applications accessibles ou spécifiques aux personnes handicapées, car ces modes de désignation sont pour certains d'entre eux identiques à ceux utilisés sur le CDTV et la future console Amiga CD de Commodore... Les différents paramètres sont directement accessibles depuis le programme UIKPrefs comme le montre la figure ci-après. UIK comporte des instructions permettant de contrôler ces modes par programmes grâce à des instructions commençant par "UIK_Input" et des "tags" spéciaux ont été prévus pour intervenir au niveau de chaque objet. A titre d'exemple, les lignes suivantes, m'ont été transmises par Jean-Michel Forgeas lui-même : comment faire deux lignes de trois zones sélectionnables, et sélectionnables en deux fois (ligne puis case). Ajout de deux boîtes qui serviront de parent à des sous-zones de sélection.
Puis enclencher par programme le mode de sélection "1 contact" pour faire cycler un rectangle sur les deux boîtes.
Là ça y est, le rectangle cycle de la façon suivante : boîte du haut, boîte du bas, boîte du haut, boîte du bas, etc. Le fait d'appuyer sur le contact sur la boîte du haut change la liste de zones actives pour le cyclage : maintenant le rectangle de sélection entoure à tour de rôle chacune des trois zones filles contenues dans la boîte du haut. Le fait d'appuyer à nouveau sur le contact va provoquer la sélection d'une des trois zones puis remet le cyclage sur les zones de base, soit ici les deux boîtes haut et bas. Voilà ! C'est simple. J'espère que ces quelques exemples vous sensibiliseront au développement d'applications pour les personnes handicapées. Ce ne sont pas les idées qui me manquent !
|