Missing aria-owns ID
Silktide checks every aria-owns attribute on your pages and verifies that the element IDs it lists actually exist. This attribute adopts elements from elsewhere on the page as children of a widget, even though the code places them somewhere else.
<!-- Problem: no element on the page has id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Why this matters
The aria-owns attribute rewires the
: elements it
references are treated as children of the owning element, regardless of
where they sit in the code. When a reference is broken, that graft silently
fails - a menu or tree can appear completely empty to a
even though its items are
plainly visible on screen. Because nothing looks wrong visually, these
breaks tend to survive until someone tests with .
How to fix it
- Make each ID listed in
aria-ownsmatch theidof a real element on the same page. - If the owned content moved or was renamed, update the reference in the
same change - or better, restructure the code so the children sit inside
their parent naturally and
aria-ownsis not needed. - Make sure no element is owned twice: an
idmay appear in only onearia-ownson the page.
How Silktide tests this
- Find every element on the page with an
aria-ownsattribute. - Check each ID it references against the element IDs present on the page.
- Report each reference that matches no element.
Troubleshooting
The owned element is created later by a script
Silktide tests the page as it loads. If the owned content only exists after
user interaction, the widget announces as empty until then - render the
content hidden from the start, or set aria-owns once it exists.
This check reports nothing even though I expect findings
ARIA testing can be turned off per website. Check the advanced settings for the website.