Replies: 0 comments 1 reply
-
This comment may become its own issue (or part of a future issue I'll likely open on Contained list) but based on a slack with @janhassel and @andreancardona, I thought I'd better add a bit of that conversation here.
|
Beta Was this translation helpful? Give feedback.
-
Intro
This is a summary of the various conflicting information and considerations between the documentation of Contained List versus Structured list (as well as how they fit on the spectrum between List and the single selectable row version of Data table).
It is drawn from comments in the PDF reviews of these topics, which have more detailed comments and should be reviewed independently by anyone considering updating the documentation:
It is also additional to existing issues opened against these components, such as carbon-design-system/carbon-website#3632, #11506, #14174
The high level themes are as follows:
I'll discuss each of these themes in turn.
Unaligned variants
The structured lists are divided by function (Default, Selectable) while the contained lists are divided by visual style differences (On-page list, Disclosed list).
The contained lists have dedicated sub-sections listing each of these interactions:
Structured list has a simple Interactions heading with a few 'rules' listed under "Selectable structured list" (few if any of which are given for contained lists):
I infer that both list types share most if not all these features -- and where they do not, those become some of the distinguishing features between them. The distinction (and shared features) should be much more clearly indicated for both components.
I think consistent variant names between them (where they share similar qualities) would really help. For example, 'Read-only' and 'Interactive' (or 'Selectable' or 'Actionable' -- or possibly those are additional variants, where warranted).
I think a lot of the visual differences discussed in the contained list variants could be tackled in the Style tab -- and I suspect they apply to all variants for both components? As always, I tend to advocate for differences in interaction being a really good decision point for defining variants. It allows for matching anatomy sections, and provides much clearer abilities to describe accessibility considerations (since non-operable versions have little to cover).
I also wonder if the components should be renamed to make them easier to compare (e.g., List-simple, List-contained, List-structured). Obviously the organizing/naming of the components within Carbon has quite a bit to do with how important it is seen to position them within the List <> Data table continuum. (Also bearing in mind that Data table--which lists variants of Default, Selection and Expansion--fails to add in Sortable and other interactions which could themselves be variants).
List versus table row selection indicators.
I already have an issue open about Structured list selection indicators, #11506 . All the concerns there seem to apply to selectable contained lists as well. There was a proposed WCAG addition to ensure that elements that were operable had a visual affordance before the user began interacting with it (i.e., users should understand component operation without having to 'accidentally' discover it based on hover, etc). Unfortunately wording could not be proposed to make this predictably testable, but the need is real.
I encourage Carbon to adopt a consistent single-select model, based on the radio-button group behaviour.
Search/FIltering mechanisms
The contained list has 2 kinds of search mechanisms; the structured list gives none. Is that accurate, or does the structured list also have search/filtering capabilities, just not specified?
An issue has already been opened against the On Focus failure of the expandable search. While the persistent search doesn't have the same problem, I would like to better understand the intended usage of both search/filter mechanisms. I note there is a stated limit of 25 items on structured list. Is that why there is no filter mechanism? Perhaps contained lists have an unlimited number, and so need the filtering? I don't really understand the use case for this. Are these lists expected to get into the tens and hundreds of items?
Is that really a good use case for a persistent list? Isn't that more of a dropdown function?
'Read-only' versus 'deletion'
Both components offer single-select versions. Both are considered 'read-only' but both also allow deletion. Normally, you cannot do anything to read-only material. For example, here's a first hit on searching "read-only data features":
So I feel like maybe Carbon needs another term. I think the idea being discussed is that the information cannot be edited or altered, but list items can be deleted? It might be better to call them something else like "uneditable" or "unalterable" data? I don't have any great suggestion, except to expand on the intended interaction in the usage sections.
Beta Was this translation helpful? Give feedback.
All reactions