Use of outline:none leave no focus state styling in Windows +Edge with High Contrast Mode on.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 140
- Forks
- 100
- Avg merge
- 1h 3m
- Merged PRs (30d)
- 30
Description
Feedback summary
On Windows + Edge, with High Contrast Mode on (type left-shift+left-alt+PrintScreen to toggle it), there is no focus state styling for some controls in Paragon.
Improvements
In practice there is a better way to use outline: anywhere that we have an alternative to outline attribute for focus state styling: we should probably use outline: transparent instead of outline: none. This is because, transparent value gets mapped to a visible value in HC mode, and focus styling does its job.
Bugs
This affect may be specific to Edge on Windows.
Generally we use box-shadow for focus state styling, for two reasons: 1) it allows rounded corners (unlike outline, last time I checked), 2) it allow a gap between the focus state styling (2px box-shadow) and the thing being focused, which helps with WCAG 2.2: https://www.w3.org/TR/WCAG22/#focus-appearance (we're not required to conform to AAA-level WCAG Guidelines, but we do here so that's a bonus.
In Windows High Contrast Mode, box-shadows are removed and outline (if not None) is turned into a bright high-contrast color. But none value does not get mapped, so there may be no focus state styling in Window with High Contrast Mode on.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Search the Paragon component styles for outline:none and the associated box-shadow focus rules. Test affected controls in Windows Edge with High Contrast Mode enabled, then verify that focus remains visibly styled without regressing the existing rounded-corner and focus-gap behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, javascript, react
- Domain
- accessibility, design, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100