EnxDev commented on PR #41398:
URL: https://github.com/apache/superset/pull/41398#issuecomment-4842520464
## EnxDev's Review Agent — apache/superset#41398 · HEAD 6daf927
**lgtm** — minimal, correctly-scoped CSS fix for the stray focus ring on the
Filter Badge popover, with a regression test that actually guards the change.
This is a fix PR. I checked the behavioral claim, the test's targeting,
accessibility impact, and CI.
- The root cause analysis holds: `FiltersDetailsContainer`
(`Styles.tsx:118`) is focused programmatically via
`popoverContentRef.current.focus()` in `DetailsPanel/index.tsx`, with
`tabIndex={-1}`, so `:focus-visible` painted a UA outline after a refresh.
Suppressing `outline` on `:focus`/`:focus-visible` for this wrapper is the
right, narrow fix.
- Accessibility is preserved: the container is a non-interactive wrapper
(`tabIndex={-1}`, not a tab stop). The real focusable items (`FilterIndicator`
buttons reached via Arrow keys) keep their own `:focus-visible` styling, so
keyboard users still get a visible focus indicator.
- The regression test targets the right element: `FiltersDetailsContainer`
carries `role="menu"` (`DetailsPanel/index.tsx`), so `getByRole('menu')` +
`toHaveStyleRule('outline','none', {target: ':focus'/':focus-visible'})`
asserts on the exact styled node. PR states it's red on `master`, green here —
consistent with the diff.
- CI fully green (frontend-build, jest shards, lint, playwright/cypress);
codecov shows modified lines covered. Title follows Conventional Commits.
No functional, should-fix, or nit findings.
<!-- enxdev-review-agent:6daf927 -->
_Reviewed by EnxDev's Review Agent — @EnxDev · HEAD 6daf927._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]