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

What is a "multi-selectable tablist"? #1355

Open
JAWS-test opened this issue Nov 24, 2020 · 6 comments
Open

What is a "multi-selectable tablist"? #1355

JAWS-test opened this issue Nov 24, 2020 · 6 comments
Assignees
Labels
clarification clarifying or correcting language that is either confusing, misleading or under-specified good first issue
Milestone

Comments

@JAWS-test
Copy link
Contributor

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

For a multi-selectable tablist, authors SHOULD ensure each visible tabpanel has its aria-expanded attribute set to true...

From the definition of a tablist I am familiar with, I cannot imagine that it allows multiple selection, because only one tabpanel can be visible at a time. Unfortunately, many frameworks confuse tablist with disclosure or accordion (where multiple selection is possible). Using tablist with these two elements, however, leads to the fact that they are not operable correctly, because the tabpanel is nested in the tablist.

Related: #1032

@jnurthen jnurthen added this to the ARIA 1.3 milestone Nov 30, 2020
@jnurthen
Copy link
Member

We should probably deprecate this. It was to support the original accordion pattern which was based on tablist. I propose we deprecate this in 1.3 and remove in 1.4

@jnurthen jnurthen self-assigned this Dec 3, 2020
@jnurthen
Copy link
Member

jnurthen commented Dec 4, 2020

Alternative proposal: leave aria-multiselectable but make it clear that this is only to be used when an operation can be performed on multiple tabs. For example, a browser allows you to select multiple tabs and close them all. aria-multiselectable could allow such an interface to be created.

No matter the result we should remove the 3rd paragraph entirely as it doesn't not add anything useful

For a single-selectable tablist, authors SHOULD hide other tabpanel elements from the user until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure each visible tabpanel has its aria-expanded attribute set to true, and that the remaining hidden tabpanel elements have their aria-expanded attributes set to false.

If we decide to allow aria-multiselectable we should add text to clarify that this allows a user to select tabs to perform other operations, not to expand multiple tabs at the same time.

@JAWS-test
Copy link
Contributor Author

Alternative proposal: leave aria-multiselectable but make it clear that this is only to be used when an operation can be performed on multiple tabs.

The question then would be, how to distinguish between selecting a tab and displaying a tab? Currently aria-selected is used for the displayed tab. If your suggestion is accepted it would be better to

  • use aria-selected only for the selection and
  • use aria-expanded on tab to indicate which tab panel is currently displayed.

Thus, the 3rd paragraph that you propose to delete would have to be kept, but reworded

@jnurthen jnurthen added clarification clarifying or correcting language that is either confusing, misleading or under-specified good first issue labels Aug 2, 2022
@chlane chlane self-assigned this Aug 3, 2022
@chlane
Copy link
Contributor

chlane commented Aug 3, 2022

@JAWS-test I agree that selection and visibility needs to be conveyed to users and that aria-expanded is the best fit for conveying visibility. I think the main thing we need to clarify are the concepts of selection and expansion/visibility when using multi-selectable tabs.

@chlane
Copy link
Contributor

chlane commented Aug 31, 2022

@jnurthen @JAWS-test It looks like aria-current could be a fit here because currentness and selection have different meanings. See https://www.w3.org/TR/wai-aria-1.1/#aria-current.

@JAWS-test
Copy link
Contributor Author

Whether we decide to use aria-current or aria-expanded, the thing should be backward compatible, i.e. aria-selected should still work unless the other attribute is used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification clarifying or correcting language that is either confusing, misleading or under-specified good first issue
Projects
None yet
Development

No branches or pull requests

3 participants