General

Designing for Accessibility

Accessibility is something near and dear to our hearts at M Cubed Software. For over a decade we have advocated for making software accessible to everyone, and over that time have helped many other developers to improve the accessibility of their apps. So when it came to developing Coppice, accessibility was high on the priority list.

Making an app accessible doesn't just help the 15% of the population living with a disability, it also helps every single user by letting an app better adapt to their needs and workflow. By making accessibility a core part of the design process, rather than simply an afterthought, it ultimately helps you build a better app for everyone.

So what are some of the ways we've made Coppice more accessible?

Keyboard Navigation

Coppice is a very visual app, especially on a Canvas. In many cases you will use a mouse to navigate around the UI, but it's also helpful to navigate using the keyboard. We've worked hard to provide support for fully navigating Coppice's UI with just the keyboard by hitting the tab key.

This even extends to Canvases, where you can tab between pages, and then the controls within a page. We even flash the page content when you tab to it, to let you know exactly where you are in the UI.

Moving Pages

One of the primary tasks you will perform on a Canvas is moving pages around. As well as dragging pages with a mouse, you can use the arrow keys on your keyboard to move the selected pages around the Canvas. Holding down the shift key will move pages 10x as much, letting you quickly zoom about.

Sidebar Sizes

For many people, being able to change the size of parts of the UI can massively improve their ability to use an app. Some people prefer a UI to be more compact to fit more content on the screen at once, whereas others prefer the UI elements to be bigger so they are easier to read and interact with.

With Coppice, we support the ability to change the size of the sidebar in a document. By default this matches your system settings, but you can also override this specifically for Coppice, if you prefer something different

VoiceOver (and other assistive tools)

It's also vitally important to provide full support for those who use assistive tools such as VoiceOver. In many cases this just means ensuring controls are correctly labelled in the UI. We have also made the effort to ensure navigating through the UI with assistive tools is as easy as possible, by ensuring the UI has a hierarchy of groups, rather than appearing as one long, flat list of every element in the UI.

Coppice also presents other challenges. By its nature, it is a very visual tool. So how do you communicate this to someone who may not be able to see? There are also other actions such as resizing a page. How do you make this functionality available to someone who cannot see the page edges or who may not have the fine motor function to be able to use a mouse?

The video below shows some of the solutions to these problems we have added to Coppice. When you select a page using an assistive tool like VoiceOver, it reads out the page type as well as where that page was linked from, which gives you some context as to the relationships on the canvas. Interacting with a page also exposes special resize handles so that users of assistive tools can easily resize a page.

The Future

This is just the start for accessibility in Coppice. As with any aspect of software, there are always ways to improve accessibility. Our goal is to make Coppice one of the most accessible pieces of software around. That's not an easy task for an app as complex and as visual as Coppice, but it's one we intend to continually work on.

To achieve this we will need your help. If you ever find something in Coppice that feels inaccessible, please get in touch and we'll try to fix it as soon as possible. And if you want to try out the features above before release, you can add your name to the waiting list for the Coppice Private Beta.

As always, if you would like to stay up-to-date on Coppice, make sure to subscribe to the Coppice Blog, the Coppice Mailing List, and follow @mcubedsw on Twitter.