ARIA Notification Proposal Discussion Points #1958
Replies: 21 comments 56 replies
-
Does the notification API need to support Braille-specific notifications rather than identical notifications for speech and visibly rendered text?Would the notification API need to provide support for separate braille specific notification strings? What are people's thoughts on this being a v1 release feature or if this is maybe something that could be rolled out as part of future updates? It does seem like it might be a good idea to support, particularly due to the introduction of aria-braillelabel |
Beta Was this translation helpful? Give feedback.
-
Does the notification API need to support speech markup/pronunciations (i.e. SSML or IPA)?Would the notification API need to support speech markup within the specified string giving the author a way to specify how the string should be spoken (i.e. spelled out or explicit pronunciation such as should "a5" speak as "aye5" or "uh5", etc.)? If this were added later, it would require a separate string as to not break the idea of simply sending the string untouched to the synth. It is also interesting that speech markup doesn't appear to be available in other aria tags (as far as I know) so why is it important here/now? |
Beta Was this translation helpful? Give feedback.
-
Guidance on fallback procedures (What to do if the platform/browser doesn't support the necessary API)What guidance should be provided in the following cases:
|
Beta Was this translation helpful? Give feedback.
-
Explain / identify guidance for expected (not required) screen reader interactionWhat specific examples/documentation should there be for expected screen reader interaction? For example:
|
Beta Was this translation helpful? Give feedback.
-
Referencing Arrays in the current spec appears confusingIs the concept of "arrays" necessary or is the main point to emphasize the owning element of the notifications (document or any specific DOM element). The point is the user can control elements from the owning element without effecting other elements. The thinking is the browser will immediately dispatch the ariaNotify data to the application's accessibility API. Because of this, there is little for the browser itself to do. What is the best way to convey this in the notification spec? |
Beta Was this translation helpful? Give feedback.
-
Does the notification API need to support "labels" or "types" and if so:
Note, Windows UIA Notification event uses the name "activityId" which is used as a namespace which is not localized giving the AT context (without parsing the localized string). |
Beta Was this translation helpful? Give feedback.
-
does the notification API need to be simpler?Are there too many options? Is it being too overloaded? Should it be broken down? |
Beta Was this translation helpful? Give feedback.
-
Idea that's a bit more powerful than interruptCurrent and preventInterrupt. uninterruptibleText: "Date error. ", The uninterruptibleText would be the general info and would be announced first. |
Beta Was this translation helpful? Give feedback.
-
Idea for handling potentially redundant notifications: How about insertionMode: once. |
Beta Was this translation helpful? Give feedback.
-
Re: "Bindings to User Activation" I think we should put an example here. |
Beta Was this translation helpful? Give feedback.
-
Since each element has its own queue, is it possible the author will want to specify between clearing the element's queue and clearing all queues? |
Beta Was this translation helpful? Give feedback.
-
Is this the most recent / current discussion place? I missed the deep dive owing to a conflict and have some broad questions (and some of the above commentary may also be mooted by the deep dive so not sure if I read that as well). |
Beta Was this translation helpful? Give feedback.
-
notificationId: discussion pointsnotificationId is designed to be a stable API created by web developers on a per-case basis for screen reader and screen reader addon developers.
|
Beta Was this translation helpful? Give feedback.
-
Scoping / Sourcenotifications can only affect other notifications within the same scope. The scope can also be used by a screen reader to bring the user to the "source" of the fired notification. Should this scope be set by a shared DOM element, or by something else like a shared id string? |
Beta Was this translation helpful? Give feedback.
-
Interrupt & flushingCurrently important/assertive notifications cannot interrupt or flush polite notifications. Important notifications can only interrupt & flush other important notifications, and only polite notifications can interrupt & flush other polite notifications. Is this clear from the docs, and is this the behavior we want? |
Beta Was this translation helpful? Give feedback.
-
UnderstandabilityAre the queuing and interrupt features understandable? |
Beta Was this translation helpful? Give feedback.
-
IA2 supportCurrently, on Windows, there is only support for UIA. There is no IA2 support.
|
Beta Was this translation helpful? Give feedback.
-
I watched the Deep Dive and gathered some notes (still sorry I missed it). I am breaking them down by the reasoning behind the feature and then I have some questions. Live Regions TodayThese were statements that seemed to be justification for proposing ariaNotify:
Broadly, ariaNotify feels like a developer experience (DX) affordance, not a user affordance. If it makes authors create better live regions, then I am for it (I kind of like the My Questions
|
Beta Was this translation helpful? Give feedback.
-
Avoiding pestering/annoyance of notifications, either too many or too irrelevantI understand many aspects of the ariaNotify proposal (types, notification IDs, element-scopes, priority, division of critical vs interruptible text) are intended to reduce the annoyance of live regions and allow some level of verbosity or relevance control, particularly in the scenarios where irresponsible misuse equates to the level of abuse. However, I also see a primary goal of the API to be “simpler,” easier to use than Live Regions, etc, which could lead us (even with the best of intentions) to an even-more abusable API for speech and braille announcements. What follows is a list of known severe misuse scenarios that have proven annoying to screen reader users, so annoying that Apple engineers have implemented VoiceOver prefs to shut off live region notifications entirely. We’d like to provide a path to give users incentives to enable some types of helpful notifications while also giving them sufficient control to disallow abusive misuse, but the live regions API is vague enough that it’s differentiate these unwanted notifications from genuinely useful notifications. Examples of misuse/abuse of Live Regions that should be disincentivized with a new API
Specific examples:
Miscellaneous musings of how to address these and other misuse scenarios.
|
Beta Was this translation helpful? Give feedback.
-
Should notifications be HTML rather than plaintext or SSML?It feels like a missed opportunity to invent a new API that's built around plaintext, or a speech-only markup language like SSML. I'm fine with not prioritizing braille in v1 but I don't think we should build an API that's not rich enough to support rich notifications in the future. Screen readers already don't just read the text of the web as plaintext, some screen readers support things like:
More importantly, these are all web features (HTML, CSS, etc.) - and as they're added to web standards, browsers and screen readers can adopt them to provide richer speech and braille output. Do we really want to move to an API that leaves out all of that potential? Do we want to say that we're never going to have an API that provides a way to annotate whether something is a phone number or an equation, or stresses one word - or that if we're ever going to support those that we'd have to reinvent them, rather than building on existing support for reading HTML? |
Beta Was this translation helpful? Give feedback.
-
Should we first standardize live regions, and let ariaNotify can build on them?It feels like ariaNotify is trying to solve two problems simultaneously: poor ergonomics of live regions for web developers, and inconsistent implementations in browsers and screen readers. Wouldn't it make more sense to address the inconsistent implementations first? I don't think this is unsolvable. We've had great success with specs such as ACCNAME and corresponding test suites that resolved ambiguities around name calculations and have led to very good consistency across browsers and screen readers. One thing I'd like to see is new native APIs that move the vast majority of the live region calculation into the browser rather than the current situation where the screen reader is forced to handle a lot of the logic and bookkeeping. In addition, I'm not convinced that live regions are always the wrong API. No question, there are plenty of cases where ariaNotify would be more convenient, but not all of them. Sometimes live regions really are a good fit, when a notification is visual, or when the text of a status bar occasionally changes. If we standardized live regions, we could implement ariaNotify as a polyfill and expect it to work well on all platforms. Any new features that ariaNotify needs ought to be added to live regions too - not just for the polyfill, but because of good use cases for live regions. Native support for ariaNotify could be seamless. If the argument is that this would take too long, and we could deliver ariaNotify sooner to save web developers pain, I think that's underestimating just how much work it will be to fully specify, standardize, and test all of the behavior of ariaNotify. I'd really hate to see us rush something out there to replace live regions only for developers to find the replacement is inconsistent and buggy too. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Resolutions of discussions will be tracked in #1957
Accessibility (ARIA) Notification API proposal - google doc
Beta Was this translation helpful? Give feedback.
All reactions