Using capslock as screen reader key on Parallels

The caps lock key is often used across multiple operating systems to trigger screen reader functionality. This can become an issue when running multiple operating systems under Parallels. Typically, I have re-mapped a key to act as the screen reader key under Parallels, this works but it has two main issues: I lose a key and I have to perform some ridiculous finger gymnastics for keyboard shortcuts.

I wanted a far more refined solution. Ideally the caps lock key would automatically identify which operating systems windows was currently selected and trigger the appropriate screen reader. The great news is I finally have this working. There are a few steps to make sure it will all work smoothly.

Requirements

  1. Windows installed through parallels and running in Coherence mode

  2. NVDA installed with insert as one of the trigger keys

  3. Install Karabiner-Elements

  4. Download this extract the JSON

5. Copy the JSON file from above into the following folder: ~/.config/karabiner/assets/complex_modifications

  1. Activate the complex modification from above in Karabiner-Elements

Now when switching between apps running in coherence mode in windows and your native MacOS applications, the caps lock key will trigger the appropriate screenreader.

I run a whole host of other keyboard modifications that I will post in future, so keep an eye out on the blog.

Google Drive on ARM under Parallels on the Mac

For the Last few months I have been perfecting my Windows 11 setup through Parallels on theMac. While, Apple Silicon can run windows 11 fantastically well, tailoring to my workflow may take a while. There’s still a way to go, however, a substantial hurdle was solved this week.

I now have access to Google Drive under ARM through the file explorer. It is worth mentioning, that Google have publicly said they have no plans to support Google Drive on ARM for windows. So we are left looking for other solutions. Thankfully, this week I have one. Mountain Duck works well under ARM and is capable of mounting Google Drive as well as other cloud services. Giving complete access to Google Drive through the file explorer.

It is a great solution ands one step forward for supporting my complete workflow.

Creating, editing and presenting slides as a blind teacher

As many teachers will tell you having some slides makes teaching a lesson far easier. So how do you create the slides when you can’t see?

PowerPoint and Google Slides work ok in presentation mode with a screen reader, assuming no complex images and standard flow. However, as soon as you switch to creating or editing that accessibility quickly changes. Adding titles, lists and text elements is a laborious task. It just takes forever, what may take a sighted person a few minutes to create, could take a screen reader user 10 or 20 times longer. Imagine that, your main teaching resource taking 10 or 20 times longer to create each time.

So what’s the solution? How do i generate slides, present them to students and mask the screen reader? Oh, and right now do all that virtually.

The answer is markdown, reveal-md and reveal.is and AirServer. If you don’t teach computing all those terms may look a little alien.

So lets start with a sample presentation,, Quick demo deck.

The markdown text below is what generates that slide deck.

Quick slides

How fast 🚀

  • Super fast slides
    • with simple access to lists

    Easy Headings

    That get smaller

    & smaller


    It’s that simple

    • quic, simple formatted slides
    • Text access to images, video, tables & everything you can think of!

As you can see its just plaintext. The punctuation does all the formatting of titles, lists, text and images. Anything you can think to put in a PowerPoint or google slides deck you can do with plaintext and some punctuation.

But how do i mask the screen reader from the students? After all when i present i need to know what the slides say, but I don’t want to expose the screen reader to the students. It would be highly confusing and distract from my teaching.

The key here is an app called AirServer and an iPad. After generating my slides with reveal-md i access them on my iPad. I then use AirPLay mirroring from the iPad to AirServer running on a windows laptop. This separates the audio, so with some headphones i receive the screen reader audio and all the students see are the slides. The beauty of this setup is it works just as well in a physical classroom as a virtual one.

In the physical classroom the AirServer screen is displayed on the interactive white-board and i control it through my iPad. In the virtual room the AirServer is the shared or presented app on the virtual call.

Both setups allow me to deliver the lesson without students aware i am accessing the slides using a screen reader. The true beauty however, i can create a presentation in minutes. I dare say i am faster than a sighted person using PowerPoint or google slides. After all we both have to type the same text. But while they are clicking around the app to make titles, or add lists, all i do is type some punctuation and all that formatting is taken care of.

It’s a beautiful way to generate slides and importantly incredibly accessible to create, view and edit.

Making Graphs And Plots Accessible For The Blind

During my computer science masters, there was a need to analyse data through plots. Analysing graphs and plots while blind is near impossible. Unable to see the lines or bars means you rely on sighted assistance or jumping through the data points with a screen reader. Jumping through the data points is easy with 20 or so data points, increase that to 20,000 and things get significantly harder.

With these issues in mind i focussed my dissertation around increasing accessibility to data. Part of the project is an audio plotting system built in python.

