Python >> Tutoriel Python >  >> Python

Vous avez perdu la vue ? Comment coder en tant que développeur Python aveugle ou malvoyant

Je suis un développeur aveugle. Je suis aveugle depuis très peu de temps après ma naissance. Je n'ai jamais perdu la vue. Je voulais voir si mon point de vue correspondait à celui d'autres personnes aveugles, mais qui ont perdu la vue plus tard dans la vie. Voici ce que j'ai découvert :

J'ai contacté des parties de la communauté des aveugles dans mon réseau pour voir si quelqu'un voulait s'asseoir et me parler de ses expériences . Six personnes ont répondu à ma demande d'interviews. J'ai interviewé trois d'entre eux pour cet article, et je prévois de parler aux autres après cet article.

Je dirige un groupe de messagerie où d'autres personnes aveugles traînent appelé Pythonvis. N'importe qui d'autre peut se joindre. J'ai envoyé une requête là-bas. Un autre groupe sur lequel je traîne s'appelle Program-l. Ce groupe a une portée plus large. Les deux groupes répondent aux besoins uniques de ceux d'entre nous qui recherchent à la fois de l'aide pour la programmation et de l'aide pour utiliser les outils nécessaires à l'utilisation de nos ordinateurs.

Enquête auprès des développeurs aveugles – Histoires

Avant de perdre la vue, Jeff Thompson appris à programmer à l'université, en utilisant des cartes perforées. Il a poursuivi sa carrière dans le secteur des assurances. Ce n'est que beaucoup plus âgé qu'il a perdu la vue. Jeff est membre de Pythonvis et dirige une session hebdomadaire de coaching Python sur un site appelé Out-of-site.

Taylor Arndt étudie l'informatique à la Western Michigan University aux États-Unis.

Vaibhav Saraf est un développeur de logiciels indien qui a perdu la vue il y a un peu plus d'un an.

Tous les trois m'ont dit qu'ils avaient traversé une période où ils étaient découragés de ne pas pouvoir utiliser leur ordinateur, mais ils ont tendu la main et ont appris qu'ils avaient une issue.

Comment ils utilisent leur ordinateur

Les trois développeurs utilisent des logiciels appelés lecteurs d'écran. Les lecteurs d'écran disent ce que l'utilisateur tape dans l'ordinateur et lisent ce qu'ils veulent savoir sur le code qu'ils écrivent.

Fait intéressant, le logiciel original de lecteur d'écran IBM a été inventé par Jim Thatcher, qui n'était pas aveugle, mais a été influencé par son directeur de thèse aveugle. Ted Henter, qui a perdu la vue dans un accident de voiture, a inventé le logiciel de lecture d'écran le plus populaire, JAWS, après avoir perdu son site et a cofondé FreedomScientific (https://www.freedomscientific.com/), qui fait depuis partie du groupe de sociétés Vispero. Ils utilisent également NVDA, qui a été créé par deux développeurs aveugles.

NVDA est principalement écrit en Python et est open-source. L'une des raisons pour lesquelles j'apprends Python est de contribuer à ce projet.

Outils de programmation

Jeff utilise EdSharp, écrit en C# par Jamal Mazrui, lui-même développeur de logiciels aveugle, qui travaille pour Amazon.

Taylor et moi utilisons Visual Studio Code, qui offre un support très solide pour ceux d'entre nous qui utilisent des lecteurs d'écran.

Vaibhav utilise Eclipse, auquel IBM a fourni beaucoup de code pour améliorer sa capacité à travailler avec un logiciel de lecture d'écran.

[Ressources] Comment ils ont appris Python

Lorsque j'ai demandé comment ils avaient appris Python, ils m'ont indiqué des ressources telles que :

  • Bookshare, un site qui héberge de nombreux livres sur des sujets de fiction et de non-fiction, y compris le développement Python.
  • Professeurs et chefs d'équipe qui leur ont fourni du matériel au format HTML ou PDF balisé de sorte qu'il puisse communiquer avec un logiciel de lecture d'écran via des balises d'accessibilité similaires au HTML, qui communiquent des informations sur la structure des documents, tels que les éléments qui sont en-têtes, tableaux, champs de formulaire, etc.
  • FreeCodeCamp.org, un groupe à but non lucratif qui enseigne le développement Web complet, qui s'est récemment étendu à une section sur Python.
  • W3Schools, qui propose également un programme Python.
  • Le didacticiel Python officiel
  • Diverses autres ressources gratuites sur le Web, certains livres, d'autres forums.

Tous les éléments ci-dessus ont en commun qu'ils sont écrits sous une forme facile à utiliser par les lecteurs d'écran :HTML, DAISY ou EPub.

Comment ils communiquent sur les projets

Tous les trois ont déclaré que le courrier électronique est quelque chose de facile à utiliser avec un logiciel de lecture d'écran. Ils utilisent également tous Skype, Microsoft Teams, Zoom ou d'autres logiciels de communication. Tous ces packages fonctionnent avec un logiciel de lecture d'écran.

Taylor et Vaibhav utilisent Microsoft Word, de sorte que toutes les spécifications ou instructions écrites sous forme de documents Word contenant des descriptions textuelles adéquates peuvent servir de spécifications pour les projets. Taylor et Vaibhav m'ont dit que lorsque les professeurs ou les membres de l'équipe présentent des supports de cours en direct, lorsqu'ils pointent quelque chose sur le tableau ou lors du partage d'écran, il est utile de dire le nom de la chose qu'ils pointent aussi, plutôt que "ceci", ou "Cliquez dessus."

