KEMBAR78
Define "scoped" or reuse another existing term? · Issue #375 · w3c/html-aam · GitHub
Skip to content

Define "scoped" or reuse another existing term? #375

@scottaohara

Description

@scottaohara

This is follow on work to #350 as HTML AAM (and ARIA in HTML) use the term 'scoped' to indicate when a header, footer and aside have an implicit ARIA landmark role, or not. "Scoped" in this context essentially means that they are an ancestor of the body element (or the body or main element, in aside's case), with no intervening sectioning content or sectioning root elements.

There are a few things that need to be addressed with this term:

  1. it is not formally defined as a term at this point. This can be done, but as there are similar concepts in ARIA (required context role / Owned Element) and in HTML (Contexts in which this element can be used), figured it would make sense to get the WG's opinion on if a term name change might be in order. I don't presently think we can just use one of these other terms... but open to being told otherwise - there might be overlap with Update required owned elements and required context role aria#1454
  2. The current wording for scoped elements doesn't take into account what should happen if someone were to specify an intervening element (div) - which is fine for the scoping rule, but gives it an explicit ARIA role which effectively exposes it as an element which should break the scoping rule.
  3. I think this concept is important to specify beyond its current use for header, footer and aside. There are other elements that have similar behavior of becoming 'generic' or having their role 'ignored' under certain circumstances. But as far as i can tell, this isn't actually specified so much as it just is accepted behavior. e.g., a list item is not exposed as a list item if not contained within a list. Or if a table's implicit role is overwritten, all its direct table descendants become generics... and if you say use a td outside of the context of a table, browsers don't even render the element - its contents are just rendered instead.

Interested in people's thoughts on this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions