Fix info popovers not opening on permission selection forms

What does this MR do and why?

The information popovers next to resources on the fine-grained personal access token creation form, and next to permissions on the custom role creation/edit form, stopped opening. Clicking the icon did nothing, and there was no way to reach the popover with the keyboard either.

Both popovers use triggers="focus". Since @gitlab/ui 136.0.0 (bumped in commit bc7b824b), the vendored bootstrap-vue only opens focus-triggered popovers when the target matches :focus-visible. Clicking the icon focuses it but doesn't set :focus-visible, so mouse users saw nothing. The target gl-icon is a plain svg without tabindex, so keyboard users couldn't focus it at all. The result was that the popovers couldn't be opened by any means. The fix changes the triggers to hover focus, matching the GlPopover default and the shared HelpPopover component, and adds tabindex="0" and an aria-label to the icons so they are keyboard reachable and have an accessible name. Specs were updated to cover the focusable icon and the new triggers.

Screenshots or screen recordings

State Screenshot
Before: clicking or hovering the icon does nothing (icon is focused, no popover) mr-before-crop
After: hovering the icon shows the popover mr-after-hover-crop
After: tabbing to the icon shows the popover mr-after-keyboard-crop

How to set up and validate locally

  1. Go to User settings > Personal access tokens and add a new fine-grained token.
  2. In the resource and permission selector, expand a category (for example Application Security).
  3. Hover the information icon next to a resource: the description popover should appear.
  4. Tab to the icon with the keyboard: the popover should also appear.
  5. Repeat on the custom role form (Settings > Roles and permissions > New role for a group, EE license required): hover or tab to the information icon next to a permission.

Merge request reports

Loading
Loading