Skip to content

updating aria-live=off to match the aligned implementations. - #2677

Merged
spectranaut merged 3 commits into
mainfrom
update-aria-live-off
Jan 20, 2026
Merged

spectranaut merged 3 commits into
mainfrom
update-aria-live-off

Conversation

@cookiecrook

@cookiecrook cookiecrook commented Nov 20, 2025 •

Copy link
Copy Markdown
Contributor

Closes #2144
Closes #2653
Closes #2664
Closes #2674

Updating aria-live="off" to match the aligned implementations:… Effectively that the following are not live regions, because aria-live="off" negates all live region functionality.

  • role="marquee"
  • role="timer"
  • <div aria-live="off"> (aria-live is global, and the default is off on everything, so this is identical to <div>)

See the issues for more detail.

Implementations:


Preview | Diff

@netlify

netlify Bot commented Nov 20, 2025 •

Copy link
Copy Markdown

✅ Deploy Preview for wai-aria ready!

Name Link
🔨 Latest commit da754d9
🔍 Latest deploy log https://app.netlify.com/projects/wai-aria/deploys/69393082a411130008b904bb
😎 Deploy Preview https://deploy-preview-2677--wai-aria.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@cookiecrook

cookiecrook commented Dec 3, 2025 •

Copy link
Copy Markdown
Contributor Author

Added Agenda+ to the related issue, just to make sure this doesn't slip by any WG members accidentally. Removing the duplicate keyword here.

@cookiecrook cookiecrook removed the Agenda label Dec 3, 2025
@spectranaut
spectranaut self-requested a review December 4, 2025 18:35
@spectranaut

Copy link
Copy Markdown
Contributor

Assigning myself to test orca.

@cookiecrook

Copy link
Copy Markdown
Contributor Author

Braille tests revealed no unexpected results.

@spectranaut Assuming Orca aligns with the others, you can merge since this has two other approvals.

Comment thread index.html Outdated

@spectranaut spectranaut left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my testing in chrome on linux, Orca ignores updates in timer and marquee, like expected.

However, this does actually need bugs on browsers -- at least chrome exposes live:none and container-live:none on these roles from my local testing, and if we remove it from the AAM, then it shouldn't.

@spectranaut

Copy link
Copy Markdown
Contributor

@joanmarie -- this change to Core-AAM removes "container-live:off" and "live:off" from the object attributes for marquee and timer: https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fw3c.github.io%2Fcore-aam%2F&doc2=https%3A%2F%2Fdeploy-preview-2677--wai-aria.netlify.app%2Fcore-aam%2F#role-map-marquee

But chrome exposes this information on linux for both regardless of whether aria-live is present. I assume, but wanted to make sure, that Orca doesn't need that information (in the case that aria-live is not present) before opening the bug on chrome to remove it?

@joanmarie

Copy link
Copy Markdown
Contributor

Just checked. Orca's definition is:

    @staticmethod
    def is_live_region(obj: Atspi.Accessible, _role: Atspi.Role | None = None) -> bool:
        """Returns True if obj is a live region."""

        attrs = AXObject.get_attributes_dict(obj)
        return "container-live" in attrs and attrs.get("container-live") in ["polite", "assertive"]

So removing the attribute is no different than exposing it with a value of "off". Remove away! :) And thanks for checking!!

@spectranaut

Copy link
Copy Markdown
Contributor

Ok, I added bugs.

Because (1) change to Core-AAM is not technically normative -- we do not say that you "MUST NOT" expose attributes not listed in the AAM tables and (2) exposing container-live:off and live:off (container-live-role:.. is already not exposed) has no downstream effect, I think this is fine to merge.

@spectranaut
spectranaut merged commit 2d9ac48 into main Jan 20, 2026
9 checks passed
@github-project-automation github-project-automation Bot moved this from Merge? to Waiting For Implementation in ARIA Normative PR Tracking Jan 20, 2026
github-actions Bot added a commit that referenced this pull request Jan 20, 2026
SHA: 2d9ac48
Reason: push, by spectranaut

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@patrickhlauke

Copy link
Copy Markdown
Member

sorry for the naive question, but: does this change now mean that aria-live=off isn't the old magical "it's supposed to be announced, but only when the AT cursor/focus is inside/on the element", and instead "off" now means what most people would assume..."this is not a live region"?

(i.e., quite self-servingly, can i now update the first part of that final note in https://tetralogical.com/blog/2024/05/01/why-are-my-live-regions-not-working/ that rants about "off" being weird? and do we need to make updates to MDN and such?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

8 participants