Skip to content

Fix keyboard focus indicators for All Settings dropdown and Join Us button in Portals - #5001

Merged
Judah Gabriel Himango (JudahGabriel) merged 4 commits into
mainfrom
copilot/fix-4975
Jul 3, 2025
Merged

Fix keyboard focus indicators for All Settings dropdown and Join Us button in Portals#5001
Judah Gabriel Himango (JudahGabriel) merged 4 commits into
mainfrom
copilot/fix-4975

Conversation

Copilot AI commented Jul 1, 2025

Copy link
Copy Markdown
Contributor

Problem

When navigating via keyboard in the PWA Builder Portals section, the 'All Settings' dropdown button and 'Join Us' button do not display visible focus indicators, making it unclear which element is currently focused. This violates WCAG 2.2 focus-visible accessibility guidelines and creates barriers for keyboard-only users and users with low vision.

Solution

Added proper :focus-visible CSS styles to both components to display clear black outlines when focused via keyboard navigation.

Changes Made

1. All Settings Dropdown (windows-form.ts):

sl-details:focus-visible::part(header) {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

2. Join Us Button (arrow-link.ts):

.arrow_anchor:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

Testing

  • ✅ Verified focus indicators appear correctly when navigating with Tab key
  • ✅ Tested with programmatic focus to ensure styles are applied
  • ✅ Confirmed build compiles successfully without errors
  • ✅ Validated TypeScript compilation passes

Accessibility Compliance

Both elements now show clearly visible black outlines (2px solid black with 2px offset) when focused using keyboard navigation, meeting WCAG 2.2 Focus Visible (SC 2.4.7) requirements.

Before/After

The test page demonstrates the fixed focus indicators working correctly:

Focus indicator test page showing the working focus outlines

Fixes #4975.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • googlechromelabs.github.io
    • Triggering command: node install.mjs (dns block)
  • https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.88/linux64/chrome-headless-shell-linux64.zip
    • Triggering command: node install.mjs (http block)
  • https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.88/linux64/chrome-linux64.zip
    • Triggering command: node install.mjs (http block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thanks @Copilot for opening a Pull Request! The reviewers will test the PR and highlight if there is any conflict or changes required. If the PR is approved we will proceed to merge the pull request 🙌

Co-authored-by: JudahGabriel <312936+JudahGabriel@users.noreply.github.com>
Copilot AI changed the title [WIP] [PWA Builder - Portals]: Keyboard Focus Indicator Not Visible on ‘All Settings’ Dropdown Button and Join Us button Fix keyboard focus indicators for All Settings dropdown and Join Us button in Portals Jul 1, 2025
@JudahGabriel
Judah Gabriel Himango (JudahGabriel) marked this pull request as ready for review July 3, 2025 00:23
@JudahGabriel
Judah Gabriel Himango (JudahGabriel) merged commit f3450ae into main Jul 3, 2025
6 of 7 checks passed
@JudahGabriel
Judah Gabriel Himango (JudahGabriel) deleted the copilot/fix-4975 branch July 3, 2025 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[PWA Builder - Portals]: Keyboard Focus Indicator Not Visible on ‘All Settings’ Dropdown Button and Join Us button

2 participants