Tech Notes
Screen reader software presents computer content verbally through audio or through braille displays. This software achieves this by taking the computer’s content, which may not necessarily be presented in a linear format visually, and transforming it to a form where every piece of content is either before or after the next. This forms a navigable document with which screen reader users can interact, eliminating the need for a monitor or display. While principally used by people who are blind or visually impaired, screen readers are complex and flex the full limits of what accessibility innovations are built for. If it works with a screen reader, it's most likely going to work with other assistive technologies, and so they are a great indicator of how accessible and usable a digital interface really is.
Human-Computer Interactions
Before discussing screen readers, it may be easier to start by exploring other monitor-less ways of interacting with a computer. Thinking about past computer peripherals and the new wave of Internet of Things (IOT) devices highlights the many ways users can interact with a PC. At one point, teleprinters were the de facto method of interacting with computers: users would send a message to the computer on a keyboard, then they would expect a computer output from the teleprinter that printed text on paper. What user experience considerations are there for this device? One is respecting that the teleprinter is consuming ink, for starters. IoT devices invent new human-computer interactions as well. An IoT coffee pot could let you know it is out of coffee and about to order more with a chime, a flashing light, and/or a phone call–no monitor required.
Screen Reader Software as a Movie Script
Using a screen reader is one way to interact with a computer; think of it as reading an interactive movie script. A movie script has a cast of characters, speaking and acting directions, camera movement instructions, and additional post-production notes. It is also a primarily linear document in the sense that order matters, but it may be split in a multitude of ways by actors, scenes, or shots. Similarly, the screen reader takes each component on the screen and determines its order in the script, what additional cues or options a given component may have, and additional context directions. The screen reader virtual document is also primarily a linear document, but users can access or move ahead to specific interests or topics in the document.
A movie script does not micromanage or detail every aspect of the movie, only specifies the important parts. The acting notes may say the actor takes a drink but likely does not state that the actor should take a drink with their left-hand (unless that is relevant to the plot). Likewise, a screen reader does not go into detail every aspect of the screen. For example, a screen reader does not verbally describe the screen the same way a sighted user might describe the screen. A sighted user may describe that a button is green in a large panel with other buttons on the right-hand side of the screen, but a screen reader does not do that. It would identify the button, put it into the script order, and state what the component is as described by the code markup. Notice, the screen reader does not immediately convey anything about it being on the right-hand side or that it is green or any other information about its physical appearance not relevant to functionality. The goal is to efficiently make a linear path of the screen where one component leads to the next.
Screen reader users can also skip around the “script” and scan for information. For example, headings are critical to allow screen reader users to hop around the “script” to get to the “scene” or content they are looking for. Using headings adds a three dimensional component to the document that allows movement not only forward and backward but also by content heading. The same is true for features like form fields, buttons, links, and other interactive elements.
It is critical to create interfaces that are built using inherently meaningful (semantic) elements to ensure screen readers understand the role of each element in the interface, which we describe in more detail in this “Name, Role, Value” post. When elements are only visually meaningful, but not programmatically meaningful, then screen reader users lose out on content. Therefore, you should always design for the multitude of ways users interact with computers.
About AFB Talent Lab
The AFB Talent Lab provides accessibility consulting services in conjunction with internship and apprenticeship programs designed to train a new generation of tech workers in digital inclusion, accessibility, and project management. To learn more about our client services or training programs, please visit our website at www.afb.org/talentlab.