Skip to content

[TECH] Add keyboard navigation to interactive tabs - #1387

Open
cernus76 wants to merge 2 commits into
devfrom
fix/keyboard-tab-navigation
Open

cernus76 wants to merge 2 commits into
devfrom
fix/keyboard-tab-navigation

Conversation

@cernus76

Copy link
Copy Markdown
Contributor

Quick Start document rows used clickable div elements, and the homepage tab set did not implement the keyboard behavior required for ARIA tabs. Document navigation and sub-page creation are now separate named buttons with visible focus, active-state semantics, and decorative icons hidden from assistive technology.

Architecture tabs now support Arrow Left/Right with wrapping plus Home and End, move focus with selection, expose horizontal orientation, and connect each tab to its panel with unique IDs. The touched component type errors and timer cleanup are also corrected.

Validation:

  • Focused interaction tests for document buttons and tab-key behavior
  • Full Jest suite: 46 passed
  • Focused ESLint
  • TypeScript: zero diagnostics in changed files
  • npm run build
  • git diff --check

@hyperspace-pr-bot

Copy link
Copy Markdown
Contributor

Summary

The following content is AI-generated and provides a summary of the pull request:


Warning

You are about to make a PR to the EXTERNAL Architecture Center.
Please review the contents of your PR carefully. Some information
may be subject to embargo and must not be disclosed publicly before
the designated release date.

Which content does this PR apply to? (Enter a short description)

Title: Improve keyboard accessibility for tabs and document navigation
Category: Bug Fix

Improves accessibility across Architecture Tabs and Quick Start document navigation:

  • Adds ARIA-compliant keyboard navigation to Architecture Tabs using Arrow Left/Right, Home, and End, with wrapping and automatic activation.
  • Connects tabs and panels through unique IDs, exposes horizontal orientation, and adds visible focus indicators.
  • Converts document rows into named buttons with active-page semantics.
  • Separates document selection from sub-page creation and hides decorative icons from assistive technology.
  • Cleans up transition timers and resolves touched component typing issues.
  • Adds focused tests for tab keyboard behavior and accessible document actions.

Validation: 46 Jest tests passed, focused ESLint passed, TypeScript reported no diagnostics in changed files, and the production build and diff checks completed successfully.

Who should review your contribution? (Use @mention to be more specific)

Architecture Center UI and accessibility maintainers.

Checklist before submitting

  • My commits are only for the content mentioned above.
  • I have followed the folder structure described in the Community Guidelines

Note

Feel free to contact the administrators if you have any questions.


  • 🔄 Regenerate and Update Summary
  • ✏️ Insert as PR Description (deletes this comment)
  • 🗑️ Delete comment
PR Bot Information

Version: 1.33.12

  • Event Trigger: pull_request.opened
  • File Content Strategy: Full file content
  • Output Template: Repository PR Template
  • Correlation ID: 0f4d7490-ce3c-11f1-832a-e1ab5ecfbd49
  • LLM: gpt-5.6-sol
  • Summary Prompt: Default Prompt

@hyperspace-pr-bot hyperspace-pr-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The accessibility improvements are generally well structured and covered by focused tests. One responsive orientation mismatch should be addressed before merging.

PR Bot Information

Version: 1.33.12

  • Event Trigger: pull_request.opened
  • Agent Instructions:
  • File Content Strategy: Full file content
  • Correlation ID: 0f4d7490-ce3c-11f1-832a-e1ab5ecfbd49
  • LLM: gpt-5.6-sol

Comment thread src/components/ArchitectureTabs/ArchitectureTabs.tsx Outdated

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants