Repository navigation
fix(a11y): remove redundant aria-disabled from native disabled buttons - #1676
seonghobae wants to merge 28 commits into
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe account save and runner token rotate buttons remove ChangesSettings Button Attributes
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The button state behavior remains intact while redundant ARIA attributes are removed; no actionable implementation risk remains. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review Please review exact head |
|
@coderabbitai review Please review exact head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
head="9f62a217d0c7e45ee4881c0e37f729e82530ac82"
base="042b0c70531b229af3acbd0421a2f23098d848b3"
echo "== Exact head =="
git rev-parse HEAD
git cat-file -t "$head"
echo "== Effective changed files =="
git diff --name-status "$base" "$head"
echo "== Diff stat =="
git diff --stat "$base" "$head"
echo "== Verify .jules/palette.md is unchanged, if tracked =="
if git cat-file -e "$base:.jules/palette.md" 2>/dev/null && git cat-file -e "$head:.jules/palette.md" 2>/dev/null; then
printf 'base blob: '; git rev-parse "$base:.jules/palette.md"
printf 'head blob: '; git rev-parse "$head:.jules/palette.md"
else
echo "palette.md is absent from one or both revisions"
fi
echo "== Locate SettingsLayout files =="
fd -t f '^SettingsLayout.*\.(tsx|ts|jsx|js)$' .
echo "== Component/test diff =="
git diff --find-renames --find-copies --unified=80 "$base" "$head" -- \
':!*.lock' | sed -n '1,520p'
echo "== SettingsLayout outline =="
settings_file="$(fd -t f '^SettingsLayout\.tsx$' . | head -n 1)"
if [ -n "$settings_file" ]; then
ast-grep outline "$settings_file" --items all --view expanded || true
echo "== Native button state attributes in SettingsLayout.tsx =="
rg -n -C 8 '<button\b|disabled=|aria-disabled|aria-busy' "$settings_file"
fi
echo "== Focused regression contents =="
test_file="$(fd -t f '^SettingsLayout\.native-disabled\.test\.(ts|tsx|js|jsx)$' . | head -n 1)"
if [ -n "$test_file" ]; then
cat -n "$test_file"
else
echo "Focused regression file not found"
fi
echo "== All aria-disabled assignments on native buttons =="
ast-grep run --lang tsx --pattern '<button $$$ aria-disabled={$VALUE} $$$>$$$</button>' . || trueLength of output: 50872
Fresh exact-head CI, security, Docker, CodeQL, and independent-review evidence are still required before this draft PR becomes Ready. ✅ Action performedReview finished.
|
|
@coderabbitai full review Please review exact head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
head="469ba14f5628dd34afc0fbeaeb6bbdd747439e51"
echo "== Requested commit and checkout =="
git cat-file -t "$head"
printf 'checkout: '; git rev-parse HEAD
printf 'requested: '; git rev-parse "$head"
echo "== Pull request metadata =="
gh pr view 1676 --repo ContextualWisdomLab/naruon --json number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeCommit,reviews,statusCheckRollup,url
echo "== Effective merge base and changed files =="
base="$(git merge-base "$head" "origin/develop" 2>/dev/null || git merge-base "$head" develop)"
printf 'merge-base: %s\n' "$base"
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"
echo "== Effective diff =="
git diff --find-renames --find-copies --unified=100 "$base" "$head" -- \
frontend/src/components/SettingsLayout.tsx \
frontend/src/components/SettingsLayout.native-disabled.test.ts
echo "== Component outline =="
ast-grep outline frontend/src/components/SettingsLayout.tsx --items all --view expanded
echo "== Target button contexts at requested commit =="
git show "$head:frontend/src/components/SettingsLayout.tsx" |
rg -n -C 12 '<button\b|accountSaving|accountReady|runnerRotating|aria-busy|aria-disabled'
echo "== Focused test at requested commit =="
git show "$head:frontend/src/components/SettingsLayout.native-disabled.test.ts" | cat -n
echo "== Related ARIA guidance changed in effective range =="
git diff --name-status "$base" "$head" | rg -n -i 'aria|palette|accessib' || true
echo "== Native button aria-disabled occurrences in requested tree =="
git grep -n -E '<button[^>]*aria-disabled|aria-disabled[^>]*>' "$head" -- ':(glob)**/*.{tsx,jsx,html}' || true
echo "== Exact-head commit status =="
gh api "repos/ContextualWisdomLab/naruon/commits/$head/status"
gh api "repos/ContextualWisdomLab/naruon/commits/$head/check-runs?per_page=100"Length of output: 169884
I did not use predecessor approvals or checks. Fresh validation is incomplete for this head. Application CI, Docker validation, CodeQL, and security checks are queued or in progress. The Devin status is successful, but its message states that the independent review was skipped because no credits remain. Obtain a completed independent review before marking the draft ready.
|
요청하신 대로 |
|
@coderabbitai review Please review the current exact integration only: base Effective scope is exactly two files:
Verify that the two native disabled Settings buttons rely on native |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/naruon"
pr="1676"
base="509be4c1d9b6c7ba239a108656e2382681a85341"
head="bebc2ed8708977fa662c1b60b42c3415adae4bf2"
echo "== Exact integration objects =="
git cat-file -t "$base"
git cat-file -t "$head"
printf 'checkout: '; git rev-parse HEAD
printf 'base: '; git rev-parse "$base"
printf 'head: '; git rev-parse "$head"
printf 'base tree: '; git rev-parse "$base^{tree}"
printf 'head tree: '; git rev-parse "$head^{tree}"
echo "== Current PR metadata =="
gh pr view "$pr" --repo "$repo" --json number,state,isDraft,baseRefOid,headRefOid,url,statusCheckRollup,reviews
echo "== Exact integration changed paths and stats =="
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"
echo "== Exact integration diff =="
git diff --find-renames --find-copies --unified=100 "$base" "$head" -- \
frontend/src/components/SettingsLayout.tsx \
frontend/src/components/SettingsLayout.native-disabled.test.tsx
echo "== Confirm no other paths changed =="
git diff --name-only "$base" "$head" | awk '
$0 != "frontend/src/components/SettingsLayout.tsx" &&
$0 != "frontend/src/components/SettingsLayout.native-disabled.test.tsx" { print }'
echo "== Component structure =="
ast-grep outline frontend/src/components/SettingsLayout.tsx --items all --view expanded
echo "== Target native-button contexts at exact head =="
git show "$head:frontend/src/components/SettingsLayout.tsx" |
rg -n -C 14 '<button\b|accountSaving|accountReady|runnerRotating|aria-busy|aria-disabled'
echo "== Focused regression at exact head =="
git show "$head:frontend/src/components/SettingsLayout.native-disabled.test.tsx" | cat -n
echo "== aria-disabled in target component =="
git show "$head:frontend/src/components/SettingsLayout.tsx" |
rg -n -C 3 'aria-disabled' || true
echo "== Exact-head check runs =="
gh api "repos/$repo/commits/$head/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url,output:{title:.output.title,summary:.output.summary}}'
echo "== Exact-head legacy status contexts =="
gh api "repos/$repo/commits/$head/status" \
--jq '{state, statuses:[.statuses[] | {context,state,description,target_url,updated_at}]}'Length of output: 84859
The exact delta changes only these files:
The account-save button retains:
The runner-token-rotate button retains:
Both target native buttons omit The regression test checks each target opening Current-head gate result: incomplete. All Application CI, Docker, CodeQL, SAST, security, and required review workflows were queued at inspection time. You are interacting with an AI system. |
Current exact head |
|
@coderabbitai review Please review the unchanged current integration exactly as |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/naruon"
pr="1676"
base="509be4c1d9b6c7ba239a108656e2382681a85341"
head="1c8701e20984b54c13aeded2e975af3317a3b369"
echo "== Exact integration objects =="
git cat-file -t "$base"
git cat-file -t "$head"
printf 'checkout: '; git rev-parse HEAD
printf 'base: '; git rev-parse "$base"
printf 'head: '; git rev-parse "$head"
printf 'base tree: '; git rev-parse "$base^{tree}"
printf 'head tree: '; git rev-parse "$head^{tree}"
echo "== PR metadata =="
gh pr view "$pr" --repo "$repo" --json number,state,isDraft,baseRefOid,headRefOid,url,statusCheckRollup,reviews
echo "== Exact integration paths and diff stat =="
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"
echo "== Unexpected paths =="
git diff --name-only "$base" "$head" | awk '
$0 != "frontend/src/components/SettingsLayout.tsx" &&
$0 != "frontend/src/components/SettingsLayout.native-disabled.test.tsx" &&
$0 != "docs/doctoring/settings-native-disabled-accessibility.md" { print }'
echo "== Exact integration diff =="
git diff --find-renames --find-copies --unified=100 "$base" "$head" -- \
frontend/src/components/SettingsLayout.tsx \
frontend/src/components/SettingsLayout.native-disabled.test.tsx \
docs/doctoring/settings-native-disabled-accessibility.md
echo "== Component structure =="
ast-grep outline frontend/src/components/SettingsLayout.tsx --items all --view expanded
echo "== Target native-button contexts at head =="
git show "$head:frontend/src/components/SettingsLayout.tsx" |
rg -n -C 14 '<button\b|accountSaving|accountReady|runnerRotating|aria-busy|aria-disabled'
echo "== Focused regression at head =="
git show "$head:frontend/src/components/SettingsLayout.native-disabled.test.tsx" | cat -n
echo "== Doctoring document at head =="
git show "$head:docs/doctoring/settings-native-disabled-accessibility.md" | cat -n
echo "== Head check runs =="
gh api "repos/$repo/commits/$head/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url,output:{title:.output.title,summary:.output.summary}}'
echo "== Head legacy statuses =="
gh api "repos/$repo/commits/$head/status" \
--jq '{state,statuses:[.statuses[] | {context,state,description,target_url,updated_at}]}'"Length of output: 76667 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/naruon"
pr="1676"
head="1c8701e20984b54c13aeded2e975af3317a3b369"
echo "== Exact-head check runs =="
gh api "repos/$repo/commits/$head/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url,output:{title:.output.title,summary:.output.summary}}'
echo "== Exact-head legacy statuses =="
gh api "repos/$repo/commits/$head/status" \
--jq '{state,statuses:[.statuses[] | {context,state,description,target_url,updated_at}]}'
echo "== PR review state =="
gh pr view "$pr" --repo "$repo" --json isDraft,headRefOid,reviews \
--jq '{isDraft,headRefOid,reviews:[.reviews[] | {author:.author.login,state,submittedAt,commit:.commit.oid}]}'"Length of output: 1664
The integration changes only the three requested files.
Current-head gate: incomplete. The available I did not modify the branch. To submit a formal GitHub approval after the required gates complete, post the explicit top-level command: You are interacting with an AI system. |
Current exact head |
|
@coderabbitai review Please review the exact current integration |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/naruon"
pr="1676"
base="509be4c1d9b6c7ba239a108656e2382681a85341"
head="1c8701e20984b54c13aeded2e975af3317a3b369"
echo "== Exact objects and current PR state =="
git cat-file -t "$base"
git cat-file -t "$head"
printf 'checkout: '; git rev-parse HEAD
printf 'base: '; git rev-parse "$base"
printf 'head: '; git rev-parse "$head"
gh pr view "$pr" --repo "$repo" \
--json number,state,isDraft,baseRefOid,headRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,reviews,url
echo "== Complete exact-integration path set =="
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"
echo "Unexpected paths:"
git diff --name-only "$base" "$head" | awk '
$0 != "frontend/src/components/SettingsLayout.tsx" &&
$0 != "frontend/src/components/SettingsLayout.native-disabled.test.tsx" &&
$0 != "docs/doctoring/settings-native-disabled-accessibility.md" { print }'
echo "== Exact integration diff =="
git diff --find-renames --find-copies --unified=120 "$base" "$head" -- \
frontend/src/components/SettingsLayout.tsx \
frontend/src/components/SettingsLayout.native-disabled.test.tsx \
docs/doctoring/settings-native-disabled-accessibility.md
echo "== SettingsLayout structural map =="
ast-grep outline frontend/src/components/SettingsLayout.tsx --items all --view expanded
echo "== Target button contexts at exact head =="
git show "$head:frontend/src/components/SettingsLayout.tsx" |
rg -n -C 16 '<button\b|accountSaving|accountReady|runnerRotating|aria-busy|aria-disabled'
echo "== Focused regression at exact head =="
git show "$head:frontend/src/components/SettingsLayout.native-disabled.test.tsx" | cat -n
echo "== Doctoring document at exact head =="
git show "$head:docs/doctoring/settings-native-disabled-accessibility.md" | cat -n
echo "== Exact-head checks =="
gh api "repos/$repo/commits/$head/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url,output:{title:.output.title,summary:.output.summary}}'
echo "== Exact-head legacy statuses =="
gh api "repos/$repo/commits/$head/status" \
--jq '{state,statuses:[.statuses[] | {context,state,description,target_url,updated_at}]}'"Length of output: 83131
The integration changes only the three allowed files.
I cannot submit a formal Pull request Please request a review for the current exact base and head. You are interacting with an AI system. |
Current exact head |
Current authority — 2026-09-24 KST
509be4c1d9b6c7ba239a108656e2382681a853411c8701e20984b54c13aeded2e975af3317a3b3698a3ac51662fbe8e49f26a317ac0afe85f853c9ac44359ea501bbe94e8a82aa1deb8e34e4b2c514b2This lane owns one bounded accessibility correction: native disabled Settings buttons use HTML
disabledas the inoperable-state authority, retainaria-busyfor independent async state, and omit redundantaria-disabled.Effective product delta against #1623 remains exactly:
frontend/src/components/SettingsLayout.tsxfrontend/src/components/SettingsLayout.native-disabled.test.tsxdocs/doctoring/settings-native-disabled-accessibility.mdThe doctoring record traces the decision to current WHATWG HTML disabled-control semantics, W3C ARIA-in-HTML guidance and WAI-ARIA 1.3. The focused regression locks both owned button contracts but is not treated as real-browser accessibility evidence. The scope is intentionally narrow:
aria-disabledwithout nativedisabledremains valid when a control is deliberately kept discoverable/focusable and activation is separately suppressed; this is not a repository-wide ban.Source-neutral descendant audit
The causal source/doctoring tree is still the tree introduced by
1c8701e.... Two later ordinary descendants ending at8a3ac516...have no file delta relative to that causal head. They remain ancestry because destructive rewrite is prohibited, but they are not product progress and do not refresh acceptance evidence. Do not create another source-neutral wake commit.Generated duplicate succession
Generated duplicates are ordinary/non-force aligned or semantically superseded by this owner:
262c9bb7d44209f9ada967f4f0e9039951e3b6a1— ahead 8 / behind 0 / zero files over current fix(a11y): remove redundant aria-disabled from native disabled buttons #1676;c8edfef461e92538e4b74202da8594397e08645a— zero effective product delta over current fix(a11y): remove redundant aria-disabled from native disabled buttons #1676;e50d25580a3fa840b14855661e215a3368d8a73d— generated commit retained as provenance and canonical owner tree adopted;f545159452d466afaeb5dfbc9aab0be4f86fcd88— same two production removals, while this owner already carries the focused regression and standards-traced doctoring. 🎨 Palette: [UX improvement] Remove redundant aria-disabled attributes #1768's only unique.jules/palette.mdwording was over-broad and had a valid CodeRabbitCHANGES_REQUESTEDfinding because it omitted the focusable/discoverablearia-disabledexception. That flawed guidance is intentionally not inherited.#1768 diverged from this owner rather than becoming its descendant, so closure transfers ownership only, never checks/reviews/evidence. No generated workflow or review receipt transfers to this product owner or #1623.
Do not recreate the same Settings change, add another source-neutral wake commit, transfer predecessor checks/reviews, duplicate #1623 dependency work, self-approve, force-push, destructively rebase, synthesize status or weaken gates.
UI Delivery Gate
UI Delivery Gate: FAIL. Keep Draft.