*Edit:*

I want to express my thanks and appreciation for all the boosts and comments! I had no idea this would get spread so widely, and I'm humbled by the support.

I'll reply to this post with the plan that I have for the next session.

Original post below...

I'm volunteering at my daughter's elementary school by teaching a "coding club" for 5th graders during their lunch and afternoon recess.

It mostly went great, except I left nearly in tears...

One of the kiddos that joined is blind, and I discovered that the coding programs for kids don't appear to be accessible *at all*.

First we tried Swift Playgrounds, but that didn't seem to work with VoiceOver. Then, he said that he's liked ScratchJr. in the past, and he got frustrated with that because he couldn't get his cat to move.

I'm kinda at a loss for how to help him. He left crying because he thinks that he can't get it, but I'm sure he can. Does anyone have any advice?

Thanks!!

#coding #swiftplayground #blind #accessibility #apple #ipad

@hpux735 Hey SuperDave--got any ideas on this?

@wx1g

@mem_somerville @hpux735 There are young blind people who code in the modern ide but I'm not sure how they learned. It was likely in a text-oriented tool, not something like Scratch. Time to ask around.
@hpux735 maybe have a look at Hedy, it's a gradual programming language that eventually becomes Python. It should work well with screen readers. And they have lesson plans for teachers https://hedy.org/
Hedy - Textual programming made easy

@DrVeronikaCH Thanks for your response. I was kinda wishing I had access to a proper computer with this activity. All the kids have are their ipads to work on. I kept thinking about the scene from Sneakers where the awesome programmer is blind and kicking ass with his braille terminal.
@hpux735 it works in the browser so maybe that's something?
@DrVeronikaCH @hpux735 +1 for Hedy, though I am only guessing re a11y
Tagging @Felienne, maybe she's got some more pointers.
@hpux735 I’m surprised to see this because VoiceOver integration was definitely in Swift when they launched it. Might be worth a call to Apple accessibility support to check out? Also would suggest looking at AccessCSforAll - it’s a little more HS level, but some good info/resources + their support email might have suggestions for younger learners: https://www.washington.edu/accesscomputing/accesscsforall. Blocks4All is an iPad app specifically designed for younger kids that works with VoiceOver.
Home | AccessCSforAll

@kimu Thank you so much for your response. I do wonder if I just didn't know how to support him more with VoiceOver. I think I'm going to go through the first two chapters of Swift playgrounds with voice over and the screen dark to level-set how hard it is.

I'm also going to check out Blocks4All, thanks for the tip!

@kimu @hpux735 Voiceover can be tuned by settings, so it might not work as you wish out of the box. Same for all readers..

@hpux735

Wish I could help personally - back in the 80s my actual job was making desktop computers and their software accessible through speech output and braille input.

Anyway.

My wife however is a special needs expert (yay) but assuming you have no access to appropriate equipment (voice output, braille keyboards) she suggested using a buddy system - basically another kid provides the hands and eyes.

It's not great but it can work.

Hope that's some help.

@adaddinsane @hpux735 I can understand how visually oriented folk might see that as suboptimal, but personally that’s how I collaborate best as a ND techie with 30+ years of professional experience. I only “see” abstractions in my mind’s eye, so not having to scan, lex and parse a stream of text physically (or, worse, decipher some visualization) is actually helpful.
@adaddinsane @hpux735 I’m pretty sure people prefer to not have me backseat drive their screen maneuvers as well..

@hpux735 This circa 2017 article describes #SwiftPlaygrounds on #iPad working OK with #VoiceOver, albeit with a hefty dose of confusing trial-and-error. Does that match your #blind student’s experience, or has its VoiceOver support waned in the intervening years? https://www.perkins.org/resource/swift-playgrounds-voiceover-challenge/

#a11y #accessibility #Swift #programming #coding #Apple

Swift Playgrounds – The VoiceOver Challenge – Perkins School for the Blind

In this article we look at the usability of the popular coding program with the VoiceOver screenreader.

