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

[Action Group] selection modes and updated keyboard navigation in [Action Bar/Pad] to fit toolbar pattern #7052

Open
3 tasks
Anastasiia-Boleiko opened this issue May 30, 2023 · 17 comments
Labels
0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. ArcGIS Map Viewer Issues logged by ArcGIS Map Viewer team members. ArcGIS Urban Issues logged by ArcGIS Urban team members. blocked This issue is blocked by another issue. design Issues that need design consultation prior to development. estimate - design - md Medium design effort; 5-10 days of design work impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone p - high Issue should be addressed in the current milestone, impacts component or core functionality ready for dev Issues ready for development implementation.

Comments

@Anastasiia-Boleiko
Copy link

Anastasiia-Boleiko commented May 30, 2023

Summary

Add a new selection-mode prop to action-group. Support toolbar pattern on action-pad, and action-bar and add keyboard interactivity on changes.

Actual Behavior

The current action-group, action-pad, and action-bar components UI are already in alignment with a toolbar pattern.

Expected Behavior

Blocked by #10759

  • Support the toolbar pattern in action-bar and action-pad where action groups have configurable selection modes
  • Add selection-mode=“multiple” | “none” (default) | “single” | “single-persist” with appropriate ARIA roles to action-group
  • Support keyboard interactivity and changes, which include:
    • Implement focus management so the keyboard tab sequence includes one stop for the component and arrow keys move focus among the actions. Refer to this example for an example using keyboard navigation

selection-mode use case example:
Image

Reproduction Sample

https://codepen.io/geospatialem/pen/JjxyZZo

Reproduction Steps

  1. Open the sample
  2. Observe the current keyboard behavior does not support toolbar pattern use cases

Reproduction Version

1.10.0

Working W3C Example/Tutorial

https://www.w3.org/TR/wai-aria-practices/examples/toolbar/toolbar.html

Relevant Info

If it's not possible to define a child of an element with a role="toolbar", as an alternative, there could be added an additional property that will define if navigating with arrows changes the selection or not.
But, it would be nice to have proper behavior out of the box.

Regression?

No response

Priority impact

p2 - want for current milestone

Esri team

ArcGIS Urban

@Anastasiia-Boleiko Anastasiia-Boleiko added 0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. needs triage Planning workflow - pending design/dev review. p - high Issue should be addressed in the current milestone, impacts component or core functionality labels May 30, 2023
@github-actions github-actions bot added impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone ArcGIS Urban Issues logged by ArcGIS Urban team members. labels May 30, 2023
@geospatialem geospatialem added design Issues that need design consultation prior to development. research Issues that require more in-depth research or multiple team members to resolve or make decision. resolution: refine For issues we support, but additional details are needed prior to dev work. and removed bug Bug reports for broken functionality. Issues should include a reproduction of the bug. labels Aug 7, 2023
@geospatialem
Copy link
Member

geospatialem commented Aug 7, 2023

Additional design insight needed on future direction, either as an enhancement with existing components, or if a new component with the above functionality should be considered.

As-is the segmented-control component is behaving as-expected for a11y support, but other considerations and the use case above should be considered.

@brittneytewks brittneytewks removed the needs triage Planning workflow - pending design/dev review. label Aug 17, 2023
@brittneytewks brittneytewks added this to the Design Backlog milestone Aug 17, 2023
@brittneytewks brittneytewks added the figma changes Issues that require additions or updates to the Figma UI Kit where no `design` label exists label Sep 12, 2023
@ashetland ashetland self-assigned this Sep 13, 2023
@ashetland ashetland added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels Sep 13, 2023
@ashetland ashetland modified the milestones: Design Next, Design Now Sep 13, 2023
@ashetland
Copy link
Contributor

@macandcheese @jcfranco Could we do something similar to Ionic's approach? https://ionicframework.com/docs/api/segment#selectonfocus

For our version, it may need to be something like select-on-focus-disabled to align with the rest of Calcite.

@macandcheese
Copy link
Contributor

macandcheese commented Sep 19, 2023