The intention was to create a system that was easy and fast to use. Plots can be generated for line, bar and histogram by passing through most data structures. Anything that contains numbers and is itterable will generate an audio stream. Below is a brief video demonstrating a test procedure for line plots.

Currently, the plotting works well under MacOS and Linux, Windows is not currently supported. Windows support is reliant on some core audio modules that are not simple to install. As soon as i find a simple solution I will update the python code to support windows.

You can grab the python module here. Instructions are included in the git repository on how to use the module.

I am happy to continue work on the module if there are any features people require. I hope others find this useful especially in educational settings, as this module enables blind and visual impaired students to generate plots as easily as their sighted counterparts.

🙈

Easy Access To Emoji Entry With VoiceOver For MacOS, IPad And IPhone

Emoji’s are something i have never had the opportunity to fully explore. As a blind person i have found them difficult to use under MacOS and iOS. There exists no simple way to search and use emoji. Apple does however, offer a fantastic system to understand emoji, so i have always felt left out. I want to use them, its just not easy to.

Well all has now changed. While, exploring accessible ways to generate slides for presentations i came across GitHub emoji short codes. A text based system that is used to generate the emoji, so for example :tada: is converted to a 🎉 emoji. This offers the entire emoji character set through text. Perfect!

Now enter another fantastic Apple tool, text replacements. With text replacements i could use the same GitHub shortcodes across MacOS and iOS to have access to the full emoji character set. This has given me complete access to the emoji set with VoiceOver across all my devices, its fantastic. The steps below will enable you to get access across all your devices.

Emoji setup

  1. follow the instructions here

That’s it, there is only one step!

I hope you enjoy full access to the emoji character set and keep an eye out for my accessible slides post!

🙈

Treadmill Training For The Blind And Visually Impaired

Training on a treadmill when blind has a number of challenges mainly interacting with the controls, monitoring progress and trying not to fall off. There are however, a number of steps we can take to make the experience as accessible as possible. THis is thanks to a few pieces of technology: an iPhone, some Bluetooth sensors and an Apple Watch.

The key to tracking progress is having two metrics. For example, time and heart rate, time and distance etc. With two data points progress can be tracked. Therefore, that is our target, to always have two accessible data points for progress monitoring.

Treadmill

Before we can start using technology to make tracking progress accessible, we need the right treadmill. Any treadmill that has speed and elevation as physical buttons will suffice. Generally, even touch based treadmills still have physical buttons for speed and elevation.

When starting the treadmill it starts at a default speed. It is important to know the default speed of your treadmill, to learn how many presses to get to a given speed. YOu can do this by using something like SeeingAI or ask a sighted person. From that point on its a case of pressing the buttons the required amount.

But how do you not fall off? Practice! After years of running on a treadmill i still find myself holding onto the hand rails now and again. So do not be afraid to hold on until you are comfortable. If you still retain light perception focussing on a light source and ensuring you keep it central can also be a great help. Additionally, using a physical tether you place on the hand rail can be helpful.

Wahoo

Wahoo on the iPhone is a fantastically accessible application that works with a whole host of Bluetooth sensors. The app is well worth exploring to discover all its functionality as you can create some very detailed and specific setups to suit your needs. The important thing to note for accessibility is that it has a highly customisable audio feedback system. You are able to create triggers for distance, time heart rate, battery level and so on. This enables you to create a system that can give heart rate every minute, battery level every 10 minutes, workout distance every 3 minutes. The customisations are up to you. I however, have an announcement every minute for distance, speed and heart rate. I find this sufficient for my training needs.

Heart rate sensor – Wahoo TICKR Heart Rate Monitor, Bluetooth / ANT+

The Wahoo heart rate sensor is a Bluetooth enabled heart rate strap. It is simple to configure, strap it on open up the wahoo app and add a new sensor.

Heart rate crucially is a simple and effective way for a blind person to train on a treadmill. Choose a heart rate zone to train in and off you go. A good start would be to run at 65% of your maximum heart rate. With audio triggers set to every minute this is easy to track and just requires you to adjust speed and elevation on the treadmill as you see fit.

Bluetooth foot pod – Zwift RunPod

**PLEASE NOTE: the Bluetooth sensor mentioned here is not the one i use. The sensor i use has been discontinued, with the Zwift RunPod its replacement.
Zwift RunPod
Is another sensor that will enable a broader range of data points: cadence, speed and distance.

The setup is similar to the heart rate sensor, open wahoo add a sensor and away you go. With multiple data points you can choose the ones you would like to train with. It is worth noting however, that speed is a difficult metric to train with using this type of sensor, as the speed will jump around quickly making it difficult to track. Distance or cadence are easier to train with. I have found the distance is accurate to my treadmill distance, so is an ideal pairing. There is an option to adjust the sensor within Wahoo if you find the distance metrics do not match those of the treadmill.

