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
Fundamentals
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.
Concept
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).
Foundation
📝 Syntax
JavaScript
ariaCurrent
Value
A string with one of the following values:
Value
Meaning (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.
Pattern
📋 Site Navigation (MDN Shape)
MDN shows a nav where one link is marked current with aria-current="page". Screen readers incorporate that value into the announcement. You can update it with ariaCurrent:
let el = document.getElementById("link-home");
console.log(el.ariaCurrent); // "page"
When the route changes, clear the old link ("false" or remove the attribute) and set ariaCurrent = "page" on the new link so only one item stays current.
Cheat Sheet
⚡ Quick Reference
Goal
Code / note
Read
el.ariaCurrent
Mark current page
el.ariaCurrent = "page"
Mark current step
el.ariaCurrent = "step"
Clear current
el.ariaCurrent = "false"
One current item
Clear the previous item in the set first
MDN status
Baseline Widely available
Snapshot
🔍 At a Glance
Four facts about Element.ariaCurrent.
Kind
get / set
Instance
Type
string
7 tokens
Reflects
aria-current
Attribute
Baseline
widely
Oct 2023+
Hands-On
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"
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
});
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.
BaselineWidely available
Google ChromeSupported (ARIA reflection)
Yes
Microsoft EdgeSupported (ARIA reflection)
Yes
Mozilla FirefoxSupported (ARIA reflection)
Yes
Apple SafariSupported (ARIA reflection)
Yes
OperaFollow Chromium support
Yes
Internet ExplorerNo ariaCurrent IDL — use setAttribute
No
ariaCurrentBaseline
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.
Wrap Up
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.
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
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about ariaCurrent
Reflected aria-current string for the current item in a set.
5
Core concepts
📄01
Get / set
on Element
Kind
📝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.