Skip to content

Announce changes to live regions on macOS#21045

Open
kirb wants to merge 2 commits intoAvaloniaUI:masterfrom
kirb:feature/live-region-announce
Open

Announce changes to live regions on macOS#21045
kirb wants to merge 2 commits intoAvaloniaUI:masterfrom
kirb:feature/live-region-announce

Conversation

@kirb
Copy link
Copy Markdown
Contributor

@kirb kirb commented Mar 30, 2026

What does the pull request do?

It is necessary to request announcement of the new contents of a live region, alongside posting the more general kAXLiveRegionChangedNotification, otherwise the live setting has no effect. This adds the announcement notification.

What is the current behavior?

Live regions are correctly attributed as live, and post notifications when they change. Assistive tools could make use of these traits (I don’t know the details of this), but the text does not get read out by VoiceOver or a Braille display.

What is the updated/expected behavior with this PR?

Changes to the Name of live regions are announced using the specified assertiveness.

How was the solution implemented (if it's not obvious)?

When the Name of an element that specifies a live mode changes, we post NSAccessibilityAnnouncementRequestedNotification with this text. Polite maps to NSAccessibilityPriorityMedium and will queue to be announced after the current item; Assertive maps to NSAccessibilityPriorityHigh and will interrupt any current announcement. This matches Chromium’s implementation of aria-live on macOS.

Checklist

Breaking changes

n/a

Obsoletions / Deprecations

n/a

Fixed issues

n/a

kirb added 2 commits March 31, 2026 02:42
It is necessary to manually request announcement of the new name of a live
region, alongside posting the general kAXLiveRegionChangedNotification.
@kirb kirb force-pushed the feature/live-region-announce branch from 36882b1 to f9f6491 Compare March 30, 2026 15:42
@kirb
Copy link
Copy Markdown
Contributor Author

kirb commented Mar 30, 2026

Force pushed a rebase due to the bad merge in between commits. This is now cleanly based on top of master. (Seems that pulled in a bunch of people as participants - sorry!)

@avaloniaui-bot
Copy link
Copy Markdown

You can test this PR using the following package version. 12.0.999-cibuild0064289-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants