Opens in a new tab

Web design

aria-describedby: how to add a description that screen readers announce

What aria-describedby does, how it differs from a name, how screen readers announce descriptions and how to warn about links that open a new tab.

CheckedNovember 5, 2026
Reading time
Part ofWeb design
Listen to this guide
0:00 /6:26

Short answer: aria-describedby points an element to the id of another element whose text describes it. Two common uses are instructions for a field and a warning that a link opens a new tab. Screen readers announce the description after the name, sometimes only when the user asks for it.

What aria-describedby does

MDN describes aria-describedby as the attribute that identifies the element, or elements, that describe the one it is set on. Its value is an id, or several ids separated by spaces, of elements in the same page.

It isn’t limited to form fields. MDN lists widgets, groups, regions with a heading and definitions among its uses, on plain HTML elements or on elements with an ARIA role.

Name or description

What you need Attribute Example
A name from text already on the page aria-labelledby A dialog named by its heading
A name with no visible text aria-label A close button that shows only an X
Extra information, as plain text aria-describedby A hint under a field, a new-tab warning
Longer content with structure aria-details A list or a table that explains a control

Based on MDN and the W3C’s guide to ARIA authoring practices, read November 5, 2026.

MDN draws the line between the two: a label should be concise and say what the object is, while a description gives more information the user might need. Our aria-label guide covers the names.

In HTML, when nothing else gives a description, the W3C notes that the title attribute is used as one. It is better to write the description on purpose.

How screen readers announce it

The W3C explains that assistive technologies present names and descriptions differently. Descriptions are usually longer, so they come last, sometimes after a slight delay.

To keep things short, some screen readers don’t read descriptions by default. They tell users a description exists, and users press a key to hear it. So whatever people must know goes in the name or the visible text, as our screen reader guide shows.

Hidden descriptions and plain text

MDN says the elements linked by aria-describedby don’t need to be visible. A field can have a hint that sighted users open with a “more information” icon, while screen reader users hear it right away.

The W3C still recommends a visible description in general. And the description should be plain text: for content with structure, like a list, MDN points to aria-details.

A warning for links that open a new tab

The W3C’s technique G201 calls a warning good practice, though no success criterion requires it. Its examples put the warning in the link text, or show an icon and give assistive technology the same warning with aria-describedby.

The same idea serves form errors: a message under the field, linked with aria-describedby, which our form validation guide covers.

How to add a description

  1. Write the description as plain text in an element with an id.
  2. Put aria-describedby with that id on the element it describes.
  3. List several ids, separated by spaces, if two texts describe it.
  4. Keep the name short and leave the extra detail for the description.
  5. Hide the text only if sighted users get the same information another way.
  6. Use aria-details instead for content with structure, like a list or a table.
  7. Check in the accessibility tree or with a screen reader that the description is there.

What we found on our own pages

On November 5, 2026, we checked the links that open a new tab on our home page, a guide and the contact page, in both languages. On the home and contact pages every one of them already carried aria-describedby, pointing to a hidden text that says “Opens in a new tab”. Our website builder adds it.

The guide showed the gap: 8 of its 17 new-tab links had the description, and the 9 source links had none, because an SEO plugin opens them in a new tab without saying so. We added the missing description to those links, pointing to the hidden text that was already on the page.

Now all 17 carry it. On the guide, Chrome, Firefox and Safari’s engine all read “Opens in a new tab”, and nothing on the page moved by a single pixel.

Before you publish

  • Every aria-describedby points to an id that exists on the page.
  • Each description is short, plain text.
  • Nothing people must know is only in a description.
  • Hidden descriptions repeat something sighted users can see.
  • Links that open a new tab say so, in the text or in a description.
  • The name and the description don’t repeat each other.

RememberThe name says what something is, the description adds what else people need. Some screen readers only read it on request, so put what people must know in the name.

We look after names and descriptions on the sites we build in our web design service.

Quick answers about aria-describedby

What is aria-describedby?

An attribute that points an element to the id of another element whose text describes it. MDN describes it as a way to link a widget with the text that gives more information the user might need, such as a hint for a field.

What is the difference between aria-describedby and aria-labelledby?

aria-labelledby gives the name, aria-describedby the description. MDN puts it this way: a label should be concise and describe the essence of an object, while a description gives the extra information the user might need.

Can the description be hidden?

Yes. MDN and the W3C say an element can be referenced even if it is hidden, so a screen reader still announces its text. The W3C generally recommends a visible description, so hide it only when sighted users get the same information another way.

Do screen readers always read the description?

Not always. The W3C explains that descriptions come after the name, sometimes after a short delay, and that some screen readers only say a description exists and wait for a key press. Keep what people must know in the name or the visible text.

Should links that open a new tab say so?

The W3C calls it good practice, though no success criterion requires it. Its technique G201 shows two ways: put the warning in the link text, or show an icon and give the same warning to assistive technology with aria-describedby.

Sources

Read on November 5, 2026. MDN Web Docs: ARIA: aria-describedby attribute. W3C Web Accessibility Initiative: Providing Accessible Names and Descriptions, ARIA1: Using the aria-describedby property to provide a descriptive label for user interface controls and G201: Giving users advanced warning when opening a new window. Our case: our own pages, read in a browser on November 5, 2026.

Pedro Galindez

Pedro Galindez

Founder of Feedback Studios, a bilingual growth studio in Miami.

Listen0:00 /6:26

More guides

Checked November 5, 2026

Visually hidden text (sr-only): how to keep content for screen readers only

What sr-only and visually-hidden classes do, when to hide text from the screen only, which CSS techniques work and why focusable elements must show up.

Checked November 5, 2026

HTML lang attribute: how to set the language of a page and its parts

What the lang attribute does, which language code to use, how to mark parts in another language and why Google ignores it when it works out the language.

Checked November 5, 2026

Tabindex: how to use 0 and -1 without breaking the Tab order

What tabindex 0, -1 and positive values do, when each one fits, why positive values break the Tab order and how roving tabindex works.

Checked November 3, 2026

Google Discover: how it works and how to show up in it

What Google Discover is, how a page gets in, the images Google recommends, the steps to take and how our own pages fit that advice.

Checked November 3, 2026

Smart Bidding in Google Ads: how it works and which strategy to choose

The four Smart Bidding strategies, what they weigh in each auction, how to switch a campaign and what our own account counts.

Next step

Tell us what you need

Write to us on WhatsApp or send us a message. We answer in English or Spanish.