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
Fundamentals
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.
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.
Concept
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).
Foundation
📝 Syntax
JavaScript
ariaBrailleLabel
Value
A string—an unconstrained value type intended to be converted into braille.
Item
Detail
Type
string (braille-oriented label text)
Reflects
aria-braillelabel
Roles
Global — may be used with all roles
vs aria-label
Spoken / accessible name vs braille presentation override
Guidance
📋 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.”
Cheat Sheet
⚡ Quick Reference
Goal
Code / note
Read
el.ariaBrailleLabel
Write
el.ariaBrailleLabel = "***"
HTML attribute
aria-braillelabel="***"
Feature-detect
"ariaBrailleLabel" in Element.prototype
MDN status
Baseline Newly available (Sep 2024)
Snapshot
🔍 At a Glance
Four facts about Element.ariaBrailleLabel.
Kind
get / set
Instance
Type
string
Braille text
Reflects
aria-braille…
label
Baseline
2024
Newly available
Hands-On
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="***"
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)"
});
{
"supported": true,
"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)"
}
How It Works
Feature-detect on older engines. On unsupported browsers, fall back to setAttribute("aria-braillelabel", …) if you truly need the attribute.
Applications
🚀 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.
Under the Hood
🔧 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.
Important
📝 Notes
Not Deprecated, Experimental, or Non-standard on MDN (Baseline Newly available, Sep 2024).
Do not duplicate aria-label into aria-braillelabel.
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.
BaselineNewly available 2024
Google ChromeSupported in current releases — feature-detect older
Yes
Microsoft EdgeSupported in current releases — feature-detect older
Yes
Mozilla FirefoxSupported in current releases — feature-detect older
Yes
Apple SafariSupported in current releases — feature-detect older
Yes
OperaFollow Chromium support
Yes
Internet ExplorerNo ariaBrailleLabel IDL — use setAttribute if needed
No
ariaBrailleLabelBaseline
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.
Wrap Up
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.
Replace a missing accessible name with braillelabel alone
Assume every AT will honor the braille override
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about ariaBrailleLabel
Reflected aria-braillelabel string for braille-oriented names.
5
Core concepts
📄01
Get / set
on Element
Kind
📝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.