Some stuff that doesn’t work between the DOM and Shadow DOM

Been reading a few new articles on Web Components and accessibility, which lead me to re-read an old post I wrote: Notes on Web Components + ARIA. I noted the demo was broken, presumably as the web component syntax had changed since 2012. So I decided to make a few new tests:

What I found was that anything that relies upon an id association between content in the DOM and Shadow DOM breaks (note need to run latest Chrome or Firefox Nightly ,with web components flag enabled, to test):

Some HTML examples:

Most ARIA relationship attributes:

will this be fixed?

Discussion is occurring in regards to the ARIA issues – ARIA relationships via selector

Further reading

Categories: Technical

About Steve Faulkner

Steve was the Chief Accessibility Officer at TPGi before he left in October 2023. He joined TPGi in 2006 and was previously a Senior Web Accessibility Consultant at vision australia. Steve is a member of several groups, including the W3C Web Platforms Working Group and the W3C ARIA Working Group. He is an editor of several specifications at the W3C including ARIA in HTML and HTML Accessibility API Mappings 1.0. He also develops and maintains HTML5accessibility and the JAWS bug tracker/standards support.


bruce says:

Would you want to use an id association across the DOM/ Shadow DOM boundary? Wouldn’t that rather negate the value of encapsulation?

Steve Faulkner says:

hi bruce, I think that being able to link to a document fragment inside a component, for example, is a reasonable use case, but as I said on twitter I am not forming a value judgement, just flagging a potential issue, that people more knowledgeable than I, have been discussing in the dark corners of Googledom.