Skip to content

fix(a11y): localize the workspace skip link - #1601

Draft
seonghobae wants to merge 8 commits into
codex/dashboard-user-facing-copyfrom
codex/localize-skip-link
Draft

fix(a11y): localize the workspace skip link#1601
seonghobae wants to merge 8 commits into
codex/dashboard-user-facing-copyfrom
codex/localize-skip-link

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Current authority — 2026-09-10

Current head preserves predecessor #1601 as first parent and adopts current #1578 as second parent through a non-force ordinary restack. The product delta remains the localized workspace skip link and its regression test; inherited security, Today recovery and customer-copy source remain owned by ancestors.

Pre-restack checks/reviews are not current-head authorization. This exact head currently has no PR-triggered hosted workflow run.

UI Delivery Gate: FAIL

The skip-link change remains bounded and intentional. Current-head hosted execution, rendered focus/keyboard evidence, applicable locale expansion checks and a qualifying post-restack independent review are still required.

Match the Korean document locale and reveal the focused link as a full-width header strip so it remains readable at desktop and mobile widths.

Signed-off-by: Seongho Bae <me@seonghobae.me>
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Visual Inspection receipt for exact head 70ae56268728b9c17924edfc6b42c21d44ab8031:

  • production next build completed and generated all 16 routes
  • actual browser keyboard Tab inspection at desktop 1280×720 and mobile 390×844
  • the focused 본문 바로가기 control is readable, centered, bounded by a visible focus ring, and rendered as a full-width top strip so it does not visually mix with the logo or navigation
  • focused component regression: 5/5 passed with the locale label and responsive strip assertions

The initial compact pill overlapped the Naruon logo at 390px; the final strip is the visual-inspection-driven repair. This PR remains Draft while stacked parent #1578 is Proposed.

@seonghobae seonghobae added bug Something isn't working priority: medium Normal-priority or P2 work labels Sep 8, 2026 — with ChatGPT Codex Connector
…r-facing-copy' into codex/localize-skip-link
@seonghobae

Copy link
Copy Markdown
Contributor Author

Non-force restack receipt: merged parent #1578 head 34fc2c83 into this branch with an ordinary merge commit. Current exact head 45c5417ded5f00b50106921d61807f5156b1c0fa retains the localized skip-link delta. Focused DashboardLayout verification on this combined tree passed 5/5. The prior production-build visual receipt remains source-equivalent for the skip-link files; this comment does not claim fresh hosted checks or parent merge readiness.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review exact head 9b50391133c94f9472b84dabd3f84714e5492c3d only. This ordinary two-parent restack adopts repaired #1578 f6648f8e... and preserves the two-file skip-link accessibility delta while inheriting the parent's restored governance boundary. Verify the child remains exactly two DashboardLayout files relative to #1578 and that keyboard/focus semantics did not regress. Do not transfer predecessor review state.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

requested_head='9b50391133c94f9472b84dabd3f84714e5492c3d'
expected_parent_prefix='f6648f8e'

echo '== Checked-out commit =='
git rev-parse HEAD
git status --short
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$requested_head"

echo
echo '== Locate the full expected parent commit =='
git rev-parse "${expected_parent_prefix}^{commit}" || true

echo
echo '== Parent graph and merge-base =='
git show -s --format='%P' "$requested_head"
git merge-base "$requested_head" "${expected_parent_prefix}^{commit}"

echo
echo '== Files changed from `#1578` parent to requested head =='
git diff --name-status "${expected_parent_prefix}^{commit}" "$requested_head"
git diff --stat "${expected_parent_prefix}^{commit}" "$requested_head"

echo
echo '== Exact product diff =='
git diff --find-renames --find-copies --unified=80 \
  "${expected_parent_prefix}^{commit}" "$requested_head" -- \
  frontend/src/components/DashboardLayout.tsx \
  frontend/src/components/DashboardLayout.test.tsx

echo
echo '== Component and test outlines =='
ast-grep outline frontend/src/components/DashboardLayout.tsx --items all --view expanded
ast-grep outline frontend/src/components/DashboardLayout.test.tsx --items all --view expanded

echo
echo '== Skip-link-related source and test context =='
rg -n -C 12 --glob 'DashboardLayout.tsx' --glob 'DashboardLayout.test.tsx' \
  '본문 바로가기|Skip to main content|skip|focus:|tabIndex|<main|id=' \
  frontend/src/components

echo
echo '== Existing DashboardLayout test commands =='
rg -n -C 4 --glob 'package.json' --glob 'vitest.config.*' --glob 'vite.config.*' \
  'DashboardLayout|test|vitest' .

Length of output: 51175


@seonghobae Reviewed exact head 9b50391133c94f9472b84dabd3f84714e5492c3d only.

