aria-currentaria-current indicates the element within a set that represents the current item. It supports several specific values: page, step, location, date, time, and a generic true, plus false (the default).
aria-currentThis navigation menu visually highlights the current page with bold, underlined text, but has no aria-current anywhere. The visual signal exists, but there is no programmatic equivalent.
Expected result: nothing should identify "Home" as the current page programmatically, a screen reader user has no way to know which link represents the page they are already on.
<nav aria-label="Example navigation">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
aria-current="page"The most common use of aria-current, marking the current page within a navigation menu.
Expected result: "Home" should be announced as the current page, in addition to being a link.
<nav aria-label="Example navigation">
<ul>
<li><a href="#" aria-current="page">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
aria-current="step", interactiveThis step indicator is fully interactive. Use the Back and Next buttons to move aria-current="step" between steps, only one step should be marked current at a time.
Expected result: the step marked aria-current="step" should move with each click, and exactly one step should carry the attribute at all times. The Back and Next buttons should stop at the first and last steps rather than wrapping around.
<ol aria-label="Checkout steps">
<li aria-current="step">1. Cart</li>
<li>2. Delivery</li>
<li>3. Payment</li>
<li>4. Confirmation</li>
</ol>
aria-current="date"A simple calendar table, with today's date marked using aria-current="date". This uses a native <table> rather than an ARIA grid, since this display is static, not interactive, and aria-current does not require any particular container role to function.
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Expected result: the 5th should be announced as the current date, in addition to its position in the table.
<td aria-current="date">5</td>
Note for testing: unlike some other ARIA attributes covered on this site, aria-current is not deprecated in any current version of the spec, and published support data (a11ysupport.io) shows a comparatively strong pass rate. Still worth confirming with your own standard browser and screen reader combinations, particularly the step value, which has not been verified here.
A lesson from testing this page: the original version of Example 4 used role="grid" for a static calendar display, without the required role="row" structure and without any keyboard interactivity. VoiceOver could not navigate into it at all, treating the whole thing as a single unstructured block. This has been corrected by using a plain, native <table> instead, since aria-current does not need a grid role to work, and a static display should not be given an interactive composite role like grid in the first place.