JavaScript Element ariaBrailleLabel Property

Beginner
⏱️ 11 min read
📚 Updated: Jul 2026
🎯 5 Examples
🚀 5 Try-it labs
Baseline 2024
Instance property

What You’ll Learn

Element.ariaBrailleLabel is an instance property that reflects the aria-braillelabel attribute. Learn when a braille-specific label helps, how it differs from aria-label, and how to get or set the property from JavaScript—with five examples and try-it labs.

01

Kind

Instance property

02

Type

String

03

Reflects

aria-braillelabel

04

Purpose

Braille-oriented name

05

Status

Baseline 2024

06

Use sparingly

Only if braille needs it

Introduction

Screen readers speak an element’s accessible name. Braille displays often convert that same name into braille cells. Sometimes the spoken name is long or awkward in braille—for example a star rating described as “3 out of 5 stars.”

aria-braillelabel lets you provide a shorter braille-oriented label. ariaBrailleLabel is the JavaScript reflection of that attribute.

JavaScript
const button = document.getElementById("button");
console.log(button.ariaBrailleLabel); // e.g. "***"
button.ariaBrailleLabel = "3*";
💡
Beginner tip

Most elements never need this. Prefer a clear accessible name first. Only add a braille label when conversion of that name would be a poor braille experience.

Understanding the Property

MDN: the ariaBrailleLabel property of the Element interface reflects the value of the aria-braillelabel attribute, which defines the ARIA braille label of the element.

Assistive technologies that present content in braille may use this label, but you should set it only when a braille-specific label improves the user experience.

  • Reflected attribute — mirrors aria-braillelabel.
  • Get / set — readable and writable string.
  • Unconstrained string — intended to be converted into braille.
  • Baseline — newly available since September 2024 (MDN).

📝 Syntax

JavaScript
ariaBrailleLabel

Value

A string—an unconstrained value type intended to be converted into braille.

ItemDetail
Typestring (braille-oriented label text)
Reflectsaria-braillelabel
RolesGlobal — may be used with all roles
vs aria-labelSpoken / accessible name vs braille presentation override

📋 When to Use (and When Not To)

MDN’s aria-braillelabel docs stress that assistive technologies can already convert accessible names to braille. Use this attribute only when that default conversion is not the experience you want.

  • The element must still have a valid accessible name (content, aria-label, etc.).
  • The braille label must have real content (not empty / whitespace-only).
  • It should not be identical to the accessible name.
  • Localize values to match the document language.
  • Do not copy aria-label into aria-braillelabel just to “be complete.”
JavaScript
<!-- Visible / spoken name is verbose; braille label is compact -->
<button id="button" aria-braillelabel="***">3 out of 5 stars</button>

A braille display may show something like “btn ***” instead of a long spelling of “3 out of 5 stars.”

⚡ Quick Reference

GoalCode / note
Readel.ariaBrailleLabel
Writeel.ariaBrailleLabel = "***"
HTML attributearia-braillelabel="***"
Feature-detect"ariaBrailleLabel" in Element.prototype
MDN statusBaseline Newly available (Sep 2024)

🔍 At a Glance

Four facts about Element.ariaBrailleLabel.

Kind
get / set

Instance

Type
string

Braille text

Reflects
aria-braille…

label

Baseline
2024

Newly available

Examples Gallery

Examples follow MDN Element: ariaBrailleLabel. Labs use a star-rating button so you can safely read and write the property.

📚 Getting Started

Read the reflected value and follow MDN’s get/set demo.

Example 1 — Read ariaBrailleLabel

Log the current braille label from a button.

JavaScript
const button = document.getElementById("button");
console.log(button.ariaBrailleLabel);

// HTML includes: aria-braillelabel="***"
Try It Yourself

How It Works

The property returns the attribute string. If the attribute is missing, many browsers return null.

Example 2 — MDN Get and Set

MDN: read "***", then set "3*", and log again.

JavaScript
const button = document.getElementById("button");
console.log(button.ariaBrailleLabel); // ***
button.ariaBrailleLabel = "3*";
console.log(button.ariaBrailleLabel); // 3*
Try It Yourself

How It Works

Assigning the property updates the reflected aria-braillelabel attribute on the element.

📈 Create, Attribute Sync & Snapshot

Practice writes, reflection, and feature detection.

Example 3 — Create Element and Set Label

Build a button in script and assign a braille label.

JavaScript
const btn = document.createElement("button");
btn.textContent = "4 out of 5 stars";
document.body.appendChild(btn);

btn.ariaBrailleLabel = "****";
console.log({
  text: btn.textContent,
  ariaBrailleLabel: btn.ariaBrailleLabel,
  attr: btn.getAttribute("aria-braillelabel")
});
Try It Yourself

How It Works

Visible text remains the accessible name; the braille label is a compact alternate for braille displays.

Example 4 — Property vs getAttribute

Confirm the attribute stays in sync after a write.

