JavaScript Element ariaCurrent Property

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

What You’ll Learn

Element.ariaCurrent is an instance property that reflects the aria-current attribute. Learn tokens like page, step, and location, how they mark the current item in a set, 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

page · step · location · …

04

Reflects

aria-current

05

Status

Baseline widely

06

Used on

Nav · breadcrumbs · steps

Introduction

When a list of related items has one “you are here” item—site nav, a checkout wizard, breadcrumbs, or a calendar—assistive technologies need a clear signal for which item is current. That signal is aria-current.

The DOM property ariaCurrent lets you read and update the same value from JavaScript—useful when a single-page app changes the active link or step without a full page reload.

JavaScript
const el = document.getElementById("link-home");
console.log(el.ariaCurrent); // "page"
el.ariaCurrent = "false";
💡
Beginner tip

Prefer the most specific token that matches the UI. Use "page" for the current page in navigation, "step" for a multi-step process, and "location" for the current crumb in a breadcrumb trail.

Understanding the Property

MDN: the ariaCurrent property of the Element interface reflects the value of the aria-current attribute, which indicates the element that represents the current item within a container or set of related elements.

  • Reflected attribute — mirrors aria-current.
  • Get / set — readable and writable string.
  • Seven tokens — page, step, location, date, time, true, false.
  • Baseline — widely available since October 2023 (MDN).

📝 Syntax

JavaScript
ariaCurrent

Value

A string with one of the following values:

ValueMeaning (MDN)
"page"Current page within a set of pages.
"step"Current step within a process.
"location"Current location (for example in breadcrumbs).
"date"Current date within a collection of dates.
"time"Current time within a set of times.
"true"Current item within a set (generic).
"false"Does not represent the current item.

⚡ Quick Reference

GoalCode / note
Readel.ariaCurrent
Mark current pageel.ariaCurrent = "page"
Mark current stepel.ariaCurrent = "step"
Clear currentel.ariaCurrent = "false"
One current itemClear the previous item in the set first
MDN statusBaseline Widely available

🔍 At a Glance

Four facts about Element.ariaCurrent.

Kind
get / set

Instance

Type
string

7 tokens

Reflects
aria-current

Attribute

Baseline
widely

Oct 2023+

Examples Gallery

Examples follow MDN Element: ariaCurrent. Labs use a small nav so you can safely read and write the property.

📚 Getting Started

Read the reflected value and follow MDN’s navigation pattern.

Example 1 — Read ariaCurrent

Log the current token from a nav link.

JavaScript
const el = document.getElementById("link-home");
console.log(el.ariaCurrent);

// HTML includes: aria-current="page"
Try It Yourself

How It Works

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

Example 2 — MDN Nav Read & Clear

MDN-style nav: read "page", then mark the link as not current.

JavaScript
let el = document.getElementById("link-home");
console.log(el.ariaCurrent); // "page"
el.ariaCurrent = "false";
console.log(el.ariaCurrent); // "false"
Try It Yourself

How It Works

Assigning the property updates the reflected aria-current attribute. Stick to documented tokens (page, step, location, and so on) so assistive technologies announce the right meaning.

📈 Move Current, Attribute Sync & Snapshot

Practice switching the current item and verify reflection.

Example 3 — Move Current to Another Link

Clear Home, then mark About as the current page.

JavaScript
const home = document.getElementById("link-home");
const about = document.getElementById("link-about");

home.ariaCurrent = "false";
about.ariaCurrent = "page";

console.log({
  home: home.ariaCurrent,
  about: about.ariaCurrent
});
Try It Yourself

How It Works

Keep only one current item in the set. Update visuals (active styles) in the same step so sighted users and assistive tech stay aligned.

Example 4 — Property vs getAttribute

Confirm the attribute stays in sync after a write.

JavaScript
const el = document.createElement("a");
el.href = "/step-2";
el.setAttribute("aria-current", "step");
document.body.appendChild(el);

el.ariaCurrent = "step";
console.log({
  fromProperty: el.ariaCurrent,
  fromAttribute: el.getAttribute("aria-current"),
  same: el.ariaCurrent === el.getAttribute("aria-current")
});
Try It Yourself

How It Works

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

Example 5 — Support Snapshot

Feature-detect and list the allowed tokens.

JavaScript
console.log({
  supported: "ariaCurrent" in Element.prototype,
  allowed: ["page", "step", "location", "date", "time", "true", "false"],
  tip: "Prefer the most specific token (page, step, location, ...)",
  status: "Baseline Widely available (MDN)"
});
Try It Yourself

How It Works

Use documented tokens so announcements stay meaningful. Clear previous current items when the user moves through a set.

🚀 Common Use Cases

  • Site navigation: mark the active page with "page".
  • Multi-step wizards: mark the active step with "step".
  • Breadcrumbs: mark the current crumb with "location".
  • Calendars and schedules: "date" / "time" for the selected slot.
  • SPA route changes: update ariaCurrent when the view changes without reload.

🔧 How It Works

1

User lands on or selects an item

Route change, wizard next, or breadcrumb click.

Input
2

Script clears the old current item

Set previous ariaCurrent to "false" (or remove).

Clear
3

Script sets the new token

Assign page, step, location, and so on.

State
4

Assistive tech announces the current item

Screen readers report current page / step / location.

📝 Notes

Browser Support

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

String page / step / location / date / time / true / false — reflects aria-current.

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 ariaCurrent IDL — use setAttribute
No
ariaCurrent Baseline

Bottom line: Use ariaCurrent to get/set aria-current on navigation, wizards, breadcrumbs, and similar sets. Prefer the most specific token. Keep only one current item and sync active styles with the property.

Conclusion

ariaCurrent reflects aria-current so navigation, wizards, breadcrumbs, and similar sets can expose which item is current. Prefer specific tokens like page and step, keep only one current item, and update the property when the user moves.

Continue with ariaDescribedByElements, ariaControlsElements, EventTarget, or the JavaScript hub.

💡 Best Practices

✅ Do

  • Use the most specific token (page, step, location, …)
  • Keep only one current item in a related set
  • Clear the previous item when moving current
  • Sync active CSS styles with ariaCurrent
  • Use string tokens, not invent custom words

❌ Don’t

  • Mark every link in the nav as current
  • Confuse focus with current (focus can move; current stays)
  • Use random tokens that AT cannot interpret
  • Forget to update after SPA route changes
  • Rely on color alone without aria-current

Key Takeaways

Knowledge Unlocked

Five things to remember about ariaCurrent

Reflected aria-current string for the current item in a set.

5
Core concepts
📝 02

Seven values

page step location…

Tokens
🔍 03

Nav & wizards

breadcrumbs too

Use
04

Baseline

widely available

Status
🎯 05

One current

per related set

Rule

❓ Frequently Asked Questions

It reflects the aria-current attribute as a string, marking which item is the current page, step, location, date, time, or generic current item within a related set.
No. MDN marks Element.ariaCurrent as Baseline Widely available (since October 2023). It is not Deprecated, Experimental, or Non-standard.
The strings "page", "step", "location", "date", "time", "true", or "false". Use the most specific token that matches the UI (for example "page" in site nav).
Use "page" for the current page in a set of pages (site navigation). Use "true" when the item is current but none of the more specific tokens fit. Use "false" (or remove the attribute) when it is not current.
In a given set, only one item should be marked current. When the user navigates, clear the old item ("false" or remove) and set the new item.
Yes. Reading and writing ariaCurrent updates the reflected aria-current attribute. Prefer the documented tokens so assistive technologies announce the right meaning.
Did you know?

aria-current is about which item is current in a set—not which element has keyboard focus. Focus can move around; the current page or step usually stays put until the user navigates.

Next: Element ariaDescribedByElements

Learn the reflected aria-describedby element-array property for accessible descriptions.

ariaDescribedByElements →

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