openedx / openedx/paragon

Use of outline:none leave no focus state styling in Windows +Edge with High Contrast Mode on.

Open
#2,789 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

a11y good first issue
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.