Intent to Ship: ARIA Attribute Reflection for Elements (without relationship properties)

169 views
Skip to first unread message

Meredith Lane

unread,
Oct 31, 2019, 2:26:38 AM10/31/19
to blink-dev

Contact emails

abox...@chromium.org, mere...@chromium.org


Explainer

https://github.com/WICG/aom/blob/gh-pages/explainer.md#reflecting-aria-attributes


Spec

Specification: http://w3c.github.io/aria/#idl-interface 

TAG review: https://github.com/w3ctag/design-reviews/issues/134


Summary

With this feature, authors are able to express and modify the semantics of any Element via JS properties:

 

// instead of:

foo.setAttribute("aria-live", "polite");


// you can do:

foo.ariaLive = "polite";


This is part of the first stage of work being undertaken on the Accessibility Object Model, in order to match the expressivity of web and native APIs.


Note that we aren’t shipping relationship properties (ariaActiveDescendantElement, ariaLabelledByElements, etc.) because the spec for those properties on Element is not finalized yet. A separate Intent to Ship for Element reflection of reflection properties (here’s the I2I) will be sent later.


Link to “Intent to Implement” blink-dev discussion

This was implemented as part of the AOM project: 

https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/hlRQU77Wq0o/Apbt1WNQBwAJ

A separate i2i was not sent for this feature.


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Risks

Interoperability and Compatibility

AOM is being actively developed in conjunction with other browser vendors, and was discussed at F2F meetings at TPAC. Participants from Google, Apple, Mozilla and Microsoft are often in attendance for regularly scheduled AOM meetings. This particular stage of AOM is quite small and should be easily implementable in other browsers.


Firefox: No public signals (https://github.com/mozilla/standards-positions/issues/211)

Edge: No public signals

Safari: Shipped (https://bugs.webkit.org/show_bug.cgi?id=184676)

Web developers: No public signals.


Ergonomics

This feature adds many new properties to the Element DOM interface. It should not impact performance.



Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

https://github.com/web-platform-tests/wpt/blob/master/dom/nodes/aria-attribute-reflection.tentative.html


Entry on the feature dashboard

https://chromestatus.com/features/6643371200217088


TAMURA, Kent

unread,
Oct 31, 2019, 4:48:22 AM10/31/19
to Meredith Lane, blink-dev
It's a very strong signal.  LGTM1.

 

Web developers: No public signals.


Ergonomics

This feature adds many new properties to the Element DOM interface. It should not impact performance.



Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

https://github.com/web-platform-tests/wpt/blob/master/dom/nodes/aria-attribute-reflection.tentative.html


--
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 blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/46146ff7-f3ce-4ae1-b6e0-a5a8cdd5f1f6%40chromium.org.


--
TAMURA Kent
Software Engineer, Google


Chris Harrelson

unread,
Oct 31, 2019, 11:49:13 AM10/31/19
to TAMURA, Kent, Meredith Lane, blink-dev

Daniel Bratell

unread,
Oct 31, 2019, 3:04:54 PM10/31/19
to Chris Harrelson, TAMURA, Kent, Meredith Lane, blink-dev

LGTM3

I did notice that one of the aria specifications said that element's must not change their aria state after creation, mostly because that would not be handled by accessibility tools. So these new APIs need to be used carefully.

/Daniel

Reply all
Reply to author
Forward
0 new messages