Skip to content

Why does menuitemradio inherit from menuitemcheckbox? #1347

Closed

Description

@WilcoFiers

It seems a little odd that menuitemradio inherits from menuitemcheckbox, but that radio doesn't inherit from checkbox. I tried to find the answer in the spec and the only indication is a "(see structure)" text next to the superclass listing. If there's a reason for this difference, it would be good to explain it in the description of the role. If not it might be worth changing the inheritance so it is consistent.

Activity

  1. carmacleod commented on Oct 28, 2020

    @carmacleod
    Contributor

    I agree that it is definitely odd.
    It is because folks didn't want to support aria-expanded on radio (but they were ok with it on menuitemradio).
    Some discussion in this issue #1277 and its corresponding PR #1278

  2. JAWS-test commented on Oct 28, 2020

    @JAWS-test
    Contributor

    It is because folks didn't want to support aria-expanded on radio (but they were ok with it on menuitemradio).

    I don't understand the argument. menuitemradio could have "menuitem" and "radio" as superclass role instead of "menuitemcheckbox" and "radio". aria-expanded would then inherit it from menuitem and everything would be ok

  3. carmacleod commented on Oct 28, 2020

    @carmacleod
    Contributor

    People wanted to remove the multiple inheritance.
    However, I believe we could just have menuitemradio subclass menuitem directly, and make it support aria-checked.
    That would probably make the structure clearer (and more consistent).
    I'll add the "agenda" label to discuss this possibility.

  4. added this to the ARIA 1.3 milestone on Oct 28, 2020
  5. jnurthen commented on Oct 28, 2020

    @jnurthen
    Member

    PR welcome for the change @carmacleod suggested above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions