Last month, the World Wide Web Consortium (W3C) released a new recommendation, "Accessible Name and Description Computation," that aims to help people using assistive technologies to browse the web. So what does this new W3C recommendation mean for web accessibility — and what is a W3C recommendation, anyway?
What is a W3C Recommendation?
W3C is an international community composed of hundreds of different organizations around the world, each one dedicated to the goal of improving the World Wide Web. As such, W3C constitutes the World Wide Web’s primary international standards organization. W3C members have developed standards for critically important web technologies such as HTTP, HTML, CSS, XML, and DOM.
On a regular basis, W3C publishes documents that define, clarify, or update the standards for a given web technology. These documents are intended to invite participation, discussion, and perhaps revisions from all W3C members. At the end of this process, W3C publishes a Recommendation that serves as a mature, binding standard for a given technology.
W3C is especially well-known in the world of web accessibility for publishing the Web Content Accessibility Guidelines (WCAG) and the Web Accessibility Initiative – Accessible Rich Internet Applications (WAI-ARIA) technical specification.
WCAG is a set of recommendations for how to make web-based content more accessible to people with visual, hearing, motor, and cognitive disabilities. The latest version of the WCAG standards, WCAG 2.1, was published in June 2018.
WAI-ARIA (or just ARIA for short) is a document that defines a framework for including additional information about web content and applications, in order to make them more accessible. This information consists of three main parts: roles that define the purpose of an element, as well as the element’s current properties and states.
What is the W3C Accname Recommendation?
On December 18, 2018, W3C published the “Accessible Name and Description Computation” recommendation (shortened as "Accname"). The Accname recommendation intends to make it easier for web browsers to collect important information about web content.
In the words of W3C: “This document describes how user agents determine the names and descriptions of accessible objects from web content languages. This information is in turn exposed through accessibility APIs so that assistive technologies can identify these objects and present their names or descriptions to users.”
This is a fairly technical description, so we’ve defined the key terms below:
- User agent: A software application, such as a web browser, that serves as an intermediary between web content and the end user by sending and receiving information.
- Accessible name: A short label for an element in the user interface that explains its purpose, which may vary depending on the type of element. For example, the name of a dialog button is simply the text of the button (e.g. “OK” or “cancel”). The name of an image is the alternative text encoded in the alt attribute. For example, the name of the image represented by the HTML code <img src="pancakes.png" alt="Stack of pancakes"> is “Stack of pancakes.”
- Accessible description: Additional information about an element in the user interface, beyond what can be communicated in the element’s name. For example, the accessible description of a painting may be an in-depth explanation of what the painting depicts. Meanwhile, the accessible description of a table with different statistics may be a summary of the most important information from the table.
- Accessible object: Markup elements in HTML (such as images, tables, forms, and lists) and other web content objects that can be identified with an accessible name and/or description.
- Web content language: A language such as HTML and XML that presents web content to the user in a defined semantic structure.
- Assistive technology: Any tool used by people with disabilities that makes it easier to perform a given task or function. In order to browse the web, people with disabilities often use assistive technologies such as screen readers, screen magnifiers, text-to-speech software, and alternative input devices.
- Accessibility API: An API (application program interface) is a defined set of operations that describes how software and hardware can interact with other software and hardware. An accessibility API is an API that is specifically intended for use by assistive technologies.
People using assistive technologies such as screen readers may have low vision or be totally blind (though there are any number of other reasons or combinations of reasons someone may use a screen reader). Therefore, they depend on having strong, informative names and descriptions for the elements in a web page that the screen reader can convert to synthesized speech.
The basic idea behind the Accname recommendation is to define how web browsers and other user agents calculate these names and descriptions, before sending this information to assistive technologies.
For example, suppose that a web page contains a calendar application defined by the following HTML code (as borrowed from the Mozilla WAI-ARIA documentation):
<div role="application" aria-labelledby="calendar" aria-describedby="info">
This calendar shows the game schedule for the Boston Red Sox.
Web browsers must determine how to translate this HTML code into accessible names and descriptions that are usable by screen readers.
According to the Accname recommendation, when presented with the code above, web browsers must first examine the aria-labelledby and aria-describedby attributes when computing the name and description, respectively. Because they are explicitly intended to provide names and descriptions for accessible objects, these two attributes take priority over all other information.
Therefore, the web browser would compute an accessible name of “Calendar” and an accessible description of “This calendar shows the game schedule for the Boston Red Sox.”
This is a short and straightforward example that hopefully provides a baseline level of understanding.
Here to help you achieve web accessibility
As a new W3C recommendation with a lot of technical terminology, Accname can be confusing even for hardened pros in web accessibility. If you need assistance implementing W3C’s Accname recommendation — or other web accessibility standards such as WCAG — contact the Bureau of Internet Accessibility for a free consultation with our web accessibility experts.