I think it might be better to update Action Bar or Action Group to support this toolbar pattern. IMO Segmented Control should remain as a form-based control with the current behavior.

It could be done on Action Group, like Dropdown Group. This could allow multiple types of selection in a single “toolbar” and support our usual selection mode options, to support single and multiple toolbar selections (think, paragraph alignment for single - bold, italic, underline, etc. for multiple)

The UI of Action / Action Bar / etc. align more with a toolbar too, especially with some of the discussed bg/border options.

@ashetland
Copy link
Contributor

I think I agree in principle with this, but would Action Group then need some kind of visual update? I'm not sure how a user would know, when there are multiple Action Groups in an Action Bar, that some Actions are grouped for organization, but one or more of the other groups have selection modes associated with them.

@macandcheese
Copy link
Contributor

macandcheese commented Sep 19, 2023

Sure, I think the Action component would need an update to support the selected display either way, either by changing our default grey active or through custom styling. Action Group should also have a separating border.

Segmented Control is problematic in UI most toolbars exist in as well, due to the border, display, etc. It’s also rectangular in icon only mode which is good, but most toolbar UI call for a square when “only icon”.

Would also be valid to use multiple Bar / Pad to cover a variety of UI needs, it needn’t always be a single Bar with multiple Group.

@macandcheese
Copy link
Contributor

@driskull thoughts on having Action Group having a selectionMode with the usual suspects to facilitate these toolbar use cases with mixed selection modes we are beginning to see more and more of?

@driskull
Copy link
Member

yeah that makes sense to support.

@brittneytewks brittneytewks removed the figma changes Issues that require additions or updates to the Figma UI Kit where no `design` label exists label Dec 12, 2023
@geospatialem geospatialem added the ArcGIS Map Viewer Issues logged by ArcGIS Map Viewer team members. label Jan 23, 2024
@ashetland
Copy link
Contributor

ashetland commented Feb 20, 2024

Moved design efforts to March as other design work has taken priority. We are currently exploring the pros and cons of two paths forward for this. cc @geospatialem @brittneytewks @SkyeSeitz @macandcheese

@brittneytewks brittneytewks removed this from the 2024-03-26 - Mar Release milestone Mar 21, 2024
@geospatialem
Copy link
Member

For some additional context, in the past week we've gotten feedback from a few Online teams that the above is an important issue to tackle. Once design efforts are good to go, let's consider moving some priorities post-R3 to get this to land, if possible.

@geospatialem
Copy link
Member

For some additional context, in the past week we've gotten feedback from a few Online teams that the above is an important issue to tackle. Once design efforts are good to go, let's consider moving some priorities post-R3 to get this to land, if possible.

In addition, we should pair this effort with #10706 to pair context between modes, for instance for actions that "launch" tooltips.

@ashetland ashetland added the blocked This issue is blocked by another issue. label Feb 6, 2025
@ashetland ashetland changed the title [Action Group, Action Bar, Action Pad] Add selectionMode property and update keyboard navigation to fit toolbar pattern [Action Group] selection modes and updated keyboard navigation in [Action Bar/Pad] to fit toolbar pattern Feb 6, 2025
@ashetland
Copy link
Contributor

Updated issue description to clarify design direction and related issues.

@ashetland ashetland added the ready for dev Issues ready for development implementation. label Feb 7, 2025
@github-actions github-actions bot added 0 - new New issues that need assignment. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Feb 7, 2025
Copy link
Contributor

github-actions bot commented Feb 7, 2025

cc @geospatialem, @brittneytewks

@DitwanP DitwanP removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. ArcGIS Map Viewer Issues logged by ArcGIS Map Viewer team members. ArcGIS Urban Issues logged by ArcGIS Urban team members. blocked This issue is blocked by another issue. design Issues that need design consultation prior to development. estimate - design - md Medium design effort; 5-10 days of design work impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone p - high Issue should be addressed in the current milestone, impacts component or core functionality ready for dev Issues ready for development implementation.
Projects
None yet
Development

No branches or pull requests

7 participants