Skip to content

plugins/aks-desktop: CreateAKSProject: Make errors more accessible#345

Open
illume wants to merge 1 commit intoAzure:mainfrom
illume:wizarda11y-errors
Open

plugins/aks-desktop: CreateAKSProject: Make errors more accessible#345
illume wants to merge 1 commit intoAzure:mainfrom
illume:wizarda11y-errors

Conversation

@illume
Copy link
Collaborator

@illume illume commented Feb 27, 2026

  • Have a focus outline.
  • Make errors keyboard scrollable.
  • Also add an aria title.

Keyboard-only users couldn't Tab into scrollable regions (project creation failure panel, access control assignees list in Review step), making full error content unreachable without a mouse.

Fixes #300

Description

Adds tabIndex={0}, role="region", aria-label, and a visible :focus outline to the two scrollable Box containers that were previously keyboard-inaccessible. Once focused, users can scroll with Arrow keys, Page Up/Down, and Home/End.

<Box
  tabIndex={0}
  role="region"
  aria-label={t('Error details')}
  sx={{
    overflowY: 'auto',
    '&:focus': { outline: '2px solid', outlineColor: 'error.main', outlineOffset: '2px' },
  }}
>

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • CI/CD changes
  • Other: ___

Related Issues

Changes Made

  • CreateAKSProject.tsx: tabIndex={0} + role="region" + aria-label + focus outline on the scrollable error details panel
  • ReviewStep.tsx: same treatment on the scrollable access control assignees list

Testing

  • Unit tests pass
  • Integration tests pass
  • Manual testing completed
  • Performance tested (if applicable)
  • Accessibility tested (if applicable)

Test Cases

  1. Tab to the error panel after a failed project creation — focus lands on the region and a visible outline appears; Arrow keys / Page Up/Down scroll the content
  2. Tab to the Access Control list in the Review step — same focus and scroll behavior
  3. Screen reader announces the region label on focus

Screenshots/Videos

If applicable, add screenshots or videos to demonstrate the changes.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Breaking Changes

N/A

Performance Impact

  • No performance impact
  • Performance improved
  • Performance degraded (explain why this is acceptable)

Documentation Updates

  • README.md updated
  • API documentation updated
  • Code comments updated
  • User guide updated
  • No documentation updates needed

Reviewer Notes

Both scrollable containers now receive the same accessibility treatment for consistency. Focus outline color matches the context: error.main for the failure panel, primary.main for the access control list.

Copilot AI review requested due to automatic review settings February 27, 2026 21:10
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves keyboard accessibility in the AKS Desktop “Create AKS Project” flow by making scrollable content regions (assignees list + error details) focusable and giving them a visible focus outline, with ARIA labeling for screen readers.

Changes:

  • Make the “Access control assignees” list container keyboard-focusable and scrollable, with a focus outline and ARIA region label.
  • Make the error details panel focusable for keyboard scrolling, with a focus outline and ARIA region label.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
plugins/aks-desktop/src/components/CreateAKSProject/components/ReviewStep.tsx Adds focusability, region semantics, and focus outline to the assignees list container.
plugins/aks-desktop/src/components/CreateAKSProject/CreateAKSProject.tsx Adds focusability, region semantics, and focus outline to the scrollable error details area.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@illume illume added a11y a11y related issues bug Something isn't working p0 Highest priority labels Feb 27, 2026
Copilot AI review requested due to automatic review settings February 27, 2026 21:14
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Have a focus outline.
- Make errors keyboard scrollable.
- Also add an aria title.
Copilot AI review requested due to automatic review settings February 27, 2026 21:20
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 655 to 670
<Box
tabIndex={0}
role="region"
aria-label={t('Error details')}
sx={{
flex: 1,
overflowY: 'auto',
mb: 2,
minHeight: '100px',
maxHeight: '400px',
'&:focus': {
outline: '2px solid',
outlineColor: theme => theme.palette.error.main,
outlineOffset: '2px',
},
}}
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aria-label uses t('Error details'), but there is no corresponding i18n key in plugins/aks-desktop/locales/*/translation.json (search shows no matches). This will fall back to the raw key string and won’t be localized; please add the translation key (and required plural/locale entries as needed) or reuse an existing translation key that already exists.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a11y a11y related issues bug Something isn't working p0 Highest priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Accessibility team] Unable to scroll failure / error message using keyboard

2 participants