Cela aide également à donner des instructions sur où trouver quelque chose ou effectuer une action pour aider à construire un modèle mental de la chose qu'ils décrivent. À ce stade, les utilisateurs de lecteurs d'écran peuvent partager des écrans en tant que présentateurs dans un logiciel de communication, mais les lecteurs d'écran ne peuvent pas communiquer à l'utilisateur les écrans partagés par d'autres qui sont des présentateurs. Une façon de compenser cet inconvénient est d'obtenir le matériel avant la présentation afin qu'ils puissent le relire et se familiariser avec.

Comment ils comprennent la structure du programme

Tous les trois m'ont dit qu'ils utilisaient la capacité de leur lecteur d'écran à communiquer le nombre de caractères de tabulation apparaissant au début des lignes couplés aux caractères deux-points au début des expressions conditionnelles, des boucles, des classes et des méthodes pour obtenir un modèle mental du code ils travaillent avec. Pendant que nous en parlions, Vaibhav a déclaré qu'il dépendait beaucoup de sa mémoire pour comprendre le flux de code.

Les lecteurs d'écran peuvent lire une ligne à la fois, un mot à la fois et un caractère à la fois, et si un développeur est en mesure d'obtenir un afficheur braille, il peut lire et suivre l'indentation en utilisant ses doigts pour sentir les points.

Un autre outil utile pour comprendre la structure du programme est les aperçus dans Eclipse et Visual Studio Code qui répertorient les symboles sous forme de plan.

Ces commodités pour les personnes voyantes sont essentielles pour que les utilisateurs de lecteurs d'écran gagnent en efficacité, car ils ne peuvent pas parcourir un écran en même temps et avoir un aperçu rapide de ce que le code ou le matériel de lecture peut communiquer. EdSharp a également un moyen de sauter entre les symboles.

Ce que c'est que de travailler avec d'autres membres de l'équipe

Tous les trois ont déclaré qu'une fois que ceux qui les entourent se sont familiarisés avec leur handicap, ils n'ont aucun problème à communiquer et à travailler efficacement avec les autres.

Ils ont dit que les autres sont généralement très disposés à adapter leur style de travail.

Tous les trois disent qu'ils sont capables d'apporter leur propre contribution en tant que contributeurs égaux aux projets. Lorsqu'il s'agit de travailler sur des projets open source ou sur des projets impliquant l'utilisation de Git et de sites comme GitHub, Git en ligne de commande fonctionne bien avec les lecteurs d'écran, car il utilise du texte pur et les lecteurs d'écran et les environnements de ligne de commande sont de bons amis.

Conseils pour les futurs programmeurs

J'ai demandé à tous les trois quels conseils ils donneraient à toute personne aveugle qui aimerait se lancer dans la programmation. Les points mentionnés étaient :

  • C'est quelque chose que vous pouvez faire si vous le voulez vraiment. Vous pouvez vous adresser à des forums tels que Quora, Stack Exchange, Reddit, etc. et en trouver d'autres dans votre situation. Il existe des groupes de messagerie, tels que Python-vis, Blind Programming et d'autres listes spécialisées dans une langue ou une autre où les aveugles se retrouvent.
  • Vous devez apprendre à utiliser au maximum votre lecteur d'écran et faire tout votre possible pour être le plus efficace possible en utilisant le clavier et les outils à votre disposition.
  • Profitez des communautés autour du lecteur d'écran que vous avez choisi.
  • Vous devrez peut-être utiliser d'autres outils ou méthodes pour faire votre travail plus efficacement. Exprimez-vous lorsque vous en avez besoin.
  • Continuez à rechercher des moyens plus efficaces d'accomplir vos tâches.
  • Il y a suffisamment de matériel de lecture sur le Web pour vous permettre de vous perfectionner en Python.
  • Ne vous attardez pas parce que quelqu'un vous donne du matériel que vous ne pouvez pas lire ou comprendre. Trouvez du matériel sur le même sujet ailleurs.
  • Vous vous retrouverez souvent dans une situation où vous ne pouvez pas lire quelque chose ou utiliser certains aspects d'un logiciel. Lorsque vous signalez des bogues, tenez-vous en aux faits, faites preuve de tact, gardez vos émotions à l'écart de la conversation. La plupart des gens veulent vous aider, une fois qu'ils ont compris d'où vous venez.
  • Vous devrez travailler plus dur que les personnes qui vous entourent et faire preuve de patience pendant qu'elles s'attaquent à votre handicap. C'est une évidence.
  • Fiez-vous à votre réseau de soutiens, à votre foi, à la méditation ou à tout ce qui vous aide à gagner de l'énergie positive.
  • Il y aura toujours des personnes bien intentionnées dans votre vie qui vous diront que vous ne pouvez pas faire cela. Souriez et faites-le quand même.

A cela je dis Amen.

À propos de l'auteur

Jim Homme est un ancien musicien professionnel, père de trois enfants, mari et vétéran de 32 ans dans le domaine des technologies de l'information. Il aime lire et jouer aux échecs. Il dirige une équipe de testeurs d'accessibilité chez Bender Consulting Services. Il est le propriétaire de jimhomme.com, où il écrit sur Python et les technologies associées.


Prochain article