JavaScript
const el = document.createElement("button");
el.textContent = "3 out of 5 stars";
el.setAttribute("aria-braillelabel", "***");
document.body.appendChild(el);

el.ariaBrailleLabel = "3*";
console.log({
  fromProperty: el.ariaBrailleLabel,
  fromAttribute: el.getAttribute("aria-braillelabel"),
  same: el.ariaBrailleLabel === el.getAttribute("aria-braillelabel")
});
Try It Yourself

How It Works

Prefer ariaBrailleLabel in script; keep the attribute for HTML markup and attribute selectors.

Example 5 — Support Snapshot

Feature-detect and remember the “use sparingly” rule.

JavaScript
console.log({
  supported: "ariaBrailleLabel" in Element.prototype,
  tip: "Only set when accessible name is poor in braille",
  notFor: "Do not copy aria-label into aria-braillelabel",
  status: "Baseline Newly available (MDN, Sep 2024)"
});
Try It Yourself

How It Works

Feature-detect on older engines. On unsupported browsers, fall back to setAttribute("aria-braillelabel", …) if you truly need the attribute.

🚀 Common Use Cases

  • Compact braille for star ratings or similar symbolic UI.
  • Icons / images whose spoken names are long for braille displays.
  • Updating a braille label when a rating or status changes in script.
  • Keeping script and markup aligned without manual setAttribute.
  • Accessibility reviews for products that target braille users.

🔧 How It Works

1

Element has an accessible name

From content, aria-label, labelledby, and so on.

Name
2

Optional aria-braillelabel

Provide only if default braille conversion is poor.

Declare
3

Braille AT may prefer that string

Display shows a compact, recognizable braille form.

A11y
4

JS keeps the label in sync

Update ariaBrailleLabel when the UI meaning changes.

📝 Notes

Browser Support

Element.ariaBrailleLabel is Baseline Newly available (MDN: across latest browsers since September 2024). Feature-detect on older engines. Logos use the shared browser-image-sprite.png sprite from this project.

Baseline 2024

Element.ariaBrailleLabel

String — reflects aria-braillelabel for braille-oriented names.

Baseline Newly available 2024
Google Chrome Supported in current releases — feature-detect older
Yes
Microsoft Edge Supported in current releases — feature-detect older
Yes
Mozilla Firefox Supported in current releases — feature-detect older
Yes
Apple Safari Supported in current releases — feature-detect older
Yes
Opera Follow Chromium support
Yes
Internet Explorer No ariaBrailleLabel IDL — use setAttribute if needed
No
ariaBrailleLabel Baseline

Bottom line: Use ariaBrailleLabel to get/set aria-braillelabel only when braille needs a better label than the accessible name. Feature-detect on older browsers, and never copy aria-label into braillelabel by default.

Conclusion

ariaBrailleLabel reflects aria-braillelabel so you can provide a braille-oriented name when the normal accessible name would be awkward on a braille display. Use it sparingly, keep a real accessible name on the element, and update the property from JavaScript when the meaning changes.

Continue with ariaBrailleRoleDescription, ariaAutoComplete, EventTarget, or the JavaScript hub.

💡 Best Practices

✅ Do

  • Keep a valid accessible name on the element
  • Use braille labels only when they improve braille UX
  • Prefer short, recognizable braille-oriented strings
  • Localize labels with the page language
  • Feature-detect on older browsers

❌ Don’t

  • Copy aria-label into aria-braillelabel
  • Set empty or whitespace-only braille labels
  • Use it on every control “just in case”
  • Replace a missing accessible name with braillelabel alone
  • Assume every AT will honor the braille override

Key Takeaways

Knowledge Unlocked

Five things to remember about ariaBrailleLabel

Reflected aria-braillelabel string for braille-oriented names.

5
Core concepts
📝 02

String value

braille-oriented

Type
🔍 03

Use sparingly

only when needed

Rule
04

Baseline

newly available

Status
🎯 05

Not aria-label

braille override

Clarity

❓ Frequently Asked Questions

It reflects the aria-braillelabel attribute as a string — a braille-oriented label for assistive technologies that present content in braille.
No. MDN marks Element.ariaBrailleLabel as Baseline Newly available (since September 2024). It is not Deprecated, Experimental, or Non-standard.
Only when a braille-specific label improves the experience. If the normal accessible name (content or aria-label) already converts well to braille, do not set it.
aria-label is the spoken/accessible name for screen readers. aria-braillelabel is an optional override for how that name should appear in braille — it should not simply copy aria-label.
An unconstrained string intended to be converted into braille (for example MDN’s "***" for a star rating).
Yes. Reading and writing ariaBrailleLabel updates the reflected aria-braillelabel attribute.
Did you know?

MDN’s star-rating example uses aria-braillelabel="***" so a braille display can show a compact “***” pattern instead of spelling out the full “3 out of 5 stars” accessible name—exactly when a braille-specific label helps.

Next: Element ariaBrailleRoleDescription

Learn the reflected aria-brailleroledescription property for abbreviated braille roles.

ariaBrailleRoleDescription →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful