-
Notifications
You must be signed in to change notification settings - Fork 13
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
Tree View Component #1 #180
Comments
Accessibility reference: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/ |
More Laura notes:
|
Full requirements list: https://laura-silva.notion.site/TreeView-1fa9fc9d40654f7dba969a7fbaa492c6 |
Bugs:
|
QA notes from Orion: https://www.notion.so/Treeview-QA-bf1bd682085942acb29712cd30bb3277 |
QA complete. I reviewed:
|
Within |
Figma: https://www.figma.com/file/z2H2qv9iYQX942LqToCuQE/Components---Data-Display?node-id=503%3A15601&t=BdQKFJAZMqZ5ovGK-1
Inspiration:
Material UI (MUI): https://material-ui.com/components/tree-view/
Base Web: https://baseweb.design/components/tree-view/
Carbon: https://carbondesignsystem.com/components/tree-view/usage/
Telerik: https://www.telerik.com/kendo-angular-ui/components/treeview/checkboxes/#toc-lazily-loaded-nodes
Requirements
-- This will probably cause performance issues if there are too many. Not sure how much is too much. Is there someway to protect the UI from this?
-- Text label can wrap if there isn't enough room
-- Icons must be on or off for ALL nodes.
-- You can expand or collapse the node by clicking/tapping on the arrow button
-- There should be an option to have any branch node expanded by default
-- The width of each node extends to the edges of the container the Tree View is inside, so each node will get the appropriate amount of padding on the left to ensure each level is properly aligned
--- Branch node - 1st level has 8px of left padding. Each level after that adds 24px of left padding.
---- 8, 32, 56, 80, 104, etc.
--- Leaf node - 1st level has 40px of left padding. Each level after that adds 24px of left padding.
---- 40, 64, 88, 112, 136, etc.
-- The style of the select item changes
--- Background = neutral900, opacity 8%
--- Left border, 4px, primary500
-- This adds a checkbox to each node
-- Branch node checkboxes will select/deselect all children and can exist in an indeterminate state if some children are not selected.
-- Clicking/tapping on the checkbox and everything to the right of it selects the item.
Dark Mode / Inverse
-- Checkboxes use the inverse checkbox styles (white)
-- Other icons and text label also change to white
-- Hover = background changes to neutral900, 17% opacity
-- Selected = background changes to neutral900, 30% opacity
-- 4px left border changes to tertiary500
Accessibility
There are accessibility standards already defined by the W3C we need to follow: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
Keyboard controls
Single-select and Multi-select are essentially the same for their keyboard controls
We only need to show focus on the entire item, not any individual pieces like checkboxes or arrows.
The text was updated successfully, but these errors were encountered: