Skip to content

Clarify mapping of a ‘generic’ element to the accessibility API in ARIA spec  #1829

Closed

Description

@shunguoy

Describe your concern

The ARIA spec (https://www.w3.org/TR/wai-aria-1.2/#generic) describes a ‘generic’ element as a container with no semantic meaning on its own, and it also indicates generic elements are exposed in accessibility APIs to assistive technology. It is understandable if a generic element has a native attribute (such as tabindex=‘0’) or a global aria attribute (e.g., aria-live) so such state or property can be provided to an AT. However, for a generic element (e.g., div) without any native semantic or aria attribute (including one that can exclude the element from the accessibility tree), such as <div> a div </div>, if it maps to the accessibility API, what semantic meaning in the generic element is conveyed to an AT? If not mapped over, the spec should be clear on this.
During our test, we noticed that Chrome displays a ‘generic’ role in the accessibility tree only if the element is in focus (e.g., with tabindex=‘0’) or with an accessible name (title attribute).
Please clarify the mapping of the ‘generic’ role.

Link to the version of the specification or documentation you were looking at at.

https://w3c.github.io/aria/#generic

Link to documentation:

Does the issue exists in the editors draft (the editors draft is the most recent draft of the specification)?
Yes

Activity

  1. jnurthen commented on Oct 13, 2022

    @jnurthen
    Member

    @schne324 can you please give your opinion on this

  2. smhigley commented on Oct 19, 2022

    @smhigley
    Contributor

    Also related to #1454, since the mapping of otherwise-generics that get focus or have e.g. aria-live, aria-label, etc. could affect how they are treated inside composite widgets.

  3. schne324 commented on Oct 19, 2022

    @schne324
    Contributor

    I think a div should only be generic if it needs to be in the accessibility tree (focusable, target of aria-owns, etc). Otherwise, a div should have no role (or role=presentation).

    It seems a bit weird for ARIA to introduce a role that is sometimes in the accessibility tree but sometimes not. It makes defining things like Owned Child much easier if the spec doesn’t need to special-case generic, because of this weird behavior.

  4. medeaoblongata commented on Oct 20, 2022

    @medeaoblongata
    Contributor

    Graphics ARIA and the SVG AAM describe a particularly complicated relationship between SVG/graphic content and implicit generic and presentation roles. I'd hope this could be simplified if generic were more clearly defined.

  5. scottaohara commented on Oct 21, 2022

    @scottaohara
    Member

    It seems a bit weird for ARIA to introduce a role that is sometimes in the accessibility tree but sometimes not.

    ARIA didn't introduce this behavior.

  6. pkra commented on Jun 28, 2023

    @pkra
    Member

    @scottaohara could this move to html-aam or can we close it in favor of the discussions there, e.g., w3c/html-aam#454, w3c/html-aam#489.

  7. added this to the ARIA 1.3 milestone on Jun 28, 2023
  8. scottaohara commented on Jun 28, 2023

    @scottaohara
    Member

    @pkra, i would submit this is resolved by #1949 -= which resolves html aam 489

  9. pkra commented on Jun 28, 2023

    @pkra
    Member

    Great! I've edited the top card there to automatically close this one upon merging.

  10. added
    clarificationclarifying or correcting language that is either confusing, misleading or under-specified
    on Jun 28, 2023
  11. added a commit that references this issue on Jul 25, 2023
    dc19188
  12. added a commit that references this issue on Oct 10, 2023
    0b32682
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

clarificationclarifying or correcting language that is either confusing, misleading or under-specified

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions