New issue
Advanced search Search tips

Issue 619641 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Aria owns omits subtree

Project Member Reported by dtseng@chromium.org, Jun 13 2016

Issue description


<div role="button" aria-owns="menu">network</div>
<div id="menu" role="menu"></div>

result:
the menu div does not appear in the automation tree.
i.e.
root.find({role: 'menu'})
undefined
 
Cc: aboxhall@chromium.org
This is happening because a button is not allowed to have children.

It's the same as writing this:

<button>
  <menu>
    <menuitem>
    <menuitem>
  </menu>
</button>

I don't think aria-owns is correct in this case. Perhaps aria-controls.

However, since I've seen this come up in examples maybe we need to handle it.

Interesting. Yeah, looks like an aria-controls type of case, but AFAIK aria-controls is barely implemented in any AT (JAWS, apparently?)

What would a good solution here look like, though? If the element with aria-owns tries to own something it can't, how do we expose that in a useful way? Does it just override the "no children" rule?
We could do something like: if you try to use aria-owns on an object that can't have children, they become siblings instead?

Easier would be to just ignore aria-owns in those cases, to avoid breaking sites like this

Comment 4 by dtseng@chromium.org, Jun 13 2016

Regardless of whether it gets handled or not, it should remain in the tree. At the moment, it's simply gone. I would say keep it in its normal, unmodified position in the accessibility tree.

Comment 5 by dtseng@chromium.org, Jun 14 2016

Labels: -Pri-3 OS-All Pri-2
Labels: -Pri-2 -OS-All Pri-3
Agreed re: at least ignoring aria-hidden if it tries to put something somewhere it can't go.
Status: Fixed (was: Assigned)

Sign in to add a comment