IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Debugage JavaScript, pour un non-voyant


Sujet :

JavaScript

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 106
    Points : 2 658
    Points
    2 658
    Par défaut Debugage JavaScript, pour un non-voyant
    Bonjour,

    Je suis développeur et non-voyant depuis 2010.
    J’ai du arrêter le JavaScript car il est très compliqué de débuguer le code, pour un non-voyant, sans faire de print.
    Jusqu’à présent je compensais en faisant la partie métier et contrôleur.
    Mais je souhaiterai m’intéresser au JavaScript serveur (note et angular) et éventuellement au Jquery.
    Il se peut que je doive travailler avec ces technologies.
    Je travaille essentiellement avec PHP et Java/J2E.

    Je code avec Eclipse PHPet et son module JavaScript activé, qui m’indique des erreurs dans la console.
    Mais à l’exécution l’erreur et son numéro de ligne s’affiche dans la barre du navigateur, qui ne m’est pas accessible.
    Plus globalement tous les débuguer sont inaccessibles, car ils s’utilisent à la sourie.

    Quand j’ai commencé JavaScript à la fin des années 90, l’erreur s’affichait dans une alert box, qui elle est accessible.
    Est-il possible de réactiver cela ?

    Il y a de plus en plus d’IDE JavaScript.
    L’un d’entre eux pourrait-il me mettre à l’endroit de l’erreur dans le code ou m’afficher une console d’erreurs avec des informations.

    Pour débuguer je mets une alert box « début » et une autre « fin »
    Si elles affichent toutes les deux, l’erreur est plus loins.
    Et je procède par dichotomie pour trouver la source de l’erreur, mais c’est lourd dingue.

    Si quelqu’un a une idée, je lui serai très reconnaissant.

    Cordialement
    Fabrice

  2. #2
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 48
    Points : 114
    Points
    114
    Par défaut
    Salut,

    Je ne sais pas si cette solution te conviendrais, mais il est possible de créer une fonction JavaScript qui gère les erreurs: window.onerror . Cette fonction peut récupérer 3 paramètres: le message d'erreur, l'url du fichier JavaScript et la ligne de l'erreur. Elle pourrait par exemple appeler la fonction alert().

    Voici un exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    window.onerror = function(errorMsg, url, lineNumber){
        var message = "Erreur: " + errorMsg + " dans " + url + " à la ligne "+lineNumber;
        alert(message);
     
        return true;
    };
    Il faudrait alors insérer ce bout de code en haut de la page HTML/du fichier JavaScript.

    Bonne soirée

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Je m'intéresse beaucoup à l'accessibilité en ce moment et ceci est un très bon sujet. Pour compléter la réponse de vandenn3, voici un bout de code qui lit à haute voix les erreurs qui surviennent dans la page, en se basant sur l'API Web Speech (supportée sur Chrome uniquement pour le moment):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    window.onerror = function(errorMsg, url, lineNumber){
        var newUtterance = new SpeechSynthesisUtterance();
     
       // Set the text
       newUtterance.text = errorMsg+". The error occured at "+url+" line number "+lineNumber;
     
       // Add this text to the utterance queue
       window.speechSynthesis.speak(newUtterance);
    };
    On peut sans doute faire bien plus, c'est pourquoi ton témoignage sur les difficultés rencontrées est très important pour avoir des outils de développement utilisables par tous. Pouvoir coder en étant non voyant, je trouve ça génial !

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 106
    Points : 2 658
    Points
    2 658
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    Je vais les tester, et vais fous faire un retour.
    Mais le problème c'est que je me suis dispersé, ces derniers temps.

    Je fais en ce moment :
    - un article, avec une amie, pour présenter l'accessibilité des applications internet et intranet. Pour donner les clefs et donner envie aux gens d'en faire.
    - je rédige en solo un article sur l'accessibilité de Swing, car j'ai du apprendre à rendre des projet persos accessible, après avoir perdu la vue. Et j'ai de l'expérience en la matière. Il y a un poste sur le forum Java/Swing, qui guide ma reflexion sur le sujet.
    - je fais un client Sql, en Java/Swing et JDBC pour non-voyant, caron a du mal avec l'offre du marché. Les plus accessibles sont payant, surtout pour Oracle.

    Une rubrique accessibilité sur le site, c'est une idée à creuser.

    Concernant le navigateur, j'utilise FireFox, comme de nombreux non-voyants.
    car avec Google Chrome, on avait des gros problèmes d'accessibilités. On ne pouvait pas sortir des formulaire.
    Mais je peux retester, surtout qu'il se tape l'incruste sur mon ordi pour un oui ou pour un non à chaque install de Ccleaner ou autre chose.
    Quant à IE il plante trop
    Et Opéra c'est pire il fait planter les lecteurs d'écran.

    Par contre ce n'est pas obligé de faire parler son application.
    Un non-voyant utilise un lecteur d'écran, qui parle déjà, alors ça peut faire doublon
    . Jaws(Payant, mais gratuit par session de 45 minutes ) il est un peu envahissant pour le système
    http://www.freedomscientific.com/jaws-hq.asp

    ou NVDA (gratuit) plus léger, juste un peu moins performant, mais pas de beaucoup
    C'est un projet libre et en plus on peut faire des script python
    Et en plus on peut l'installer sur clef usb
    Le problème est que jusqu'à présent on enseignait JAWS au non-voyants et pas NVDA.
    http://www.nvda-fr.org/

    Moi j'utilise les deux car quand l'un n'y arrive pas l'autre y arrive parfois.

    Sous mac il y a voice over gratuit et déjà préinstallé. Il suffit fd'appuyer sur ctrl opt option f5

    Sous Linux il y a Orca, une vrai galère à installer.
    De plus la voix par défault est épouventable.
    Et installer une voix supplémentaire c'est une vrai galère;.

    Les malvoyant utilisent ZoomText, qui a aussi un lecteur d'écran

    La si ça marche on va rendre service a de nombreux collègues développeurs non-voyant.
    Perso on m'a proposé une formation PHP Zend Synfony Javascript (Jquery et Note, angular)
    Je connais déjà php et Synfony2
    C'est pourquoi je dois regarder en urgence.

    Par contre débuguer du JavaScript serveur c'comme faire du PHP ou du Java ?
    Les erreurs s'affichent avant l'écution, on a un log, une console, on peut faire des print ?

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 124
    Points : 44 910
    Points
    44 910
    Par défaut
    Bonjour,
    à une époque, encore pas si lointaine, où il n'existait pas grand chose comme outils pour tracer le code, j'utilisais un petit fichier javascript qui m'ouvrait une page de "debug" dans une nouvelle fenêtre, via un window.open et dans laquelle je redirigeais les informations de debug dont j'avais besoin.

    Il pouvait s'agir de la valeur de variables comme d'erreurs détournées via un try...catch.

    En procédant de la sorte je pouvais sauvegarder le fichier HTML ainsi réalisé à des fins d'analyse.

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Citation Envoyé par CoderInTheDark Voir le message
    Par contre débuguer du JavaScript serveur c'comme faire du PHP ou du Java ?
    Les erreurs s'affichent avant l'écution, on a un log, une console, on peut faire des print ?
    Avec Node.js tu peux écrire toutes sortes de logs serveur dans des fichiers ou dans le flux de sortie de la console de commandes, ou encore les envoyer ailleurs... Tout est envisageable

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 106
    Points : 2 658
    Points
    2 658
    Par défaut
    Tout d’abord merci à tous de votre aide.
    Vous me redonnez espoir car, je fais de la sensibilisation à l’accessibilité.
    Et parfois on a l’impression de prêcher dans le désert.
    Surtout qu’on est sur une niche là.
    L’accessibilité pour les développeurs non-voyants, ça doit représenter peu de monde.
    Et pourtant on est plus nombreux que vous croyez à vouloir coder.
    Et sur mes différents postes, sur les sites du forum, vous êtes nombreux à avoir réagit

    Je suis très occupé en ce moment, c’est pourquoi j’aide du mal à répondre.
    Si vous êtes intéressé par l’accessibilité vous pouvez me contacter par ma boîte développez.
    Mais je ne peux pas promettre de réponse rapide avant la deuxième semaine de février.

    En ce moment je prépare un concours
    Je rédige un article, avec une collègue, sur l’accessibilité des applications internet et intranet, pour le site.
    S’il a du succès on fera une suite.
    Et un autre sur l’accessibilité de Swing.

    J’aimerai bien qu’il y est un tag ou une rubrique sur le sujet.

    Fabrice

  8. #8
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Je vais soumettre l'idée d'une rubrique dédiée à l'accessibilité.

    N'hésite pas à nous envoyer tes articles, à moi ou à un autre responsable des sections Web. On peut t'aider à les publier sur Developpez.com si tu le souhaites.

  9. #9
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 106
    Points : 2 658
    Points
    2 658
    Par défaut
    Voila la solution est satisfaisante
    J'ai une boîtes de dialogue accessible qui s'affiche, avec les informations sur l'erreur.
    A moins que le script se bloque complétement sur la première erreur, on peut faire aussi un fichier, comme vous l'avez évoqué.
    Car on peut imaginer plusieurs actions, qui plante, lors des tests

    Merci à vous tous
    Merci à Florent pour avoir corriger mon implémentation

    Il serait préférable de passer par un fichier js à inclure
    Il faut trouver une solution pour ne pas polluer les autres développeurs et surtout ne pas braquer le chef de projet
    Avec synfony et twig je peux faire une vue pour le développement
    Je pense que c'est pratiquement résolue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
    <head>
    <title>Page</title>
    <script>
    window.onerror = function(errorMsg, url, lineNumber){
        var message = "Erreur: " + errorMsg + " dans " + url + " à la ligne "+lineNumber;
        alert(message);
        return true;
    };
    function hello() {
        ralert("Bonjour");
    }
    </script>
    </head>
    <body onLoad="hello()">
    Le script avec la fonction d'affiche d'erreur est mise en début de baélise SCRIPT sans être encapsulée dans une fonction.
    il y a ensuite une fonction hello avec une erreur volontaire sur le fonction alert renommée ralert.
    Cela génère bien une erreur indiquée dans la paop-up
    </body>
    </html>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un programme informatique pour permettre aux non-voyants de voir ?
    Par Arsene Newman dans le forum Actualités
    Réponses: 2
    Dernier message: 10/03/2014, 16h19
  2. Logiciel de navigation pour non-voyant.
    Par Enhide dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 29/09/2010, 18h18
  3. Réponses: 6
    Dernier message: 16/03/2005, 14h44
  4. fonction javascript pour tout cocher
    Par Flob dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/02/2005, 10h36
  5. Modif JavaScript pour fonctionnement sous IE et Firefox
    Par Steph4fun dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/11/2004, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo