Skip to content

[Port dspace-8_x] Keyboard 'tab' key navigation improved #4313

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 13, 2025

Conversation

oscar-escire
Copy link
Contributor

@oscar-escire oscar-escire commented May 9, 2025

References

Description

This PR improves tab navigation across the Dspace site, primarily targeting browsers like Safari that require explicit tags to properly detect the next focusable element.

Instructions for Reviewers

  • Open DSpace on Safari desktop navigator
  • Use tab to change between focusable elements
  • All elements like links, inputs, buttons or checkboxes will be focusable and selectable with tab in default order

List of changes in this PR:

  • Added role tag to interactive elements
  • Added tabindex over interactive elements to enable focusable

Checklist

This checklist provides a reminder of what we are going to look for when reviewing your PR. You do not need to complete this checklist prior creating your PR (draft PRs are always welcome).
However, reviewers may request that you complete any actions in this list if you have not done so. If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

  • My PR is created against the main branch of code (unless it is a backport or is fixing an issue specific to an older branch).
  • My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
  • My PR passes ESLint validation using npm run lint
  • My PR doesn't introduce circular dependencies (verified via npm run check-circ-deps)
  • My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
  • My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
  • My PR aligns with Accessibility guidelines if it makes changes to the user interface.
  • My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
  • My PR includes details on how to test it. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
  • If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
  • If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
  • If my PR fixes an issue ticket, I've linked them together.

@tdonohue tdonohue changed the title [Port Dspace-8.x] Keyboard 'tab' key navigation improved [Port dspace-8_x] Keyboard 'tab' key navigation improved May 9, 2025
@tdonohue tdonohue added bug accessibility 1 APPROVAL pull request only requires a single approval to merge testathon Reported by a tester during Community Testathon usability labels May 9, 2025
@tdonohue tdonohue added this to the 8.2 milestone May 9, 2025
@tdonohue tdonohue moved this to 👍 Reviewer Approved in DSpace 8.x and 7.6.x Maintenance May 9, 2025
Copy link
Member

@tdonohue tdonohue left a comment

Choose a reason for hiding this comment

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

👍 Thanks @oscar-escire ! This looks like a good backport. I also tested this lightly against 8.x and didn't notice any issues.

@tdonohue tdonohue merged commit d6f75af into DSpace:dspace-8_x May 13, 2025
15 checks passed
@github-project-automation github-project-automation bot moved this from 👍 Reviewer Approved to ✅ Done in DSpace 8.x and 7.6.x Maintenance May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 APPROVAL pull request only requires a single approval to merge accessibility bug testathon Reported by a tester during Community Testathon usability
Projects
Development

Successfully merging this pull request may close these issues.

2 participants