Perkins School for the Blind
@mjgardner This is a really useful article, thanks!
@hpux735 @mjgardner when I was a junior wireless engineer a decade ago I reached out to tim.cook (at) apple.com about a problem affecting students using apple laptops at a university campus and had a senior engineer from apple get online with me to figure it out. Might be an option for an accessiblity problem too.
Accessible Coding – Perkins School for the Blind

Information on Quorum, an accessible programing language, as well as other resources & information related to blind programers & coders.

Perkins School for the Blind
@kellyromanych I'll check it out, thanks!

@hpux735 Minor self promotion: I run ppb.dev and it's code first so if you have a text editor that can work with a screen reader it might be worth looking at. (Happy to assist if there's questions.)

Does remind me I need to get some open license sound files and build some examples that use sound to express location.

@hpux735 Take a look at Quorum (https://quorumlanguage.com/). I've worked with that team on multiple occasions. Their Quorum Studio IDE is quite accessible on Windows, and getting there on macOS. That environment now has both a traditional text editor and an accessible block-based editor.
The Quorum Programming Language

@hpux735 test this before going back to the kid, but try microsoft’s Visual Code editor. It’s free. You can at least do html, javascript and maybe more. And there’s a good chance as its largely a text editor, it will work with Windows’ accessibility features.

Just a different approach and maybe there’s an expert in adapting the tech who can connect the ideas up

Do you know what the bounds of what the kid can do (other apps) or how mundane apps they might use?

@klforslund Thanks for your response. The kids all have to use their iPads, so it does kind of put a limit on what tools are available

@hpux735 ouch. Touch screens aren’t the best interface for blind folks.

Hopefully the right expert sees this and has a solution, but the school should not hold the blind kid to a standard if there’s a better tool for the need.

@klforslund Yah, absolutely.

To be clear this is very much an optional thing. I'm just volunteering to teach some kids nerdy stuff. Last year, I taught them (4th graders at the time) Snap Circuits.

@hpux735 @klforslund just want to throw out there that there is a lightweight version of VS Code available via browser if you need it https://vscode.dev/ - no idea how accessible it is though!
Visual Studio Code for the Web

Build with Visual Studio Code, anywhere, anytime, entirely in your browser.

@klforslund @hpux735 Touch screens are perfectly fine for blind kids especially if the environment itself is accessible. iPads have accessibility built in.
@ppatel @klforslund @hpux735 Mmm, they're usable. I wouldn't go as far as perfectly fine. YMMV.

@modulux @ppatel @hpux735 this. I’ve heard issues with the new touch screen elevator panels or ATMS

With a smooth surface, your fingers have no context as to where anything actually is. Unlike a actual keypad.

Accessibility features on a device that was clearly designed for sighted users is not a complete answer. It’s a workaround.

Which is why the blind kid is having trouble. Nobody starts with a blind approach

@klforslund @modulux @hpux735 I'm not suggesting by any means that, just because there's some accessibility for touch screens, it will be a good implementation of accessibility.
@hpux735 Did you try https://quorumlanguage.com/ ? It's built for a11y with voice stuff.
The Quorum Programming Language

@hpux735 I'm glad you are interested and willing to make your coding class more accessible to blind students. Swift Playgrounds should actually be VoiceOver accessible and a great way to get started. What were your students issues with it?
@darrell73 thanks so much for your response! It was challenging to figure out where the disconnect was. He was using ear buds and the headphone jack on the ipad. And, his ipad wasn't set to VoiceOver when he started. So, I wasn't sure if he wasn't experienced with VoiceOver generally? And, I couldn't hear what VoiceOver was saying, so I didn't know whether it was working or not. I think I'm going to use SwiftPlaygrounds with VoiceOver a bit so I have a better idea of what to expect, and hopefully be able to support him better.
@hpux735 Here's something from Perkins School for the Blind you may find helpful in getting started: https://www.perkins.org/resource/swift-playgrounds-voiceover-challenge/
Swift Playgrounds – The VoiceOver Challenge – Perkins School for the Blind

In this article we look at the usability of the popular coding program with the VoiceOver screenreader.

Perkins School for the Blind
Swift Playgrounds Coding Game Series | Hadley Vision Resources

Apple created the Swift Playgrounds app as a fun way to learn their programming language. We explore that app using our iPad's built-in VoiceOver screen reader.

@hpux735

@technocounselor Allison, can you help answer the above question by someone to teach code to a student with blindness?

@visionsofnapa @hpux735 I have reposted. I follow a lot of geeky blind people who should be able to help. :-) Also, I was under the impression that swift playgrounds was voiceover compatible.
@technocounselor Thank you for your response. Yes, I think it does. I tried that, but interestingly, it didn't seem like he had a lot of experience with voice over? It felt like it confused him. I think I'm going to go through the first two chapters of Swift playgrounds with voice over and the screen dark.
@hpux735 That sounds like a good plan. You might also want to go into the practice gestures area of voiceover settings to familiarize yourself with it a little bit. That will help you help him.
@hpux735 Also check out this app for learning voiceover. https://apps.apple.com/app/id6455786629
‎VO Starter

‎VO Starter teaches new blind and visually impaired iOS users how to use their device with Apple's built in screen reader, VoiceOver. Learning a new device can be challenging, and learning a new device and a new screen reader can take time and patience. VO Starter provides a step by step guide to le…

App Store
@technocounselor Allison, Thanks. You are awesome!
@hpux735 something on the console maybe? Python? (As loathe as I am to suggest that.) NXC would do, for Mindstorms NXC robots, we ran that from Debian, as long as they do that (including the Lego building) in a team, maybe.
@hpux735

Hello!!!
First of all I'm really sorry that this happened, please don't feel bad, this is such a general issue on a global level and it's really frustrating that its so hard for apps to be made to be inclusive and accessible.
Now, I searched a bit :
Have you tried the Hour of Code page?
https://hourofcode.com/gr/en/learn

it seems that they have accessibility options, for example activities that support screen readers (the options are on the left side of the page), I haven't tried any of the apps personally but maybe you will find something for coding there.

I found this information from this page:
https://code.org/accessibility
@hpux735 THANKS FOR CARING! 👏👏👏👏
@hpux735 There's a few acessible variations on these graphical coding applications, one of which is Code and Go.
https://tech.aph.org/codeandgo/
Code Jumper

Developed by Microsoft and distributed by APH, Code Jumper technology bridges the gap and opens up the world of coding to all students, regardless of visual ability.

@hpux735
Did you already ask #accessibility #a11y experts like @aardrian ? Or check with the #blind community?
@hpux735 if you have a local Apple Store it might be worth reaching out - they do Today at Apple sessions for kids coding and accessibility sessions, they might have someone who could combine them?
@littlemissgg Unfortunately we live an hour away from the closest Apple store :(
@hpux735 oh that’s a shame. I do know some stores do virtual sessions but I’m not really familiar with them. Hope you find some good dilutions through the others here! 🤞🏼
@hpux735 Sadly, like most fun tech products, the blind are excluded from participating due to poor designs and developer apathy. It’s definitely possible to get into programming— I’ve done it, as have many. You might look at Code Jumper from APH and Microsoft as a possible solution: https://www.aph.org/product/code-jumper/
Code Jumper | American Printing House

Code Jumper™ assists students in learning computer coding and programming skills through a unique, physical system.

American Printing House
@sclower You're absolutely right. I cared before at an intellectual level, but nothing makes it quite as salient as seeing how completely tech can fail folks that aren't typical. Apple regarded as the leader in accessibility in tech, so I'll admit I assumed it would be better.
@hpux735 They have done a lot of good, but most of it was spurred on by avoiding lawsuits from K-12 schools here in the States that required accessibility support in anything they procured. Outside of their built-in tools like VoiceOver, Zoom, and the like, access is bad to nonexistent (just try visiting icloud.com with a screen reader some time).
@sclower ugh, yah. Isn't that they way it always is... Thanks for that information 😄​

@hpux735 Have you ever looked at Sonic Pi? It's a programming language/environment which produces audio output - music -by default. It was originally designed for use in education, and has explicitly talked about improving accessibility for visually impaired users over the years. (It's also *really* fun to play around with.)

https://sonic-pi.net/

Sonic Pi - The Live Coding Music Synth for Everyone

Sonic Pi is a new kind of instrument for a new generation of musicians. It is simple to learn, powerful enough for live performances and free to download.