Skip to main content

What is the Accessible Name? - The Name for Assistive Technologies

Information about the article

Portrait of Dmitry Dugarev wearing glasses in a black shirt and smiling

Author: Dmitry Dugarev

Consultant for digital accessibility & IT compliance

Last updated on:

Imagine you enter a room full of switches, but none of them are labeled. You wouldn't know which switch turns on the light, which starts the ventilation, or which triggers the alarm.

Quite impractical, right?

That's exactly how users of assistive technologies (AT), such as screen readers, feel when interactive elements on a webpage lack a name. The Accessible Name is this crucial label for the digital world. It gives an element an identity that can be programmatically read by software and conveyed to users.

Without it, a button is just a "Button" and an input field is just an "Input Field" – without any context about what they do or what they are for.

What is the Accessible Name?

The official specification "Accessible Name and Description Computation 1.1" of the W3C defines the Accessible Name as follows:

The accessible name is the programmatic name of a user interface element that is presented to an accessibility API. The accessible name is used by assistive technologies to identify and refer to an object. [1]

Translated, this means: The Accessible Name is the programmatic name of a user interface element that is made available to an Accessibility API. The Accessible Name is used by assistive technologies to identify and refer to an object.

Detailed Explanation

The Accessible Name is a central concept of digital accessibility. It is the textual representation of an element that is passed to the Accessibility Tree. This tree is a special representation of the webpage created by browsers, optimized for assistive technologies. A screen reader does not read the HTML code (DOM) directly but interacts with this Accessibility Tree.

The browser calculates the Accessible Name for every relevant element according to a fixed priority list. If you, as a developer, know these mechanisms, you can intentionally control how your UI elements are perceived by screen readers and other tools. The computation is surprisingly logical and follows a cascade that ensures the most robust method takes precedence.

The following diagram illustrates this decision process in a highly simplified manner:

Text description for the schema "Simplified Hierarchy of Accessible Name Computation"

The flowchart begins with the assertion that an element requires a name. The first check step is whether an aria-labelledby attribute is present. If yes, the content of the elements it refers to is used as the Accessible Name, and the process ends. If no, it checks whether an aria-label attribute exists. If yes, its value becomes the Accessible Name. If no, it searches for a native HTML label, such as a <label> element for an input field or an alt attribute for an image. If one is present, its content becomes the Accessible Name. If not, it checks whether the element itself has text content, such as a button. If yes, this text is the Accessible Name. As a last resort, it checks whether a title attribute is present. If yes, its value is used as a fallback. If none of these conditions are met, the element has no Accessible Name, which constitutes an accessibility problem.

It is important to understand that this cascade stops at the first successful method. An aria-label therefore always overrides the text content of a button. This can be useful, but it is also a common source of errors.

What is it used for?

The Accessible Name is essential for virtually every interactive or meaning-bearing element on a webpage. Its main tasks are:

  • Identification of Controls: Buttons, links, input fields, checkboxes, radio buttons, and other form elements require a clear name so that users know what action they trigger or what information is expected.
  • Description of Images: For images that convey information, the alt text serves as the Accessible Name. It describes what is visible in the image, allowing blind users to understand the visual content.
  • Context for Regions and Landmarks: ARIA landmarks such as <nav>, <main>, or <aside> can also receive an Accessible Name (e.g., via aria-label="Main Navigation") to help users orient themselves on the page, especially if multiple identical landmarks are present.
  • Fulfillment of WCAG Criteria: A correct Accessible Name is a basic prerequisite for fulfilling numerous success criteria of the Web Content Accessibility Guidelines (WCAG), especially under the principles "Perceivable" and "Operable."

Practical Examples

Here are some typical examples that illustrate the difference between an element with and without an Accessible Name.

Button with visible text and icon
<!--
Good Example: The text "Delete Profile" is contained directly within the button.
It serves as a robust, visible, and accessible name.
-->
<button type="button">
<svg aria-hidden="true" focusable="false" ...>
<!-- ... Icon Path ... -->
</svg>
Delete Profile
</button>
Icon Button with aria-label
<!--
Good Example: The button has no visible text.
`aria-label` gives it a clear Accessible Name for screen readers.
-->
<button type="button" aria-label="Open Settings">
<svg aria-hidden="true" focusable="false" ...>
<!-- ... Gear Icon ... -->
</svg>
</button>
Input field with native Label
<!--
Good Example: The <label> is firmly connected to the <input> via the `for` attribute.
This is the best method for form fields.
-->
<label for="username">Username</label>
<input type="text" id="username" name="username" />

Best Practices & Recommendations

To ensure that your elements always have a correct and useful Accessible Name, you should follow some basic rules.

Always use visible labels if possible

The best label is the one that all users can see [2]. Use the text content of a button or link directly as its name. For form fields, the <label> element, linked to the field's id with the for attribute, is the most robust and preferred method.

