It is quite an experience to close your eyes and be able to make a yellow triangle using only voice guidance, tabs and enter or tap patterns. The canvas is one big picture so does not have built in accessibility for screen readers. We solved this by adding HTML tags in behind the canvas as a surrogate accessibility system.
A caveat… handling accessibility on the canvas was extremely tricky to code. The goal was to put HTML tags with proper Aria parameters in behind the canvas to accommodate accessibility. Over the three years since its launch, we have massaged the code to fix issues with different readers. The majority of the features work with Windows Narrator, Apple VoiceOver, Android TalkBack and NVDA. We expect others to work as well.
Accessible Components on the Canvas
Here is the code to make a Button, Slider and Dial accessible in ZIM. This will put the components on the screen and make them available to a screen reader and add a highlight box around active components.
new Dial().pos(0,-100,CENTER,CENTER);new Accessibility();