4 votes

Lecture par VoiceOver des résultats des instructions d'impression de Swift Playground dans Xcode

xcode swift playground screenshot

(A titre d'information, j'ai aidé un enfant aveugle local à apprendre le codage. Il change d'école, passant d'une école sous Windows à une école sous Mac, et j'essaie donc de me familiariser avec VoiceOver sur Mac).

J'ai un terrain de jeu Swift très simple dans Xcode que j'essaie de construire et d'exécuter à l'aide de VoiceOver.

var rate = 26
var hours = 12.5
var cost = Double(rate) * hours
print(cost)

Lorsque je tape cette dernière ligne, VoiceOver lit ce que je tape. J'utilise ensuite le raccourci clavier Shift Command Enter () pour lancer le playground. VoiceOver annonce "Run Playground" mais ne lit pas la sortie qui en résulte. Je ne sais pas comment faire pour qu'il lise le résultat, ni comment naviguer jusqu'au panneau inférieur où l'on pourrait lire "325". Comment puis-je faire l'une ou l'autre de ces choses ?

1voto

Łukasz Sromek Points 1347

C'est vraiment cool que tu aides une personne aveugle à apprendre à coder ! Il doit y avoir une approche pour rassembler la sortie dans la console Xcode, mais il est certainement possible que XCode n'ait pas de support VoiceOver pour cela.

Néanmoins, je me demande si vous ne pouvez pas tirer parti des fonctions VoiceOver intégrées de manière intelligente.

Quelque chose comme :

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, cost);

Essentiellement, il suffit de remplacer print avec un manuel UIAccessibilityPostNotification .

0 votes

J'ai dû utiliser UIAccessibility.post(notification: .announcement, argument: cost) et, bien que cela compile, il échoué pour faire n'importe quelle annonce dans un terrain de jeu XCode sous VoiceOver

0 votes

@dumbledad hmm. Je ne sais pas si le coût doit être une chaîne ou non (je n'ai pas utilisé UIAccessibility) ou si un paramètre différent doit être activé pour que cela fonctionne. Ceci étant dit, j'ai trouvé une autre option -- probablement meilleure -- pour vous dans la même veine. Ajoutez le cadre AVFoundation à votre projet et utilisez AVSpeechSynthesizer. Il y a un projet d'exemple complet qui le démontre ici, et il semble assez facile à mettre en œuvre : code.tutsplus.com/tutorials/

0 votes

Un autre excellent tutoriel ici ! nshipster.com/avspeechsynthesizer

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X