aria-label only as a last resort for invisible labels

If a design absolutely does not provide a visible label (e.g., for an icon button), aria-label is a good solution. But be careful: the content of aria-label is only visible to users of assistive technologies and overrides all other textual content of the element.

aria-labelledby for complex labels

Sometimes the name of an element is composed of existing text on the page. Instead of duplicating the text in an aria-label, you can use aria-labelledby to refer to the IDs of the corresponding text elements. The browser then combines their contents to form the Accessible Name.

Example: A 'Read more' link that refers to a heading.
<h2 id="article-title">Exciting article about accessibility</h2>
<p>A short introduction to the article...</p>
<a href="..." aria-labelledby="read-more-link article-title">
<span id="read-more-link">Read more</span>
</a>

The Accessible Name here would be: "Read more Exciting article about accessibility".

Visible label must be contained in the Accessible Name

Users of speech recognition software navigate by saying what they see. If a button is visibly labeled "Send," the Accessible Name must include the word "Send" [3]. A user says "Click Send," but if the Accessible Name is "Submit Form," the command will fail.

Common Misconceptions

"The title attribute is a good Accessible Name"

This is a widespread misconception. The title attribute is the absolute last and most unreliable option in the name calculation cascade. Support by browsers and screen readers is inconsistent. It is often ignored or only read under certain conditions (e.g., after a pause). Never rely on the title attribute to convey important information. It is primarily intended for a tooltip on mouse hover and is not a reliable accessible label.

"placeholder is a good label for an input field"

A placeholder is an input aid or an example format, not a label. It disappears as soon as the user starts typing and is then no longer available as context. Older screen readers often do not read placeholders aloud, and they generally have too low a color contrast to count as a label. Every input field needs a proper, persistent <label>.

  • Accessible Description
  • ARIA (Accessible Rich Internet Applications)
  • Accessibility Tree
  • screen reader
  • WCAG (Web Content Accessibility Guidelines)
  • Name, Role, Value

Frequently Asked Questions

What is the difference between Accessible Name and Accessible Description?

The Accessible Name is the short, concise designation of an element (like the text on a button). The Accessible Description provides additional, but non-essential, information. It is typically read after the name and role, often with a short pause. For example: A link with the Accessible Name "Help Center" might have the Accessible Description "Opens the Help Center in a new tab."

When should I use aria-label instead of <label>?

The rule of thumb is: always use <label> when possible, especially for standard form elements. aria-label is intended for cases where a visible label is not present for design reasons (e.g., icon buttons) or when native HTML mechanisms are insufficient.

Can an image have an Accessible Name?

Yes, absolutely. For an <img> element, the content of the alt attribute is the Accessible Name. If an image is purely decorative, the alt attribute should be left empty (alt="") so that it is ignored by screen readers.

Why is WCAG 2.5.3 "Label in Name" so important?

This success criterion is crucial for users of speech recognition software. They interact with the page by speaking the visible labels (e.g., "Click 'Buy Now'"). If the Accessible Name of the button is "Add to Cart" but the visible text is "Buy Now," the software cannot associate the command. The visible text must therefore be part of the Accessible Name.

How can I test the Accessible Name of an element?

The easiest method is to use your browser's developer tools. In Chrome, Edge, and Firefox, there is an "Accessibility" tab. If you select an element there, the browser displays the calculated Accessible Name in the Accessibility Tree. Alternatively, you can of course use a screen reader like NVDA (Windows), VoiceOver (macOS), or TalkBack (Android) to test the page and hear how the elements are announced.

Note

This article is for knowledge transfer and does not constitute legal advice. When implementing accessibility, the specific legal requirements of the respective country or region must always be taken into account.

  1. “Accessible Name and Description Computation 1.2.” W3C, Oct. 2025. Accessed: Nov. 06, 2025. [Online]. Available: https://www.w3.org/TR/accname-1.2/
  2. W3C, “H44: Using label elements to associate text labels with form controls,” 2023, [Online]. Available: https://www.w3.org/WAI/WCAG22/Techniques/html/H44
  3. W3C, “Success Criterion 2.5.3 Label in Name,” 2023, [Online]. Available: https://www.w3.org/TR/WCAG22/#label-in-name

About the author

Portrait of Dmitry Dugarev wearing glasses in a black shirt and smiling

Best regards,

Dmitry Dugarev

Founder of Barrierenlos℠ and developer of the Semanticality™ plugin. With a master’s degree, over 8 years of experience in web-development & IT-Compliance at Big Four, Bank and Enterprise, and more than 1,000 web pages tested for accessibility for over 50 clients, I help web teams implement accessibility in a structured way — without months of redevelopment.

Become an EAA Expert Developer yourself - in just 4 days.

Learn in our 4-day workshop how to conduct complex audits and develop accessible components yourself. Get a personalized learning plan, 1:1 strategy coaching, and a certificate.

Register for the EAA Workshop now