Apple watch

The Apple Watch removes the need for Wahoo and its additional sensors. It is capable of heart rate, distance and cadence. I find my watch tracks quite well to my treadmill distance. The one downfall however, is automatic audio feedback. I find that so useful when i am training long on the treadmill. I do however, find my watch incredibly useful for outdoor running and prefer to use it over the app based system on my phone.

SO what do I use?

Right now i use a combination of all the systems above. With Wahoo i use a 1 minute interval for feedback but still find myself tracking on the watch too. For treadmill training it appears we have lots of options and its worth trying them all.

If you have any questions feel free to ask and i will do my best to answer

Last year -> this year

Entering a new year always makes me ponder the challenges and goals for the year ahead. The past year has been the usual treading the lines of technology, inclusivity and running so the year ahead will cover those bases but in new ways.

Last year my two technology highlights were creating an eye gaze control system and working on user led accessible hackathons. The eye gaze system saw its first use in a real time painting robot, its applications however, are much broader and would be great to see it integrated with environmental control in 2019.

The hackathons were also a fantastic success. There was a careful and thoughtful focus in the projects being user led. This allowed a number of disabled people to nengage, highlight a goal they had and be a key driver during the hackathon. This is something we hope to grow not only this year but in future years.

This year I intend to work on the sonification of data to enable greater inclusivity within computer science and particularly machine learning. Interpreting and analysing data is an important step and the current tools are somewhat lacking. This will form my MSc dissertation project and looking forward to getting stuck in.

Through exposure to some incredibly interesting projects through the hackathon work, i also intend to do a few side projects around switch access. With a focus on zero force switch access, i.e. trigger switches without.a physical press of a button.

The inevitable over eating at Christmas has also ensured i commit to some running. My favourite side of running nowadays is helping others achieve those goals. So in the first half of this year i will be training with a few friends and crossing the finish line alongside them on their first races.

There is of course always the thought of pushing the boundaries, something that is never too far away. All i need is for LIDR to drop in price and that line of possibility will be moved forward once more.

HOWTO change the font size in safari on the iPad and iPhone

The ability to change font size can have an enormous impact on accessibility. Pinch and zoom is wonderful for this on iOS, but it introduces another problem. Zoom to much and you now have to scroll sideways as well as down to consume content.

There is however, a little workaround. You can increase and decrease the font size on a per site basis in Safari. This is done through a bookmark, adding two bookmarks one for increase and one for decrease. You can manually set the appropriate font size. Reloading the website will return the font to its original size.

To enable this feature follow the steps below:

  1. In Safari create a new bookmark, this can be of any website as we will be editing it soon
  2. Open bookmarks and tap edit and edit your new bookmark
  3. Change the Title to either Increase Font or Decrease Font
  4. Copy the Appropriate code from below into the link fiel
  5. Click save and repeat so you have both increase and decrease font size bookmarksd

Increase Font size

javascript:var%20p=document.getElementsByTagName('*');for(i=0;i%3Cp.length;i++)%7Bif(p%5Bi%5D.style.fontSize)%7Bvar%20s=parseInt(p%5Bi%5D.style.fontSize.replace(%22px%22,%22%22));%7Delse%7Bvar%20s=12;%7Ds+=2;p%5Bi%5D.style.fontSize=s+%22px%22%7D

Decrease font size

javascript:var%20p=document.getElementsByTagName('*');for(i=0;i%3Cp.length;i++)%7Bif(p%5Bi%5D.style.fontSize)%7Bvar%20s=parseInt(p%5Bi%5D.style.fontSize.replace(%22px%22,%22%22));%7Delse%7Bvar%20s=12;%7Ds-=2;p%5Bi%5D.style.fontSize=s+%22px%22%7D

Now whenever you need to adjust the font size on a website, tapping the increase or decrease font size button will adjust the font on your current website. This is a simple way to increase the accessibility of any website in Safari on the iPad or iPhone.

Apple defining the future of accessibility

with the public beta of iOS 11 now well underway, I thought it was time to dive in. There have been a number of improvements for accessibility but the two i would like to cover are smart invert and image description.

For the past few years the way we interact online has been changing. In the early days of the internet and indeed the early days of social media, interactions were predominantly text based. Now however, images and video reign supreme. This leaves the blind and people with low vision at a disadvantage. We now struggle to interact online. It is easy to miss out on the thread of a conversation if it begins with an image or if images are posted as comments. Facebook and Twitter have made improvements on this front, the former adding automatic image tagging and the latter allowing the user to add tags to an image. This is however, restricted. Not only to Facebook in its case but for TWitter relies on the user to add those additional tags. It is easy to see how restricting this can be for the blind and visually impaired. Dare to go outside these wall gardens and ;it becomes even worse.

