Skip to content

Conversation

@arbirali
Copy link

@arbirali arbirali commented May 19, 2025

📄 Description

This PR resolves a keyboard navigation issue in the hamburger menu of the header on the Progress page in the Open edX Demo Course. The interactive elements within the hamburger menu were either not reachable via keyboard or did not follow a logical focus sequence, posing an accessibility barrier for keyboard-only users.

The fix ensures that focus order is correctly applied to all elements within the hamburger menu, aligning with WCAG Success Criterion 2.4.3 – Focus Order, which requires that focusable components receive focus in an order that preserves meaning and operability.


🎯 Issue

  • Actual Result:
    When the hamburger menu is opened, the interactive elements inside it (e.g., links, buttons) are either not accessible via the Tab key or are focused in an illogical order. This prevents users relying on keyboard navigation from accessing the menu content effectively.

✅ Fix

  • Ensured all elements inside the hamburger menu are keyboard-focusable.
  • Defined a logical tab order for menu items to preserve intuitive navigation.
  • Verified accessibility behavior using screen readers and manual keyboard testing.

🖼️ Screenshots/Sandbox (optional):

Live Preview: View Sandbox

Before After
image image image

🔗 Related

@codecov
Copy link

codecov bot commented Jun 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.53%. Comparing base (6b98d10) to head (95db69a).
Report is 3 commits behind head on sumac/indigo.

Additional details and impacted files
@@               Coverage Diff                @@
##           sumac/indigo      #30      +/-   ##
================================================
+ Coverage         68.39%   68.53%   +0.13%     
================================================
  Files                49       49              
  Lines               481      483       +2     
  Branches            107      109       +2     
================================================
+ Hits                329      331       +2     
  Misses              149      149              
  Partials              3        3              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment on lines +34 to +40
{showUserDropdown && authenticatedUser && (
<Responsive maxWidth={991}>
<AuthenticatedUserDropdown
username={authenticatedUser.username}
/>
</Responsive>
)}

Choose a reason for hiding this comment

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

How is this different from the same code below? Why is this added?

Copy link
Author

Choose a reason for hiding this comment

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

@DawoudSheraz This change adjusts the dropdown's DOM position based on screen size—placing it at the end on desktop and the start in mobile’s hamburger menu. This ensures proper focus order and prevents hidden content issues during keyboard navigation. Screenshots are also added in the PR description to demonstrate the fixed behavior across devices.

Choose a reason for hiding this comment

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

There are no screenshots in PR description. I understand the context, but please add the screenshot as they are helpful for reviewers and anyone looking at PR.

Copy link
Author

Choose a reason for hiding this comment

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

@DawoudSheraz, I have attached the screenshots.

@arbirali arbirali merged commit f829dd4 into edly-io:sumac/indigo Jun 16, 2025
6 checks passed
DawoudSheraz added a commit that referenced this pull request Jun 24, 2025
* fix: Add visible titles to image-based links
* feat: enhance accessibility by adding descriptive label to theme toggle (#29)
* feat: Header - Focus order meaning - Open Edx Demo Course (#30)
* feat: Header - Focus order meaning - Open Edx Demo Course
* refactor: unify responsive rendering using the existing Responsive component

Co-authored-by: Rahat Ali <rahat.ali@arbisoft.com>
Co-authored-by: hinakhadim <hina.khadim@arbisoft.com>
ahmed-arb pushed a commit that referenced this pull request Jul 8, 2025
* fix: Add visible titles to image-based links
* feat: enhance accessibility by adding descriptive label to theme toggle (#29)
* feat: Header - Focus order meaning - Open Edx Demo Course (#30)
* feat: Header - Focus order meaning - Open Edx Demo Course
* refactor: unify responsive rendering using the existing Responsive component

Co-authored-by: Rahat Ali <rahat.ali@arbisoft.com>
Co-authored-by: hinakhadim <hina.khadim@arbisoft.com>
ahmed-arb pushed a commit that referenced this pull request Jul 11, 2025
* fix: Add visible titles to image-based links
* feat: enhance accessibility by adding descriptive label to theme toggle (#29)
* feat: Header - Focus order meaning - Open Edx Demo Course (#30)
* feat: Header - Focus order meaning - Open Edx Demo Course
* refactor: unify responsive rendering using the existing Responsive component

Co-authored-by: Rahat Ali <rahat.ali@arbisoft.com>
Co-authored-by: hinakhadim <hina.khadim@arbisoft.com>
ahmed-arb pushed a commit that referenced this pull request Jul 16, 2025
* fix: Add visible titles to image-based links
* feat: enhance accessibility by adding descriptive label to theme toggle (#29)
* feat: Header - Focus order meaning - Open Edx Demo Course (#30)
* feat: Header - Focus order meaning - Open Edx Demo Course
* refactor: unify responsive rendering using the existing Responsive component

Co-authored-by: Rahat Ali <rahat.ali@arbisoft.com>
Co-authored-by: hinakhadim <hina.khadim@arbisoft.com>
ahmed-arb pushed a commit that referenced this pull request Jul 16, 2025
* fix: Add visible titles to image-based links
* feat: enhance accessibility by adding descriptive label to theme toggle (#29)
* feat: Header - Focus order meaning - Open Edx Demo Course (#30)
* feat: Header - Focus order meaning - Open Edx Demo Course
* refactor: unify responsive rendering using the existing Responsive component

Co-authored-by: Rahat Ali <rahat.ali@arbisoft.com>
Co-authored-by: hinakhadim <hina.khadim@arbisoft.com>
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.

3 participants