According to the latest numbers from the World Health Organization, over a billion people in the world live with some sort of disability. Addressing the various accommodations, abilities, and disabilities of the world's largest minority may seem like a daunting task for developers of all stripes, but Colin Fulton is up for it. He wants to change the way accessibility is viewed and perceived in the Linux and open source communities.
I was lucky enough to get a chance to interview Colin and find out more about his upcoming LinuxCon talk, what he hopes his audience will gain from attending, and his fresh, diverse viewpoint on disability—as well as why accessibility is actually an integral part of the open source community.
You can find out more about his talk at LinuxCon 2015.
Tell us about yourself, and the talk you're giving at LinuxCon North America this year.
I come from a fine arts background and still freelance occasionally, doing designs for theatrical productions & installation art pieces. Currently I work for the University of Michigan Libraries. They saw that their current interfaces were crufty and inaccessible, and brought me on as an interface developer and web accessibility specialist.
There are hundreds if not thousands of exciting talks, blogs and papers about innovative database architectures, containers, programming paradigms, etc, but most of the resources about accessibility are about either checking off items in some checklist or admonishing inaccessible interfaces. Those are important subjects that should not be overlooked, but there is so much more to accessibility.
My talk is about how exciting and interesting software accessibility is. It is about the fascinating technologies that have opened up computers for millions of individuals, and how accessible software development can drive innovation, better designs, easier to manage code, etc. The content is friendly for developers, designers, managers or anyone who is interested in technology
What makes software truly accessible? How does the Linux accessibility stack work to enable the creation of accessible software?
Accessible software is software that can be used by people. That's it. Some people prefer to not use a mouse, while others can't because of a disability. Visual acuity varies greatly from person to person and the ways that people process information also vary. Software that is truly accessible embraces that diversity and adapts to let people use it however is best for them.
Part of accomplishing this is about having a good design, but it would be silly to have to implement text to speech conversion, alternative controls, screen magnification, etc. in every application you build. Luckily there are accessibility APIs that can facilitate communication between your application and assistive technologies that provide those additional functions. The people working on GNOME created open accessibility APIs (ATK and AT-SPI) to facilitate that communication and to give an open source friendly alternative to the APIs created by Microsoft and Apple. Though you can implement the calls to and from those APIs yourself, QT and GTK+ both implement them with all the widgets they provide, so if you are working within one of those frameworks a lot of work has been done for you.
What's the most challenging part of coding accessible programs and applications?
The biggest challenge varies from application to application, but testing is incredibly important, often forgotten, and troublesome. Unless your interface has been audited, you can't know whether or not your interface is meeting your users needs. There are tools that automate some parts of accessibility testing, but a lot of the work has to be done by hand because a computer doesn't understand context. Example: an automated test suite can tell if something has a text label, but not if that label makes sense.
Large companies can afford to have QA departments to do their accessibility testing, but for small projects the time and/or money involved can be prohibitive. In addition, full audits require a lot of knowledge to make sure that nothing is left out. Hopefully as the importance of accessibility issues become more known in the development community, the resources and tools available will improve. From the web accessibility side of things the open source community scored a major victory when Deque, a big vendor of accessibility auditing tools, open sourced their auditing tools' engine.
Why should people with disabilities be given consideration by developers in the open source community?
There are two parts to this question. One is why people with disabilities should be given consideration by any developer. Simple: not considering people with disabilities is ableist. Assistive technologies are already available that let a wide spectrum of people to more easily use computers, so the main thing standing in people's way is whether or not we as software developers put barriers into our software.
The second part is of this question is why these issues are especially important for the open source community. Accessibility gets to the vary core of what open source means. If we really want to make software that is freely available for people to use, share, improve and modify, we have to make sure that that software doesn't exclude some people because it is inaccessible. That defeats the core purpose of open source. As a side benefit, accessible software is software more people can use, and if you can have more people working on your project, your project will be better for it.
How can we include people with disabilities as an equal part of recent efforts to increase diversity in the open source community?
I am not an expert in growing and nurturing communities, but there are some simple things that are often missed. First, including people with disabilities in outreach efforts is very important. This isn't just a token gesture, but it vital to ensuring the things are done well. Along the same lines: involve individuals with disabilities in event planning. Of course events should always frequently mention that they can and will offer assistance to anyone who needs certain provisions, but people with disabilities offer a unique perspective and can catch problems that are not readily apparent to other event planners. The more diverse voices that get involved in all aspects our community the stronger our community can be.
What do you hope to see develop—technologically, culturally, etc.—in the realm of accessibility?
Culturally our model for dealing with accessibility is wrong. We treat people with disabilities as if they are "broken", that they have a problem and are separate from the rest of society. However, disability is part of our diversity. Many people are proud of their disability and see it as part of their identity. As developers we must realize that disabilities do not prevent people from using computers; software and the interfaces we produce prevent people from using computers.
Technologically there is a lot of room for innovation. There are interesting projects like GPII that are working on ways that users could go to any desktop, mobile device or even things like ATMs and have the computer automatically adapt to their needs, whether that means changing settings or giving them access to assistive technologies wherever they go.
If we embrace assistive technologies as a first class citizen, it could influence large changes in how we architect our user interface code, and in turn those changes can make interface development easier. If your curious about how that can happen, you should attend my talk.
This article is part of the Speaker Interview Series for LinuxCon, CloudOpen, and ContainerCon North America 2015. LinuxCon North America is an event where "developers, sysadmins, architects and all levels of technical talent gather together under one roof for education, collaboration and problem-solving to further the Linux platform."