Skip to content

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

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

updating aria-live=off to match the aligned implementations.#2677
spectranaut merged 3 commits intomainfrom
update-aria-live-off

Conversation

@cookiecrook
Copy link
Copy Markdown
Contributor

@cookiecrook cookiecrook commented Nov 20, 2025

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
Copy link
Copy Markdown

netlify Bot commented Nov 20, 2025

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
Copy link
Copy Markdown
Contributor Author

cookiecrook commented Dec 3, 2025

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
Copy link
Copy Markdown
Contributor

@spectranaut spectranaut left a comment

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?)

jenkins-chromium-github-sync Bot pushed a commit to armarok/chromium that referenced this pull request Feb 3, 2026
According to w3c/aria#2677

Bug: 477317119
Change-Id: Icab122430cdc141d582810aa2cc6f1f7221a1c9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7529653
Reviewed-by: Joey Arhar <[email protected]>
Reviewed-by: David Tseng <[email protected]>
Commit-Queue: Marco Esau Garcia Martinez <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1578813}
@pkra pkra deleted the update-aria-live-off branch April 8, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment