Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

required owned and context roles #15

Closed
rdeltour opened this issue Aug 9, 2019 · 2 comments · Fixed by #22
Closed

required owned and context roles #15

rdeltour opened this issue Aug 9, 2019 · 2 comments · Fixed by #22
Labels
DPUB-ARIA 1.1 Will be addressed in the 1.1 revision

Comments

@rdeltour
Copy link
Member

rdeltour commented Aug 9, 2019

It seems there's something wonky with the relationships established with required owned elements, required context role, and role subclasses defined in DPUB ARIA.

ARIA 1.1 has a note in the Required own elements section that says:

An element with a subclass role of the 'required owned element' does not fulfill this requirement. For example, the list role requires ownership of an element using either the listitem or group role. Although the group role is the superclass of row, adding a owned element with a role of row will not fulfill the requirement that list must own a listitem or a group.

This means for instance that doc-biblioentry cannot be used as the unique children of a list, which invalidates Example 6:

<section role="doc-bibliography">
   <h1>Cited Works</h1>
   <div role="list">
      <p role="doc-biblioentry" id="b8cab5dd-bc24-459c-9858-7afa9da69b64">
         John Steinbeck, The Grapes of Wrath (New York: The Viking Press, 1939)
      </p>
   </div></section>

In other words, doc-bibliography is only usable on li children of ol and ul.

Can we clarify that with the ARIA folks (cc @w3c/aria)? This looks like an oversight in how DPUB extends ARIA, or maybe even in ARIA's own extensibility.

@mattgarrish
Copy link
Member

mattgarrish commented Aug 10, 2019

In other words, doc-bibliography is only usable on li children of ol and ul.

But it wouldn't be, if we follow that logic, would it? Both of those have the implicit role of list so they also couldn't allow listitem subclasses. Strictly interpreting that note, you always have to create new list types in order to create subclasses of listitem, at least outside the core.

I agree that the note adds confusion, especially since it's technically only informative and I don't see the rule expressed normatively, but it can't be solved here. I appreciate why it exists, too, but the problem is that extension modules can't modify the core vocabulary, and the core vocabulary doesn't reference extension roles, so until a role is added to the core there will be this ambiguity.

What we probably need is a way to confirm that the roles are, indeed, expected to be included in the expected owned role list when in extensions ("required owner", or something like that).

But that assumes that the way we created the vocabulary is correct, which I'm holding out hope is the case. If not, then the problem will require reworking the vocabulary.

/cc @TzviyaSiegman @joanmarie

@rdeltour
Copy link
Member Author

See also w3c/aria#748 which proposes a stricter definition of "owned", which would break the multi-ancestors required contexts of roles like doc-biblioentry (which requires both a direct list owner and doc-bibliography grand-owner).

@mattgarrish mattgarrish added the DPUB-ARIA 1.1 Will be addressed in the 1.1 revision label Jul 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DPUB-ARIA 1.1 Will be addressed in the 1.1 revision
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants