Contact emails
[email protected]

Explainer
None


Specification
https://github.com/WICG/webcomponents/issues/1073


Summary

It's natural to provide ARIA properties on a custom element and then have the 
custom element implementation copy that property to a descendant. For example, 
aria-label, aria-description or aria-placeholder may be provided by the author 
using a custom element. The custom element's implementation often copies ARIA 
properties to another element, where the properties are now duplicated. This is 
a problem for two reasons: 1. Properties duplicated between 2 different 
elements can cause redundant announcements or otherwise confuse assistive tech 
operating on the a11y tree. 2) Using an accessible name via aria-label* on the 
custom element currently will have a generic role by default causes a violation 
of ARIA spec rules that accessible names are prohibited for role="generic". 
Currently, browsers ignore this rule, which will cause the accessible name to 
be announced twice by screen readers. This feature addresses the issue by 
removing custom elements from the a11y tree, except when: - A role is provided 
on the custom element - The custom element is itself focusable - It uses 
aria-live (legit use case) or aria-owns (must remain in tree) Spec issues: 
https://github.com/w3c/aria/issues/2303 
https://github.com/WICG/webcomponents/issues/1073 Chromium CLs: 
https://chromium-review.googlesource.com/c/chromium/src/+/5894644 
https://chromium-review.googlesource.com/c/chromium/src/+/5894749



Blink component
Blink>Accessibility


Motivation

As explained in the summary, this will help avoid double announcements in 
screen readers when authors use a common pattern of copying ARIA properties 
from custom elements to elements in their shadow tree.



Initial public proposal
None


TAG review
None


TAG review status
Not applicable


Risks




Interoperability and Compatibility

None


Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?

None




Debuggability

None



Is this feature fully tested by web-platform-tests?
No


Flag name on about://flags
None


Finch feature name
None


Non-finch justification
None


Requires code in //chrome?
False


Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5079996916563968?gate=5150348547981312


This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/673bb0ac.2b0a0220.1cf8a2.0959.GAE%40google.com.

Reply via email to