JavaScript Element ariaBrailleRoleDescription Property

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

What You’ll Learn

Element.ariaBrailleRoleDescription is an instance property that reflects the aria-brailleroledescription attribute. Learn how it shortens a custom aria-roledescription for braille, when to use it, and how to get or set it from JavaScript—with five examples and try-it labs.

01

Kind

Instance property

02

Type

String

03

Reflects

aria-brailleroledescription

04

Pairs with

aria-roledescription

05

Status

Baseline 2024

06

Use sparingly

Rare braille case

Introduction

Sometimes you give an element a custom role description with aria-roledescription—for example calling an article a “slide” in a slideshow. Screen readers speak that word. Braille displays may need a shorter form.

That is what aria-brailleroledescription is for. The DOM property ariaBrailleRoleDescription lets you read and update the same value from JavaScript.

JavaScript
const article = document.getElementById("article");
console.log(article.ariaBrailleRoleDescription); // e.g. "sld"
article.ariaBrailleRoleDescription = "sd";
💡
Beginner tip

Always set aria-roledescription first. Only add a braille role description when that spoken description is too long for braille.

Understanding the Property

MDN: the ariaBrailleRoleDescription property of the Element interface reflects the value of the aria-brailleroledescription attribute, which defines the ARIA braille role description of the element.

It may provide an abbreviated version of aria-roledescription. Use it only when aria-roledescription is present and, in rare cases, too verbose for braille.

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

📝 Syntax

JavaScript
ariaBrailleRoleDescription

Value

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

ItemDetail
Typestring (braille-oriented role abbreviation)
Reflectsaria-brailleroledescription
Requiresaria-roledescription should already be set
vs ariaBrailleLabelRole description abbreviation vs accessible-name braille override

📋 Slideshow Slide (MDN Shape)

MDN models a slideshow slide with spoken role description "slide" and braille contraction "sld":

JavaScript
<article
  id="article"
  aria-roledescription="slide"
  aria-brailleroledescription="sld"
  aria-labelledby="slide1heading">
  <h1 id="slide1heading">Welcome to my talk</h1>
</article>

Related braille property: ariaBrailleLabel (for the accessible name, not the role description).

📚 When to Use (and When Not To)

  • Only when aria-roledescription is already present.
  • Only when that description is too verbose for braille (rare).
  • Prefer a short, recognizable contraction (MDN: slidesld).
  • Do not set a braille role description without a spoken role description.
  • Do not invent custom roles lightly—aria-roledescription itself is already advanced.

⚡ Quick Reference

GoalCode / note
Readel.ariaBrailleRoleDescription
Writeel.ariaBrailleRoleDescription = "sld"
HTML attributearia-brailleroledescription="sld"
Spoken pairaria-roledescription="slide"
Feature-detect"ariaBrailleRoleDescription" in Element.prototype
MDN statusBaseline Newly available (Sep 2024)

🔍 At a Glance

Four facts about Element.ariaBrailleRoleDescription.

Kind
get / set

Instance

Type
string

Braille text

Reflects
aria-braille…

roledescription

Baseline
2024

Newly available

Examples Gallery

Examples follow MDN Element: ariaBrailleRoleDescription. Labs use a slideshow <article> 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 ariaBrailleRoleDescription

Log the braille role description from a slide article.

JavaScript
const article = document.getElementById("article");
console.log(article.ariaBrailleRoleDescription);

// HTML includes: aria-brailleroledescription="sld"
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 "sld", then set "sd", and log again.

JavaScript
const article = document.getElementById("article");
console.log(article.ariaBrailleRoleDescription); // sld
article.ariaBrailleRoleDescription = "sd";
console.log(article.ariaBrailleRoleDescription); // sd
Try It Yourself

How It Works

MDN notes the "sd" assignment is for illustration—in production you would keep a stable, well-chosen contraction.

📈 Role Pair, Attribute Sync & Snapshot

Practice pairing with aria-roledescription and reflection.

Example 3 — Pair with aria-roledescription

Create a slide element and set both spoken and braille role descriptions.

JavaScript
const slide = document.createElement("article");
slide.setAttribute("aria-roledescription", "slide");
slide.ariaBrailleRoleDescription = "sld";
document.body.appendChild(slide);

console.log({
  roleDescription: slide.getAttribute("aria-roledescription"),
  brailleRoleDescription: slide.ariaBrailleRoleDescription
});
Try It Yourself

How It Works

Spoken users hear “slide”; braille users may see the shorter “sld” contraction.

Example 4 — Property vs getAttribute

Confirm the attribute stays in sync after a write.

JavaScript
const el = document.createElement("article");
el.setAttribute("aria-roledescription", "slide");
el.setAttribute("aria-brailleroledescription", "sld");
document.body.appendChild(el);

el.ariaBrailleRoleDescription = "sd";
console.log({
  fromProperty: el.ariaBrailleRoleDescription,
  fromAttribute: el.getAttribute("aria-brailleroledescription"),
  same: el.ariaBrailleRoleDescription === el.getAttribute("aria-brailleroledescription")
});
Try It Yourself

How It Works

Prefer ariaBrailleRoleDescription in script; keep the attribute for HTML markup.

Example 5 — Support Snapshot

Feature-detect and remember the “rare case” rule.

JavaScript
console.log({
  supported: "ariaBrailleRoleDescription" in Element.prototype,
  requires: "aria-roledescription must be present",
  tip: "Only when role description is too verbose for braille",
  status: "Baseline Newly available (MDN, Sep 2024)"
});
Try It Yourself

How It Works

Feature-detect on older engines. Fall back to setAttribute("aria-brailleroledescription", …) if you truly need the attribute.

🚀 Common Use Cases

  • Slideshow / carousel slides with a custom “slide” role description.
  • Complex widgets whose aria-roledescription is long for braille cells.
  • Updating a braille role contraction when localization changes.
  • Keeping script and markup aligned without manual setAttribute.
  • Accessibility reviews for products that target braille users.

🔧 How It Works

1

Set aria-roledescription

Spoken custom role text, e.g. “slide”.

Speak
2

Optional braille abbreviation

Only if that text is too long for braille.

Declare
3

Braille AT may use the short form

Display shows “sld” instead of spelling “slide” fully.

A11y
4

JS keeps the contraction in sync

Update ariaBrailleRoleDescription when needed.

📝 Notes

Browser Support

Element.ariaBrailleRoleDescription 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.ariaBrailleRoleDescription

String — reflects aria-brailleroledescription for abbreviated braille roles.

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 ariaBrailleRoleDescription IDL — use setAttribute if needed
No
ariaBrailleRoleDescription Baseline

Bottom line: Use ariaBrailleRoleDescription only with aria-roledescription, and only when the spoken role description is too verbose for braille. Feature-detect on older browsers.

Conclusion

ariaBrailleRoleDescription reflects aria-brailleroledescription so you can shorten a custom role description for braille when aria-roledescription is too verbose. Use it rarely, always pair it with a spoken role description, and update it from JavaScript when needed.

Continue with ariaBusy, ariaBrailleLabel, EventTarget, or the JavaScript hub.

💡 Best Practices

✅ Do

  • Set aria-roledescription before the braille form
  • Use short, recognizable contractions
  • Reserve this for rare verbose cases
  • Localize both spoken and braille descriptions together
  • Feature-detect on older browsers

❌ Don’t

  • Set braille role description without aria-roledescription
  • Use it on every custom widget by default
  • Confuse it with ariaBrailleLabel
  • Invent confusing abbreviations users won’t recognize
  • Rely on custom role descriptions when a standard role is enough

Key Takeaways

Knowledge Unlocked

Five things to remember about ariaBrailleRoleDescription

Reflected aria-brailleroledescription for abbreviated braille roles.

5
Core concepts
📝 02

String value

braille abbreviation

Type
🔍 03

Needs pair

aria-roledescription

Rule
04

Baseline

newly available

Status
🎯 05

Rare case

use sparingly

Clarity

❓ Frequently Asked Questions

It reflects the aria-brailleroledescription attribute as a string — a braille-oriented abbreviation of the element’s aria-roledescription.
No. MDN marks Element.ariaBrailleRoleDescription as Baseline Newly available (since September 2024). It is not Deprecated, Experimental, or Non-standard.
Only if aria-roledescription is already present and is too verbose for braille. Most pages never need it.
aria-roledescription is the spoken/custom role description (for example "slide"). aria-brailleroledescription is an optional shorter form for braille (for example "sld").
ariaBrailleLabel overrides how the accessible name appears in braille. ariaBrailleRoleDescription abbreviates the custom role description in braille.
Yes. Reading and writing ariaBrailleRoleDescription updates the reflected aria-brailleroledescription attribute.
Did you know?

MDN’s slideshow example pairs aria-roledescription="slide" with aria-brailleroledescription="sld"—a classic spoken word plus braille contraction pattern for custom roles.

Next: Element ariaBusy

Learn the reflected aria-busy property for in-progress live region updates.

ariaBusy →

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