References

Beginner-friendly references for web development, with live, editable examples.

The HTML aria-braillelabel attribute

ARIA Accessibility
In short

The aria-braillelabel attribute is a separate label used only for braille output, such as *** for three stars. The normal accessible name is almost always the better experience, says the WAI-ARIA 1.3 Working Draft, the only version that has this attribute.

Overview

The aria-braillelabel attribute holds a version of an element's label that's meant to be converted into braille. Version 1.3 of WAI-ARIA introduced it, so the 1.2 Recommendation has no such attribute, and the latest published 1.3 text is a draft dated June 4, 2026.

The draft's example is a rating button. With aria-braillelabel="****" on a button around an image with the alt text 4 stars, the draft says a braille display would show btn **** rather than the verbose btn gra 4 stars, where gra is short for graphic.

The accessible name stays as it was, so that button is still named 4 stars. The braille string maps to its own accessibility API property, and Chrome and Firefox expose it there.

Assistive technology can already convert the accessible name to braille, so in the draft's words authors are "strongly discouraged" from using this attribute to replicate aria-label. It's for cases where the name can't give an adequate braille representation.

The draft asks for four things when you do use it. The element has a valid accessible name. The value isn't empty or only whitespace. It isn't identical to the name. Last, it uses no Unicode Braille Patterns, U+2800 to U+28FF, or else uses nothing but those patterns and isn't only the blank U+2800.

Syntax

<button aria-braillelabel="***">
  <img src="rating.png" alt="3 out of 5 stars">
</button>

Values

Value
A string (braille-specific name).

Example

Live example
<p>Move the slider. The name and the braille label change together.</p>
<label for="stars">Rating</label>
<input id="stars" type="range" min="1" max="5" value="3">
<p><span id="rating" role="img" aria-label="3 out of 5 stars" aria-braillelabel="***">&#9733;&#9733;&#9733;</span></p>
<p role="status" id="out">Name: 3 out of 5 stars. Braille label: ***</p>
<script>
const stars = document.getElementById('stars');
const rating = document.getElementById('rating');
stars.addEventListener('input', function () {
  const count = Number(stars.value);
  rating.setAttribute('aria-label', count + ' out of 5 stars');
  rating.setAttribute('aria-braillelabel', '*'.repeat(count));
  rating.textContent = '\u2605'.repeat(count);
  document.getElementById('out').textContent = 'Name: ' + rating.getAttribute('aria-label') + '. Braille label: ' + rating.getAttribute('aria-braillelabel');
});
</script>

Best practices

  • Reserve aria-braillelabel for names whose braille conversion falls short, since misuse might inhibit understanding on braille interfaces.
  • Localize the value yourself, because you're solely responsible for aligning it with the document language.
  • Tell users the attribute is in use. The draft says authors need a way to communicate this to users, and gives product documentation as one place to do it.
  • A name that changes needs a new braille string too, or braille output describes an old state.

Frequently asked questions

When was aria-braillelabel added to ARIA?
The WAI-ARIA 1.3 change log dates aria-braillelabel to March 11, 2020. That version is still a draft, so no Recommendation covers it.
Will a screen reader speak the aria-braillelabel text?
It shouldn't, because aria-braillelabel is for braille output. The 1.3 draft says an assistive technology that provides aural rendering should use the accessible name.
Does an element with aria-braillelabel still need an accessible name?
Yes, aria-braillelabel works alongside an accessible name, and the 1.3 draft says the element should have a valid one. That name can come from any source, such as an image's alt text.
Which roles prohibit aria-braillelabel?
The 1.3 draft prohibits aria-braillelabel on the same roles as aria-label, including generic, paragraph and code. That rules out a plain div, span or p.
Can aria-braillelabel contain Unicode braille characters?
Yes, but the 1.3 draft strongly discourages Unicode Braille Patterns in aria-braillelabel. It also says assistive technology should translate a plain value with the user's preferred table, and pass a value with those patterns through untranslated.
Is there a JavaScript property for aria-braillelabel?
Yes, the ariaBrailleLabel property reflects aria-braillelabel. Chrome 107, Edge 107, Firefox 125 and Safari 18 support it, which says nothing about braille output.