sligh...@chromium.org, alexr...@microsoft.com, beho...@microsoft.com
https://github.com/WICG/aom/blob/gh-pages/exportid-explainer.md
None
Exported IDs are a way to refer to elements inside a shadow tree from an ID reference attribute like `aria-labelledby` or `for`, while preserving shadow DOM encapsulation. There is a new attribute `exportid` to mark an element as having its ID exported from the shadow root, and a new syntax to refer to the element from outside the shadow root: `for="host::id(child)"`. There is also a new attribute `useids` to allow referring to elements outside of the shadow tree. More details are in the explainer. Together these features allow creating ARIA relationships across the shadow tree boundary.
The Shadow DOM presents a problem for accessibility: there is not a way to establish semantic relationships between elements on in different shadow trees (such as aria-labelledby). This limits the ability to design web components in a way that works with accessibility tools such as screen readers. Exported IDs solve this problem by giving a way to create semantic relationships between elements in a way that respects shadow DOM encapsulation. The specifics of the proposal are detailed in the linked explainer.
https://github.com/WICG/aom/pull/204
None
Pending
None
Gecko: No signal
WebKit: No signal
Web developers: No signals
Other signals:
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
None
No
None
None
None
False
No milestones specified
https://chromestatus.com/feature/5188237101891584
This intent message was generated by Chrome Platform Status.
Hi Aaron,
The plan has changed a bit since the original I2P. I got some feedback that the Export ID proposal was overly complicated for end users, and there should be a simpler feature that works towards enabling web components to be drop-in replacements for builtins. The new plan is to implement Reference Target (https://github.com/WICG/aom/pull/207), which is simpler and more scoped to solving cross-root ARIA.
I’ve updated the chromestatus feature to refer to Reference Target instead: https://chromestatus.com/feature/5188237101891584. I’m going to update the Export ID explainer in the AOM repo once the new one is merged.
That said, Reference Target relies on element reflection from the ARIAMixin in order to make a complete solution for cross-root ARIA, so it’s concerning that it has fallen into disrepair... Your link to your comment 25 is broken – could you send the link again and/or a link to the feature bug you’re referring to?
Thanks,
Ben
From: Aaron Leventhal <aleve...@google.com>
Sent: Thursday, February 15, 2024 3:12 PM
To: blink-dev <blin...@chromium.org>
Cc: Ben Howell <beho...@microsoft.com>; Alex Russell <alexr...@microsoft.com>; Benjamin Beaudry <Benjamin...@microsoft.com>; chrishtr <chri...@google.com>; David Bolter <dbo...@google.com>; Mason Freed <mas...@google.com>; abox...@igalia.com
Subject: [EXTERNAL] Re: Intent to Prototype: ExportID for cross ShadowRoot ARIA
Hi Aaron,
The plan has changed a bit since the original I2P. I got some feedback that the Export ID proposal was overly complicated for end users, and there should be a simpler feature that works towards enabling web components to be drop-in replacements for builtins. The new plan is to implement Reference Target (https://github.com/WICG/aom/pull/207), which is simpler and more scoped to solving cross-root ARIA.
I’ve updated the chromestatus feature to refer to Reference Target instead: https://chromestatus.com/feature/5188237101891584. I’m going to update the Export ID explainer in the AOM repo once the new one is merged.
That said, Reference Target relies on element reflection from the ARIAMixin in order to make a complete solution for cross-root ARIA, so it’s concerning that it has fallen into disrepair... Your link to your comment 25 is broken – could you send the link again and/or a link to the feature bug you’re referring to?