So Apple’s new image description feature is welcome indeed. Interestingly within Facebook you now have two sets of tags. Selecting an image with VoiceOver initially reads Facebooks tag then a three finger tap Apple’s. This can give even more context to an image, as right now both systems seem to focus on describing the images slightly differently. Using the feature on twitter means for the first time all images can be described. It truly is a wonderful feature and i have used it multiple times in each use of an app. It is worth noting of course, that this works across all apps, so no matter where you find an image, a triple finger tap gives you that vital detail.

This leads me to Apple’s other new feature Smart Invert. Previously inverting the screen meant all images and media was inverted too. Now this is done intelligently and media is no longer inverted. This is instantly noticeable on the home screen, where icons are no longer inverted. Open an app with a dark background and the system is smart enough to know not to invert. This is truly powerful for people with low vision. This is the difference between not being able to see photos one day and you can the next. As an example, there was a point in my sight loss journey where i was unable to see faces in real life, but i could in a photo. This is because you view a photo on a backlit screen so there becomes enough contrast. However, with a white background this contrast difference can be lost and you no longer see the image. This smart invert corrects for that.

These two new Apple features for me are the greatest steps forward for accessibility in years. It is hard to put into words what it will mean for people to see photos again. Or even enable them to interact more socially online. Apple has now set the bar incredibly high for accessibility, the competition needs to take note. It isn’t about policy, its about ensuring people can always connect and engage. That is what true accessibility is..

AirPods, The Most Accessible Headphones

Headphones are an often overlooked but essential piece of equipment for the blind. Accessing a screen reader in the privacy of your own home in a quiet room is a simple affair, you can just use the loudspeaker of your phone or computer. Add some environmental noise, head outside or dare to venture into a coffee shop and the loudspeaker is no longer functional.

Headphones enable me to use my iPhone both indoors and out and about, i literally couldn’t use my iPhone without headphones. Therefore, over the years i have amassed a rather substantial collection. Everything from a cheap pair of JVC up to a rather expensive pair of active noise cancelling Bose. I am rarely seen without a pair of headphones and have them stuffed in every pocket and every bag.

I am constantly looking for the perfect pair of headphones, the pair that will make using my iPhone that much more accessible. Now i have found that elusive pair, the Apple AirPods.
The AirPods are Apple’s truly wireless earbuds. Two single ear pieces that fit snugly inside their own charging case.

They solve many of the problems a blind user has with headphones. Cables. Cables are a nightmare. Get them tangled in your pocket? Try untangling them when you can’t see. It just takes that much longer to untangle them. To the point where if I quickly need to access my phone i would prefer not too. The time taken to untangle the headphones ends up being greater than the time i needed to use the phone. So often i would either ignore a notification and vow to take a look when i got home, or place the phone close to my ear to listen. After all with a screen reader the only way you get privacy is by using headphones. Imagine if all your texts were read aloud? That embarrassing one from your friend is even more embarrassing when everyone in the lift hears it too!

So the wireless nature of the AirPods truly makes them more accessible. I can just quickly and easily slip them in. No cables to un tangle, just flip the lid of the storage case and they are in my ears for that quick check of my phone.

This brings me to one of my other favourite accessible features. Only using one of the AirPods. When you rely on sound to understand what is happening around you, having one ear focus on the screen reader frees up the other to environmental noise. Handy when walking down the street and handy at home or in a meeting. Previously if i received a notification in a meeting and hadn’t worn headphones upon entering i am left with three options. Ignore the message, go through the messy untangle process or interrupt the flow of conversation by having everyone hear your notifications through the loudspeaker. Now.I have a fourth option, just slip in one AirPod and i am away.

While out and about another side effect of being blind is generally having only one hand accessible. To navigate around i either use my guide dog or a long cane. This basically gives me no way to untangle the headphones, so i would often go for the loudspeaker approach. This is gambling with the possibility of dropping your phone as you attempt to juggle it around with one hand.

Now i just slip out one AirPod from the case, pop it in my ear and activate Siri.

There is one other fantastic bonus of using one ear piece. I double the battery life. Not to mention whenever i remove them from the case they are fully charged.

The AirPods truly have increase the accessibility of my iPhone by enabling me to use it in more daily events. I no longer have to remove myself from a social space to use my phone, these AirPods are increasing my social ability.

They truly are the most accessible headphones.