I found no blocking issue.

  • The commit is an ordinary two-parent merge. Its second parent is #1578 head f6648f8e63d1e00cc08502c0f60b5f1d64ad0252.
  • The merge-base is that same #1578 commit.
  • The child diff relative to #1578 changes exactly two files:
    • frontend/src/components/DashboardLayout.tsx
    • frontend/src/components/DashboardLayout.test.tsx
  • No governance file is present in the child diff.
  • The skip link remains an anchor that targets main#main-content.
  • The link remains before the workspace header in source order. Keyboard users can reach it before header controls.
  • The focused state still reveals the link and retains its visible focus ring.
  • The new focus:right-4 and focus:text-center classes create the intended full-width, centered focused strip.
  • The component test now checks the Korean label and both focused-strip classes.

I did not execute tests or browser checks in this sandbox. This review does not transfer predecessor verification state. Current-head hosted checks and required independent review remain necessary before merge.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Preserve the two-file skip-link accessibility delta while ordinary-adopting #15784987aad and the canonical #1623 frontend security ancestry. No force update or child delta loss.
seonghobae added a commit that referenced this pull request Sep 9, 2026
Preserve the two-file constrained-navigation repair while ordinary-adopting #16012515021 and the canonical #1623 frontend security ancestry. No force update or child delta loss.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review exact head 251502101b15c328f53882d9b8e73fd3c3b7ba50 after the ordinary restack onto #1578@4987aad4.... The effective child delta remains exactly the two skip-link files; do not transfer predecessor approval.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='251502101b15c328f53882d9b8e73fd3c3b7ba50'
base='4987aad475b3cf3a50b1512e5515695f8ac16cfe'

echo '== Exact commit and repository state =='
git rev-parse HEAD
git status --short
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
git rev-parse "${base}^{commit}"

echo
echo '== Parent and merge-base validation =='
git merge-base "$head" "$base"
git merge-base --is-ancestor "$base" "$head" && echo 'base-is-ancestor=yes'

echo
echo '== Effective delta paths =='
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"

echo
echo '== Effective delta =='
git diff --find-renames --find-copies --unified=80 "$base" "$head" -- \
  frontend/src/components/DashboardLayout.tsx \
  frontend/src/components/DashboardLayout.test.tsx

echo
echo '== Component and test structure =='
ast-grep outline frontend/src/components/DashboardLayout.tsx --items all --view expanded
ast-grep outline frontend/src/components/DashboardLayout.test.tsx --items all --view expanded

echo
echo '== Skip-link and main-target context =='
rg -n -C 16 --glob 'DashboardLayout.tsx' --glob 'DashboardLayout.test.tsx' \
  '본문 바로가기|Skip to main content|href=|<main|main-content|focus:|sr-only|tabIndex' \
  frontend/src/components

echo
echo '== Related layout implementation context =='
sed -n '1,260p' frontend/src/components/DashboardLayout.tsx
sed -n '1,320p' frontend/src/components/DashboardLayout.test.tsx

Length of output: 99158


@seonghobae Reviewed exact head 251502101b15c328f53882d9b8e73fd3c3b7ba50 only.

I found no blocking issue in the effective child delta.

  • The commit is an ordinary two-parent merge.
  • Its second parent is #1578 head 4987aad475b3cf3a50b1512e5515695f8ac16cfe.
  • The merge base is that same #1578 commit.
  • The effective diff changes exactly two files:
    • frontend/src/components/DashboardLayout.tsx
    • frontend/src/components/DashboardLayout.test.tsx
  • The skip link remains before the workspace header in source order.
  • The link still targets main#main-content.
  • The focused link retains visible focus styling.
  • The link label is now 본문 바로가기.
  • focus:left-4 with focus:right-4 and focus:text-center creates the intended centered focused strip.
  • The component test verifies the localized label and the two new focused-strip classes.

I did not run repository tests or browser checks in this sandbox. This review does not transfer predecessor approval or verification state. Current-head hosted checks, independent review, and visual evidence remain required before merge.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

seonghobae added a commit that referenced this pull request Sep 9, 2026
Preserve the existing two-file constrained-navigation repair while ordinary-adopting current #1601996e563 and its #1578/#1570 project-folder contract ancestry. No force update or UI delta loss.
Preserve the skip-link two-file delta as first-parent history while adopting #1578's current parent chain, including the frontend security regression repair and restored release-note ownership.

Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae added a commit that referenced this pull request Sep 9, 2026
Preserve the constrained-navigation two-file delta as first-parent history while adopting #1601's current parent chain, including the security regression repair and restored release-note ownership.

Signed-off-by: Seongho Bae <me@seonghobae.me>
Preserve #1601's two-file localized skip-link delta while adopting #15781933963 as the current parent.

Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae added a commit that referenced this pull request Sep 10, 2026
Preserve #1608's two-file constrained-navigation delta while adopting #1601f9cbc82 as the current parent.

Signed-off-by: Seongho Bae <me@seonghobae.me>

Copy link
Copy Markdown
Contributor Author

@codex review

Review only exact head f9cbc828ce481f259c940d809ddb7fc573ea66d5 against current base 1933963d1ed0a5f2d36e8be4238aa73a52982cb3. The owned delta is exactly DashboardLayout.tsx and DashboardLayout.test.tsx for the localized workspace skip link. Verify accessible naming/focus behavior and that the ordinary restack did not pull ancestor-owned source into this PR.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

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

Labels

bug Something isn't working priority: medium Normal-priority or P2 work type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant