Skip to content

fix(a11y): Fix tab order to match visual/logical reading order#1402

Open
AbhiAditya02 wants to merge 1 commit into
magic-peach:mainfrom
AbhiAditya02:fix/tab-order
Open

fix(a11y): Fix tab order to match visual/logical reading order#1402
AbhiAditya02 wants to merge 1 commit into
magic-peach:mainfrom
AbhiAditya02:fix/tab-order

Conversation

@AbhiAditya02
Copy link
Copy Markdown

@AbhiAditya02 AbhiAditya02 commented May 30, 2026

Description

This PR resolves the critical accessibility issue where the keyboard focus order (Tab sequence) did not align with the visual and logical reading order of the video editor application.

Core Changes

  • DOM Focus Alignment: Restructured JSX elements inside VideoEditor.tsx to align sequential tab order logically (Upload → Preset → Framing → Trim → Rotate → Audio → Quality → Export).
  • Prism Layout Preservation: Absolute-positioned the right-column blocks on desktop to keep the visual two-column layout intact with zero vertical gaps or overlaps.
  • Synchronized Sticky Column: Added React observers and a window scroll/resize listener to cleanly stick both right-hand cards in synchrony until the left column finishes.
  • Hydration Flicker Guard: Set default states to 0 and applied a desktop opacity transition to eliminate split-second layout shifts or overlaps on reload.
  • Unit Testing: Added a dedicated accessibility tab-order test suite (VideoEditorTabOrder.test.tsx) to assert proper sequential ordering. All tests passed.

Related Issue

closes #167


Type of Contribution

  • Bug fix
  • New feature
  • Documentation update
  • Refactor
  • GSSoC contribution

Participant Info

  • GitHub username: @AbhiAditya02
  • Contribution level : Intermediate

Screen Recording

Screencast.from.2026-05-30.17-09-44.webm

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes in Chrome, Firefox, and Safari
  • bun run lint passes (no ESLint errors)
  • bunx tsc --noEmit passes (no TypeScript errors)
  • New interactive elements have aria-label / accessible names
  • No console.log statements left in
  • This PR is related to a valid issue
  • Screen recording attached above (required for UI/feature/design changes)

@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

@AbhiAditya02 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 30, 2026

✅ PR Format Check Passed — @AbhiAditya02

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @AbhiAditya02!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions github-actions Bot added level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature type:refactor Code refactor type:testing Testing gssoc'26 GirlScript Summer of Code 2026 labels May 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature type:refactor Code refactor type:testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Accessibility] Fix tab order to match visual/logical reading order

1 participant