JavaScript Element ariaMultiSelectable Property

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

What You’ll Learn

Element.ariaMultiSelectable is an instance property that reflects the aria-multiselectable attribute. Learn the true and false tokens, how multi-select listboxes work with aria-selected, 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

Values

true · false

04

Reflects

aria-multiselectable

05

Status

Baseline widely

06

Common with

role="listbox"

Introduction

Some widgets let you pick only one item (a radio group or single-select list). Others let you pick several at once (a multi-select listbox or tag picker). Assistive technologies need to know which pattern they are in.

aria-multiselectable carries that signal on the container. ariaMultiSelectable is the JavaScript reflection of that attribute.

JavaScript
const el = document.getElementById("listbox1");
console.log(el.ariaMultiSelectable); // "true"
el.ariaMultiSelectable = "false";
💡
Beginner tip (MDN)

Where possible, use an HTML element with built-in multi-select semantics (for example <select multiple>). Prefer ARIA listboxes when you need a custom widget. Mark each option with aria-selected, and keep keyboard selection behavior aligned with true / false.

Understanding the Property

MDN: the ariaMultiSelectable property of the Element interface reflects the value of the aria-multiselectable attribute, which indicates that the user may select more than one item from the current selectable descendants.

  • Reflected attribute — mirrors aria-multiselectable.
  • Get / set — readable and writable string.
  • Two tokenstrue, false.
  • Baseline — widely available since October 2023 (MDN).

📝 Syntax

JavaScript
ariaMultiSelectable

Value

A string with one of the following values:

ValueMeaning (MDN)
"true"More than one item may be selected at a time.
"false"Only one item may be selected.
⚠️
Container vs option

Set ariaMultiSelectable on the listbox (or similar container). Set aria-selected on each option to show which items are currently selected.

📋 MDN Example Shape

MDN starts with a listbox marked aria-multiselectable="true", then updates it to "false":

JavaScript
<div
  role="listbox"
  tabindex="0"
  id="listbox1"
  aria-multiselectable="true"
  aria-labelledby="listbox1label"
  aria-activedescendant="listbox1-1"
>
  <div role="option" id="listbox1-1" class="selected" aria-selected="true">Green</div>
  <div role="option" id="listbox1-2">Orange</div>
  <div role="option" id="listbox1-3">Red</div>
</div>
JavaScript
let el = document.getElementById("listbox1");
console.log(el.ariaMultiSelectable); // "true"
el.ariaMultiSelectable = "false";
console.log(el.ariaMultiSelectable); // "false"

⚡ Quick Reference

GoalCode / note
Readel.ariaMultiSelectable
Allow multi-selectel.ariaMultiSelectable = "true"
Single-select onlyel.ariaMultiSelectable = "false"
Option statearia-selected="true" on each selected option
Prefer when possible<select multiple>
MDN statusBaseline Widely available

🔍 At a Glance

Four facts about Element.ariaMultiSelectable.

Kind
get / set

Instance

Type
string

true / false

Reflects
aria-multiselectable

Attribute

Baseline
widely

Oct 2023+

Examples Gallery

Examples follow MDN Element: ariaMultiSelectable. Labs use a listbox so you can safely read and write the property.

📚 Getting Started

Read the reflected value and follow MDN’s update.

Example 1 — Read ariaMultiSelectable

Log whether a listbox allows multiple selected items.

JavaScript
const el = document.getElementById("listbox1");
console.log(el.ariaMultiSelectable);

// HTML includes: role="listbox" aria-multiselectable="true"
Try It Yourself

How It Works

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

Example 2 — MDN Update to "false"

MDN: switch the listbox to single-select.

JavaScript
let el = document.getElementById("listbox1");
console.log(el.ariaMultiSelectable); // "true"
el.ariaMultiSelectable = "false";
console.log(el.ariaMultiSelectable); // "false"
Try It Yourself

How It Works

Assigning the property updates the reflected aria-multiselectable attribute so assistive technologies know whether multi-select is allowed.

📈 Create Multi-select Listbox, Attribute Sync & Snapshot

Practice marking containers and verify reflection.

Example 3 — Set "true" on a Listbox

Create a listbox and allow multiple selected options.

JavaScript
const listbox = document.createElement("div");
listbox.setAttribute("role", "listbox");
listbox.setAttribute("aria-label", "Colors");
listbox.tabIndex = 0;
document.body.appendChild(listbox);

listbox.ariaMultiSelectable = "true";
console.log({
  ariaMultiSelectable: listbox.ariaMultiSelectable,
  attr: listbox.getAttribute("aria-multiselectable")
});
Try It Yourself

How It Works

Pair the container with option children that use aria-selected. Prefer <select multiple> in real pages when you can.

Example 4 — Property vs getAttribute

Confirm the attribute stays in sync after a write.

JavaScript
const el = document.createElement("div");
el.setAttribute("role", "listbox");
el.setAttribute("aria-multiselectable", "true");
el.setAttribute("aria-label", "Colors");
document.body.appendChild(el);

el.ariaMultiSelectable = "false";
console.log({
  fromProperty: el.ariaMultiSelectable,
  fromAttribute: el.getAttribute("aria-multiselectable"),
  same: el.ariaMultiSelectable === el.getAttribute("aria-multiselectable")
});
Try It Yourself

How It Works

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

Example 5 — Support Snapshot

Feature-detect and remember the native-control preference.

JavaScript
console.log({
  supported: "ariaMultiSelectable" in Element.prototype,
  allowed: ["true", "false"],
  tip: "Prefer select multiple when possible; use aria-selected on options",
  status: "Baseline Widely available (MDN)"
});
Try It Yourself

How It Works

Use ariaMultiSelectable when a custom listbox is required; otherwise lean on HTML semantics.

🚀 Common Use Cases

  • Custom multi-select listboxes and tag pickers.
  • Grids or trees that allow selecting several rows or nodes.
  • Switching a widget between single-select and multi-select modes.
  • Keeping keyboard selection patterns aligned with AT expectations.
  • Keeping script and markup aligned without manual setAttribute.

🔧 How It Works

1

Build a selectable container

Often role="listbox" with option children.

Widget
2

Set ariaMultiSelectable

Declare whether more than one item may be selected.

Declare
3

Toggle aria-selected on options

Mark which descendants are currently selected.

State
4

Users know the selection rules

AT announces multi-select vs single-select correctly.

📝 Notes

  • Not Deprecated, Experimental, or Non-standard on MDN (Baseline Widely available).
  • Prefer native HTML multi-select controls when possible (MDN).
  • Set the property on the container; use aria-selected on options.
  • Related: ariaOrientation, ariaLabel, EventTarget, JavaScript hub.

Browser Support

Element.ariaMultiSelectable is Baseline Widely available (MDN: across browsers since October 2023). Logos use the shared browser-image-sprite.png sprite from this project.

Baseline Widely available

Element.ariaMultiSelectable

String true / false — reflects aria-multiselectable for multi-select containers.

Baseline Widely available
Google Chrome Supported (ARIA reflection)
Yes
Microsoft Edge Supported (ARIA reflection)
Yes
Mozilla Firefox Supported (ARIA reflection)
Yes
Apple Safari Supported (ARIA reflection)
Yes
Opera Follow Chromium support
Yes
Internet Explorer No ariaMultiSelectable IDL — use setAttribute
No
ariaMultiSelectable Baseline

Bottom line: Use ariaMultiSelectable on listboxes (and similar) to declare multi-select. Prefer native select multiple when you can. Keep aria-selected on options and keyboard behavior in sync.

Conclusion

ariaMultiSelectable reflects aria-multiselectable so containers can declare whether users may select more than one item. Prefer native multi-select controls when possible, mark options with aria-selected, and keep keyboard behavior aligned with the token.

Continue with ariaOrientation, ariaLabel, EventTarget, or the JavaScript hub.

💡 Best Practices

✅ Do

  • Prefer <select multiple> when possible
  • Set the property on the listbox container
  • Keep aria-selected accurate on options
  • Support keyboard multi-select patterns when true
  • Give the listbox a clear accessible name

❌ Don’t

  • Claim multi-select while only allowing one selection
  • Put aria-multiselectable on each option
  • Skip focusability on custom listboxes
  • Forget to clear extra selections when switching to false
  • Assume the property alone handles selection logic

Key Takeaways

Knowledge Unlocked

Five things to remember about ariaMultiSelectable

Reflected aria-multiselectable string for multi-select containers.

5
Core concepts
📝 02

true / false

multi vs single

Values
🔍 03

On container

not on options

Where
04

Baseline

widely available

Status
🎯 05

aria-selected

marks each item

Pair

❓ Frequently Asked Questions

It reflects the aria-multiselectable attribute as a string, indicating that the user may select more than one item from the current selectable descendants.
No. MDN marks Element.ariaMultiSelectable as Baseline Widely available (since October 2023). It is not Deprecated, Experimental, or Non-standard.
The strings "true" (more than one item may be selected at a time) or "false" (only one item may be selected).
No when you can avoid it. MDN recommends using an HTML element with built-in semantics (for example <select multiple>) when possible, because it does not require ARIA attributes.
ariaMultiSelectable is set on the container (listbox, grid, tree). Each selectable child uses aria-selected="true" or "false" to show whether that item is selected.
Yes. Reading and writing ariaMultiSelectable updates the reflected aria-multiselectable attribute. Keep keyboard selection behavior in sync with the value.
Did you know?

Roles like listbox, grid, and tree can all use aria-multiselectable. The attribute answers “may more than one descendant be selected?”—each selected descendant still needs its own aria-selected="true".

Next: Element ariaOrientation

Learn the reflected aria-orientation property for horizontal and vertical widgets.

ariaOrientation →

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